セキュリティキャンプ2025全国大会 開発L2応募課題
セキュリティキャンプ2025全国大会 開発L2【高位言語から物理レイアウトまで半導体設計ワークフローを経験して MyLSI を発注しよう!ゼミ】に採択されたので、応募課題を公開します。今年から作られたコースなので、ぜひ次年度からの応募を考える方の参考になれば幸いです。
問1 近年、専用のハードウェア(半導体・LSI)を製造することが注目されていますが、その意義と今後の動向に関して記述ください。尚、参考にしたURLは必ず明示ください。
- 背景
MOSFETの大きさを1/k(k:スケーリング係数)にすると、MOSFET1個あたりの消費電力は1/k^2に低下するというデナードのスケーリング則に基づく半導体の微細化は近年のIT技術の基盤を担った。しかし、電子の波動関数すなわち存在確率が確率的にポテンシャルの障壁を超えて伝播するトンネル効果の影響が顕著に現れるサイズまで半導体が小規模化したことで限界を迎えつつある。[2]また、アムダールの法則は並列処理の限界を示唆している。どれだけコア数を上げても、並列化できない処理に最小実行時間は依存する。そこで、GPUやCPUのような汎用性の高いアーキテクチャではなく、特定の処理に特化することで性能を向上させる専用プロセッサの需要が増している。
飛躍的発展を遂げた計算基盤の恩恵を受けた機械学習は、ロボット、組み込みシステム、無人航空機、自動運転、ローカルLLMと実世界への適用が着々と進行している。そのような各場面で十分かつ適度な性能を有する半導体が求められる。特にスパース性を利用した行列計算に特化したアーキテクチャはtransformer, CNN, GNNなどの機械学習タスクに共通しており、一定の汎用性を保ちつつ性能を向上させることができるため実用的である。
以下に、半導体製造に関する今後の展望を「環境」、「柔軟な設計ツールとオープンソース開発による分野の多様化」「半導体デザインへの機械学習の応用」の三点に絞り、述べた。
-
環境
将来的に自動運転技術に使われる計算資源は、現在データセンターで使用される総量を超えるとされている。また、近年の研究では、クラウドベースに比べて計算効率の低いエッジデバイスにおける機械学習の処理はさらなる二酸化炭素の排出をもたらすと示唆されている。[3]こうした中、環境に配慮したハードウェア設計が強く求められている。
また、リサイクルのためライフスパンが長く、目的を再定義可能なチップが理想的であるが、それは用途を絞ることで性能を高める専用プロセッサの理念に反する。 Chiplet技術の発展はこれを解決する。集積回路を構成する素子を分解・再利用可能にすることで、無駄な廃棄を防ぐ。この点に関して、FPGAは再利用性を高く保ちつつ特定のタスクに特化させることができるため比較的環境に優しいと言える。
半導体の設計から廃棄までのステップを包括的に考慮するLife Cycle Assesment (LCA)と呼ばれる取り組みは環境に与える影響を数値的に解析する。原材料の選定から作業工程の効率、再利用の方法まで、LCAの視点から最適化する必要がある
一般的に生物の脳はエネルギー効率が高いとされており、その構造にインスパイアされた省電力の脳型アーキテクチャは幅広く研究がなされている。ニューロモフィックコンピューティングはシナプスに相当する重みを回路上のアナログ情報として保持する。メモリに重みを記憶させる必要がないため、エネルギー効率がよくエッジの処理に向いているとされている。しかし現在の機械学習モデルはパラメータ数が非常に多く、それぞれの重みに対応するメモリスタを回路上に実装することは困難を極める。従って、モデルの小規模化、特徴量の選択などの忘却に相当する機能が求められる。例えば、Neural Attention Memory ModelsはAttentionに基づいて入力を必要最低限に絞ることで高速な学習、推論を実現している。[5]オッカムの剃刀の原理に即した、雑多な情報の中から必要な情報を抽出する仕組みは半導体内部でなされるべきだと考える。そうすることで環境への負荷を抑えると共に、エッジデバイスの可能性を拡大する。 -
柔軟な設計ツールとオープンソース開発による分野の多様化
コンパイルフレームワークや高位合成技術の分野は需要が増加している。特定の分野における専門家が高度なアルゴリズムと低レイヤーのギャップを埋める直感的なドメイン固有言語やGUIなどのインターフェースは、多様な専門家の参入による分野の発展に寄与する。加えて、安全な自律システムの構築のためには低レイヤーで完結する経験的な開発では不十分であり、論理的に間違いがないことの数学的な保証が必要性となる場合がある。物理法則を考慮した、統合システム全体をエンドトゥーエンドでモデリングするシミュレーション環境が必要とされる。
加えてデータセットやベンチマークのオープンソース化が求められる。コスト、エネルギー効率、ドメインパフォーマンスを正確に評価する、広く受け入れられる標準的なベンチマークの整備が必要である。 -
半導体デザインへの機械学習の応用
稼働率の高さと探索可能なデザイン空間の広さから半導体の設計そのものに機械学習を用いる試みがなされている。例えば、Googleによる強化学習ベースの半導体設計手法は、実際TPUの設計に使用されている。[9]
一方で強化学習の報酬に配線の長さや複雑さといった単純な指標が使われていることや、比較対象として挙げられた焼きなまし法のハイパーパラメータを最適化することでより良い結果が得られたことなどが批判として挙げられている。[10]
強化学習は運動感覚や感性といった高度に抽象化された機能を代替する分野において優れた性能を発揮している。例えば四脚ロボットの歩行は近年強化学習を用いた手法が主流となった。一方で報酬のスコアが厳密に定義される場合、教師あり学習や焼きなまし法の方が正確な解を得られる。本タスクにおいて、半導体の性能を示す報酬は計算効率、電力損失など厳密に定義することができるため、焼きなまし法が適していることは理にかなっている。教師あり学習で半導体素子の配置と報酬の関係性を学習させた後、別のモデルで報酬を最大化するような手法も考えられるが、十分な探索を行うには計算コストが高いだろう。
しかし、Googleの原論文で挙げられているように、強化学習ベースの手法は方策もしくは事前学習モデルを再利用し、ファインチューニングできるという点で焼きなまし法よりも優れている。新しいタスクに対して焼きなまし法は0から最適化を始める必要があるが、強化学習においては事前学習されたモデルを用いて追加学習の回数を削減できる。強化学習におけるさらなる発展を鑑みると、現段階では劣る焼きなまし法を凌駕する可能性は十分に考えられる。加えて、報酬の多様化や複雑な条件にも柔軟に対応できる強化学習は専用プロセッサが発展する現代においてより幅広い半導体設計のツールを提供するポテンシャルを秘めている。
強化学習そのものは単純な行列計算にはとどまらないためFPGAがGPUの計算効率を上回ったという研究もあるため、半導体設計をする強化学習アルゴリズムを動かす半導体の最適構造も探索していくべきであろう。[11]
- 参考文献 -
[1]https://arxiv.org/html/2407.17311v1
[2]https://www.youtube.com/watch?v=_yjZi83SBZI
[3]https://dl.acm.org/doi/10.1145/3624719
[4]https://www.nitindermohan.com/documents/2024/pubs/edgeaiInternetComputing2024.pdf
[5]https://sakana.ai/namm/
[6]https://arxiv.org/abs/2312.06141
[7]https://www.tada.sd.keio.ac.jp/research/
[8]https://nano-lsi.iis.u-tokyo.ac.jp/en/research/
[9]https://research.google/blog/chip-design-with-deep-reinforcement-learning/
[10]https://arxiv.org/html/2306.09633v8
[11]https://ieeexplore.ieee.org/stamp/stamp.jsp?tp=&arnumber=9694573
問2 専用のハードウェア(半導体・LSI)と汎用プロセッサーを同時に動作させる際の技術的な課題に関して、記述ください。尚、参考にしたURLは必ず明示ください。
-
インターフェース設計の難易度
専用ハードウェアはユーザーの使用効率を最現化するインターフェースを必要とする。汎用プロセッサーと並列に動作させる場合、両者が要求するデータ形式や制御プロトコルが異なるため、ミドルウェアやファームウェア層での変換・制御ロジック設計が不可欠である。この層が不十分であれば、専用ハードウェアの高性能性を十分に引き出せず、システム全体の効率低下を招く可能性がある。したがって、専用ロジックと汎用CPU間の通信プロトコルやバッファリング戦略を明確に定義し、両者間のデータフローを最適化する必要がある。 -
リソース共有に伴うスケジューリング複雑化
専用ハードウェアと汎用プロセッサーが共通のリソース(メモリ帯域、バス、割り込みシステムなど)を競合するため、システムスケジューリングおよびリソース分配が高度に複雑化する。特に組み込み機器やエッジデバイスでは、電力予算や発熱制限が厳しい中で複数の演算資源を効率的に振り分ける必要がある。優先度制御やレイテンシ要件を考慮したスケジューリングアルゴリズムを設計しなければ、リアルタイム性が損なわれたり、予期しない遅延が発生したりする。電力管理やクロック制御とも密接に関連するため、専用回路とCPU間の協調を担保する実装が求められる。 -
システム全体への影響評価の困難性
専用ハードウェアを導入する場合、システム全体のトレードオフを評価する必要がある。たとえば無人機(UAV)においては、処理パフォーマンスを最適化するために「計算レート」と「センサーからのデータ取得レート」を一致させる必要がある。過剰な計算リソースを積載すると機体重量が増加し、消費電力が増大することで飛行時間が短縮されるリスクがある。機体重量、バッテリー、センサーおよびアクチュエータを統合的に評価しなければ、専用ハードウェアを導入しただけではシステム全体の性能向上には繋がらない。 -
データマーシャリングおよびネットワークI/O転送コスト(AI TAX)
計算時間の観点から、ユーザーデータのマーシャリング(整形・変換)やネットワークを通じたI/O転送(データ送受信)といった処理コストが無視できない問題を抱える。クラウド側で専用ハードウェアを動作させる場合、生センサーデータをパケット化・変換した後にネットワーク経由で送信するオーバーヘッドが、エッジ上での推論よりも大きくなるケースが多い。この現象は「AI TAX」として知られており、理論上のハードウェア最適化を実装しても、システム全体のオーバーヘッドを考慮しなければ実際のパフォーマンス改善には至らない。 -
システム全体をシミュレートする環境の必要性
前述の複雑性に対処するため、システム全体をシミュレートする環境を整備することが有効である。具体的な例として、MAVBench、RoSÉ、ILLIXRなどのシミュレーション環境が挙げられる。シミュレーション環境を活用することで、専用ハードウェアと汎用プロセッサーが共存するシステム全体の挙動を定量的に把握でき、重量・消費電力・レイテンシといった多次元的要件を満たす最適構成を迅速かつ低コストで導き出せるようになる。
問3 否定ロジック回路の動作(NOT)をトランジスターレベルの回路で動作説明してください。尚、参考にしたURLは必ず明示ください。
- NMOS論理インバータ
NチャネルMOSFETが中心的な入力電圧に対するスイッチングの役割を果たす。MOSFETは金属酸化膜半導体電界効果トランジスタ(Metal Oxide Semiconductor Field Effect Transistor)の頭文字を取ったもので、FETは電流駆動型のバイポーラートランジスタとは異なり電圧駆動型のトランジスタである。MOSFETはN型半導体とP型半導体を組み合わせて作られるが、その構造によってNチャネルMOSFETとPチャネルMOSFETを作り分けることができる。[2]
NチャネルMOSFETでは入力電圧が与えられるゲートGとグランド側のソースS間の電圧V_GSが閾値電圧V_Tを超えるとゲート直下のP型半導体がN型に反転し、チャネルが導通する。チャネルはP型半導体内の少数キャリアや周囲のN型半導体内の電子がゲートの電圧に引き寄せられることで生じる。ソースSはグランド、インバータの場合ドレインDは電源電圧V_DDに接続されているため、高電圧のDからSにかけて電流が流れる。この際、半導体接面に絶縁体を有するためゲートGからは電流が流れない。NMOS論理インバータの出力はV_DDとNチャネルMOSFETのドレインD間に存在する。よってV_GSがV_Tを超えた時、V_DDはチャネルを介して直接グランドに通ずるため、出力側に電流は流れない。尚、抵抗がなければオームの法則より電流が極めて大きくなってしまうため、V_DD出力端子間に適切な抵抗が必要である。
一方で電圧V_GSが閾値電圧V_Tを超えない時、チャネルが開通しない。V_DDからグランドへの電位差は逆バイアスとして働く。よってN型半導体からP型半導体へ電流は流れず、V_DDの電圧はそのままNMOS論理インバータの出力電圧となる。[3]
-
逆バイアス
そもそもN型半導体はシリコン (Si)などのIV族の真性半導体にV族のリン (P) やヒ素 (As)、アンチモン (Sb) を不純物として添加したものである。価電子を5個持つV族を混ぜることで自由電子が半導体内に存在することになる。一方P型半導体は、シリコン (Si) などのIV族の真性半導体にIII族のホウ素 (B) やインジウム (In) を不純物として添加したものである。III族は3価の元素であるため、V族とIII族の結合間に正孔と呼ばれる欠損が生じる。[4]よってエネルギーバンド上ではN型半導体は伝導帯に電子を多く有し、P型半導体は価電子帯に正孔を多く有する。この際、キャリア密度は状態密度関数と分布関数の積によって求められる。PN接合をすることで、フェルミ準位が一致する。しかし、各半導体内で電子と正孔の偏りにほとんど変化はないため、P型半導体のエネルギーが相対的に高くなる。
NチャネルMOSFETにおいて電圧V_GSが閾値電圧V_Tを超えない時、N型半導体側にV_DD由来の高電圧、P型半導体側にグランド由来の低電圧がかかる。電子について考えると、高電位は低ポテンシャルであるため、PN間のエネルギーギャップは拡大する。これが逆バイアスとして働く。[5] -
PMOS論理インバータ
NチャネルMOSFETのPとNが反転したPチャネルMOSFETがスイッチングの役割を果たす。従ってソースSとドレインDの上下の位置関係はNチャネルMOSFETの場合と逆転する。そして出力端子はMOSFETとV_DDの間ではなく、D側、すなわちグランドとの間に与えられる。入力電圧が低い時、SはV_DDに面しているためN型半導体にPチャネルが通じ、S側のN半導体が高電圧になる。結果としてSからDへ、すなわちV_DDから出力端子へ電流が流れる。そのため出力端子グランド間に抵抗が必要である。一方、入力電圧が高い時、GS間で電位差は生じず、チャネルは通じない。よって出力端子へ電流は流れない。 -
CMOS論理インバータ
NチャネルMOSFETとPチャネルMOSFETを組み合わせて作られる。入力電圧を双方に与え並列に並べる。PチャネルMOSFETのソースをV_DD、NチャネルMOSFETのソースをグランドに繋ぐ。互いのドレインはまとめて一つの出力とする。こうすることで、入力電圧が高い時、PチャネルMOSFETはOFF、NチャネルMOSFETはONになる。V_DDから出力端子へは繋がっていないため、出力電圧は0Vになる。一方入力電圧が低い時、PチャネルMOSFETはON、NチャネルMOSFETはOFFになる。V_DDから出力端子へPチャネルMOSFETを介して繋がっているため出力電圧は高くなる。以上よりインバータの機能が実現される。
CMOS論理インバータはグランドもしくはV_DDと、出力端子間の電位差が0になるため、電流が流れない。これは、ON時にV_DDからグランドへ電流が流れるNMOS, PMOS論理インバータと比較すると極めてエネルギー効率が高い。[7]しかし、CMOS論理インバータでも入力信号の切り替わり時に生じるPMOS, NMOS両方がON状態になる時に生じるショートサーキット電力、リーク電力、負荷容量を充放電した際に消費するスイッチング電力を消費する。[9]
- 参考文献
[1]https://en.wikipedia.org/wiki/Inverter_(logic_gate)
[2]https://www.macnica.co.jp/business/semiconductor/articles/onsemi/142988/
[3]https://www.shindengen.co.jp/products/semi/column/basic/mosfet/mosfet_1.html
[4]https://toshiba.semicon-storage.com/jp/semiconductor/knowledge/e-learning/discrete/chap1/chap1-6.html
[5]https://toshiba.semicon-storage.com/jp/semiconductor/knowledge/e-learning/basics-of-schottky-barrier-diodes.html
[6]https://www.youtube.com/watch?v=wGrkczNxEh0
[7]https://www.youtube.com/watch?v=szfDdWmWuT0
[8]https://www.youtube.com/watch?v=uUo9IOiizHA
[9]https://www.macnica.co.jp/business/semiconductor/articles/intel/132957/
問4 ハードウェア(半導体・LSI)設計への応募理由を自己アピールも含めて記述ください。
応募理由は二つあります。
一つ目は、分子動力学シミュレーションの検証に活かしたいからです。私は現在分子動力学シミュレーションの研究室にて電子状態を考慮した系のエネルギー面算出を、機械学習で高速化する試みをしています。密度汎関数法と呼ばれる計算手法を部分的に機械学習モデルで置換するのですが、既存のモデルでは非線形写像を一挙に学習するため非効率であると捉え、計算過程の中間状態を小さいモデル群にそれぞれ学習させる手法を開発しています。問題は、現在のGPUやCUDAは提案手法のような小さいモデル群の扱いには特化していないということです。将来的にはこちらを動作させる専用プロセッサを作りたいと考えています。
また研究とは少しそれますが、趣味でFPGA上で機械学習のタスクを動かしています。教授が以前分子動力学シミュレーション専用のプロセッサを自ら開発されていたので、それに憧れています。
二つ目は、半導体内産業について詳しくなりたいからです。半導体産業はプロバイダーが少なく参入障壁が高い特殊な産業であると捉えています。どのような立場の如何にして今日の半導体産業を支えているのか理解を深め、より一歩ベターな半導体を流通させるために自分に何ができるかを考えるための経験的な情報が欲しいと思いました。講師の岡村 淳一さんや同世代のこのトピックを選んだ学生と共に今半導体産業に何が足りないのか、今後どうあるべきか議論したいです。
Discussion