HUOXIU

ジェフ・ディーンがチップ設計効率におけるAI革命をリード!レイアウト設計は6時間で完了し、次世代TPUで使用中です。


ビッグデータダイジェストはAcademic Headlinesからの許可を得て転載しています。
著者:クーパー


ハイエンドチップの設計はどれほど難しいのでしょうか? 数十億個のトランジスタを爪ほどの面積に集積し、様々な機能領域を計画することを想像してみてください。それは実に微視的でありながら、広大なプロジェクトです。
 
今日では、最も基本的なチップトランジスタ部品でさえ、マイクロメートルやナノメートルスケールになっています。数十億個ものトランジスタをどのように配置し、活用するか、モジュール設計によってチップの究極の性能をどのように発揮するか、そしてますます高まるエンドユーザーの要求にどのように応えるかは、今日のチップ設計エンジニアが直面する厳しい課題です。さらに、このような複雑な設計には、いかなる欠陥も許容されません。一度量産されると、それらは修正できず、再検討とやり直しが必要になります。チップ設計が十分に優れていれば、ある程度のプロセス技術のギャップを埋めることさえ可能です。
 
現在、AI 技術がチップ設計の分野に深く浸透しており、効率革命が再び世界を席巻しようとしているのかもしれません。
 
ジェフ・ディーン氏が率いるGoogle Brainの科学者とスタンフォード大学コンピュータサイエンス学部の共同研究により、深層強化学習ベースのチップレイアウト計画法によって実現可能なチップ設計スキームを生成できることが実証されました。

この方法で自動的に生成されたチップフロアプランは、6 時間以内に、すべての主要な指標 (消費電力、パフォーマンス、チップ領域など) において、人間のエンジニアが生成した設計図を上回るか同等の性能を示しました。人間のエンジニアがこれを達成するには、通常、数か月の集中的な努力が必要です。

図 | 人間が設計したマイクロチップの平面図(a)と機械学習システムの設計( b )の違い(出典: Nature  

論文によると、この手法は現在、Googleの次世代Tensor Processing Unit(TPU)アクセラレータに採用されており今後のコンピュータチップのイテレーションごとに数千時間の工数を節約できると期待されている。この論文は6月10日にトップ科学誌「ネイチャー」に掲載され、Google AIの責任者であるジェフ・ディーン氏が中心著者の一人となっている。

(出典:ネイチャー

チップ設計エンジニア向けAIアシスタント

実際、科学者たちはチップの設計プロセスをより効率的にする方法を模索してきました。

1980年代には、電子設計自動化(EDA)技術の誕生により、大きな進歩がもたらされました。開発者は、コンピュータ支援設計(CAD)ソフトウェアを用いて、超大規模集積回路(VLSI)の機能設計、合成、検証、物理設計といった複雑なプロセスを完了し、設計プロセス全体を自動化できるようになりました。EDAの継続的な改良は、チップ設計と製造の間に橋渡しとなり、半導体産業チェーンにおいて極めて重要な役割を果たしています。
 
50 年間の研究にもかかわらず、チップのレイアウト計画は依然として自動化できず、製造可能なチップのレイアウトを完成させるには物理設計エンジニアが数か月かけて慎重に計画する必要があります。
 
具体的には、チップはメモリサブシステム、演算ユニット、制御ロジックシステムなど、それぞれが独自の機能属性を持つ数十個のモジュールに分割されることがよくあります。これらのモジュールは、ネットリスト(相互接続リストとも呼ばれます)、回路コンポーネントのスーパーグラフ、スタンダードセル(NAND、NOR、XORなどの論理ゲート)を使用して記述できます。これらのモジュールはすべて、配線によって相互に接続されます。
 
チップ レイアウト計画では、密度と配線の混雑に関する厳しい制約を遵守しながら、パフォーマンス メトリック (消費電力、タイミング、面積、ライン長など) を最適化するために、チップ キャンバス (2 次元グリッド) 上にネットリストを配置します。
 
実際、 1960 年代以降、多くのチップレイアウト計画方法が提案されてきましたが、これらは大きく分けて次の 3 つのカテゴリに分類できます。

  • パーティションベースの方法

  • 確率的/山登り法のアプローチ

  • 解析ソルバー。


しかし、これらの方法はそれぞれ限界があるため、現在のところ人間の専門家のパフォーマンス レベルを達成することはできません。

  • パーティションベースのアプローチでは、より大きなネットリストに拡張するためにグローバル ソリューションの品質が犠牲になり、初期のパーティションが不十分だと、解決できない最終結果につながる可能性があります。

  • ランダム/ヒルクライミング法は設計収束率が低く、数百万または数十億のノードを持つ最新のチップ ネットリストに拡張できません。

  • 解析ソルバーは主流のアプローチですが、微分可能な損失関数しか最適化できないため、ルーティングの輻輳やタイミングの競合などの主要なメトリックを効果的に最適化することはできません。


従来の方法には限界があったため、人間の物理設計者は市販の EDA ツールを使用して数か月間反復作業を行い、チップ ネットリストのレジスタ転送レベル (RTL) 記述を入力としてチップ キャンバスに手動で配置し、EDA ツールがその場所が最適かどうかを評価するまで最大 72 時間待つ必要がありました。

このフィードバックに基づいて、人間の設計者は、設計基準が目標を達成したと結論付けて評価用の更新された階層フロア プランを生成するか、上流の RTL 設計者にフィードバックを提供して、配置タスクを容易にするために低レベルのコードを修正する必要があります。


こうした複雑なチップレイアウト計画の問題に対処するため、研究者たちはチップ全体に汎用化できる強化学習手法を開発しました。これは、経験から継続的に学習し、新しいチップモジュールの配置をより正確かつ迅速に行うことができることを意味します。これにより、チップ設計者はAIの支援を受けることができ、誰よりも「経験」豊富なAIアシスタントの恩恵を受けることができるようになります。
 
しかし、チップ全体にわたる AI 配置戦略のトレーニングは、すべての可能なチップ ネットリストをすべての可能なチップ キャンバスに配置することを最適化するための学習が必要になるため、非常に困難です。

これはボードゲームに似ています。コンポーネントは「チェスの駒」(例:ネットリストのトポロジ、マクロ数、マクロサイズ、アスペクト比)、コンポーネントが配置されるキャンバスは「チェス盤」(異なるチップキャンバスサイズとアスペクト比)、そして勝利条件は異なる評価指標の相対的な重要性、または異なる密度と配線混雑制約です。このゲームの単一のインスタンス(特定のネットリストを特定のキャンバスに配置する)でさえ、ゲーム全体に影響を与える巨大な状態-アクション空間を持ちます。
 
一般化を実現するために、研究者たちはチップの転移可能な表現学習に焦点を当て、それをチップ配置品質予測という教師ありタスクに適用しました。様々なネットリストとその位置を正確に予測できるニューラル構造を設計することで、研究者たちは入力ネットリストの豊富な特徴埋め込みを生成することができました。そして、この構造をエンコーダーとして使用し、転移学習を実現しました。
 
チップレイアウト計画への直接的な影響に加えて、チップレイアウト設計スキームを要約し、AI に基づいて高品質のソリューションを迅速に生成する機能も非常に重要であり、チップ設計プロセスの初期段階で共同最適化の機会を生み出します。
 
研究者らは、より抽象的なレベルでは、この形態の位置最適化戦略は、ハードウェア設計、都市計画、ワクチンの試験と配布、大脳皮質のレイアウトに関する研究など、幅広い科学および工学のアプリケーションにも応用できると述べている。
 
そのため、研究者たちは、この AI ベースのレイアウト最適化戦略は、チップ設計を超えて、より広範囲の効果的なレイアウト問題に適用できると考えています。

設計領域における適応戦略

チップレイアウト計画のための適応型戦略の開発は極めて困難です。なぜなら、各チップには数千万個のロジックゲート(スタンダードセルと呼ばれる)と数千個のメモリブロック(マクロブロックまたはマクロと呼ばれる)が含まれ、これらは数十キロメートルに及ぶ配線で相互接続されて設計機能を実現するからです。これは驚くべきレベルの複雑さを伴い、エンジニアは専用のソフトウェアツールの助けを借りて、この複雑さの一部しか制御できません。
 
チップ内のスタンダードセルとマクロブロックの配置は、設計結果に極めて重要です。それらの配置によって配線の距離が決まり、コンポーネント間の配線の成功やロジックゲート間の信号伝送速度に影響を与えます。そのため、ロジック回路設計が進化するにつれ、人間のエンジニアはマクロブロックの配置を繰り返し調整する必要があり、そのたびに手作業による介入が必要となり、数日から数週間を要しています。
 
周知の通り、コンピュータ業界はムーアの法則に牽引されており、チップ上の部品数は2年ごとにほぼ倍増しています。これは、チップ上の部品数が毎週約1%増加していることを意味します。そのため、レイアウト計画を自動化できないことは、時間コストの増大だけでなく、チップ開発計画において検討できるソリューションの数が限られてしまうという理由からも、喫緊の課題となっています。
 
AI エージェントがマクロブロックを 1 つずつ論理的にチップ レイアウトに正しく配置できるようにするにはどうすればよいでしょうか。
 
具体的には、研究者たちはまず、状態空間の豊富な表現を学習することに焦点を当てました。彼らの直感は、一般的なチップ配置タスクを実行できるAI戦略は、推論中に新しい目に見えないチップに関連する状態を意味のある信号にエンコードできるはずだというものでした。
 
この目的のため、研究者たちはまず、新しいネットリストが配置された際に報酬を予測できるニューラルネットワークアーキテクチャを学習しました。最終目標は、このアーキテクチャをポリシー全体のエンコード層として使用することでした。このアーキテクチャの学習には、チップの位置とそれに対応する報酬ラベルの大規模なデータセットが必要でした。研究者たちは、10,000個のチップ配置を含むデータセットを作成しました。
 
さらに、報酬ラベルを正確に予測し、未知のデータに一般化するために、研究者らはニューラルネットワークアーキテクチャであるEdge-GNN(エッジベースグラフニューラルネットワーク)を開発しました。このネットワークはネットリストを埋め込み、ノードの種類と接続性に関する情報を低次元ベクトル表現に抽出し、下流のタスクで利用します。

図|戦略と価値ネットワークアーキテクチャ(出典:本論文)

埋め込み層は、ネットリストの隣接関係、ノードの特性、そして現在配置するマクロに関する情報をエンコードします。そして、ポリシーネットワークとバリューネットワークは、それぞれ利用可能なグリッドセル上の確率分布と現在のレイアウトの期待報酬推定値を出力します。

図|全体的な方法論と研修制度の概要(出典:本論文)
 
各トレーニング反復において、強化学習エージェントは一度に1つのマクロを配置します(バッチ処理の用語)。すべてのマクロが配置された後、強制的に標準ユニットが配置されます。各反復の終了時に、報酬は線の長さ、混雑度、密度の近似線形結合として計算され、強化学習エージェントにフィードバックとして提供され、次の反復に向けてパラメータが最適化されます。

ドメイン適応結果

その後の実験では、研究者らは事前学習済みの戦略を用いて生成された配置品質と、ゼロから戦略を学習して生成された配置品質を比較しました。学習データセットは、TPUブロックとオープンソースのAriane RISC-V CPUブロックで構成されていました。各実験において、戦略はターゲットブロックを除くすべてのブロックで事前学習されていました。
 
研究者らは、ゼロショットモデルの結果と、特定の設計で事前トレーニング済みの戦略を2時間および12時間微調整した後の結果を発表しました。

図|ゼロからの学習と異なる期間にわたる微調整。表からわかるように、事前学習済みのポリシーネットワークは、ゼロから学習したポリシーネットワークよりも一貫して優れたパフォーマンスを示しており、オフライン学習データからの学習の有効性を実証しています(出典:本論文)。

図: Ariane RISC-V CPU30のゼロからのトレーニングと事前トレーニング済みのポリシーネットワークからのトレーニングの収束グラフ (出典: 論文)
 
結果は、ゼロから学習したポリシーは収束に時間がかかり、24時間経過後でも、報酬関数で評価した結果は、12時間以内に微調整されたポリシーが達成した結果よりも劣っていることを示しました。これは、事前学習中にポリシーを様々な設計にさらすことで、新しい未知のブロックに対してより高品質な配置スキームをより迅速に生成できることを示唆しています。
 
事前にトレーニングされたポリシーは配置コストが低いだけでなく、最初からトレーニングされたポリシーよりも 30 時間以上速く収束します。
 
次に、研究者らは、より大きなデータセットからの学習など、ポリシー学習能力に対するトレーニングデータの影響を調査しました。TPUチップブロックは非常に多様であり、代表的な機能ブロック(オンチップおよびインターチップネットワークブロック、コンピューティングコア、メモリコントローラ、データ転送バッファとロジック、各種インターフェースコントローラなど)、飽和度(マクロ総面積とキャンバス総面積の比率、30%未満、30%~60%、60%超)、およびマクロ数(最大数百)を慎重に選択しました。小規模トレーニングセットには2つのブロック、中規模トレーニングセットには5つのブロック、大規模トレーニングセットには20のブロックが含まれていました。

図|トレーニング前のデータセットサイズの影響(出典:本論文)
 
研究者らがより多くのチップブロックで事前学習を行った結果、未知の新しいチップブロックに対して、より高品質な配置をより迅速に生成できるようになりました。学習セットを2ブロックから5ブロック、そして最終的に20ブロックへと増やしていくと、ポリシーネットワークは微調整を経て、一貫してより優れた配置を生成するようになりました。

これは、この戦略がより多様なチップ設計に適用されるほど、過剰適合の傾向が少なくなり、新しい未知の設計に一般化できるようになることを示唆しています。

研究者らは、AIチップ配置設計とベースライン手法のデータ比較も行いました。チップ配置図の品質を評価する際には、いくつかの重要な指標が考慮され、これらの指標は互いに比較検討されます。単一の指標だけでは配置の全体的な品質を捉えることはできません。そのため、報告されている主要な指標には、総配線長、タイミング、配線混雑度(水平および垂直)、面積、消費電力などがあります。
 
公平な比較を行うために、研究者は、最大のデータセット(20 TPU ブロック)で事前トレーニングされた AI ポリシーを使用し、その後 6 時間以内に 5 つのターゲット非表示ブロックで微調整することで、すべての手法が同じ入力と同じ EDA ツール設定を含む同じ実験設定になっていることを確認しました。

図|ベースラインとの比較:AIベースのチップ配置手法を、最先端の手法および業界標準のEDAツールを用いた手動配置手法と比較しています。この表のすべての指標において、低いほど優れています(出典:論文)。

結果は、チップ設計と配置にAIを活用することが効果的であることを示しています。AIは、実際の設計基準を満たす高品質なモジュール配置スキームを生成し、面積、電力、配線長の点で、人間の専門家による手動配置結果を上回るか、同等の性能を発揮します。
 
カリフォルニア大学サンディエゴ校電気・コンピュータ工学部の専門家アンドリュー・B・カーン氏は、この成果について、チップ設計と設計自動化の分野で長年働いてきた人々にとって本当に注目すべき成果だとコメントした。
 
最も重要な点は、この技術がGoogleの次世代AIプロセッサのチップ設計に組み込まれたことです。これは、このソリューションが高価で最先端のシリコンウェハ上で量産できるほど成熟していることを意味します。したがって、半導体業界の専門家は今後、この種の研究にさらに注目し、チップ設計プロセス全体を通じて同様のアプリケーションを数多く模索していくことが予想されます。

参考リンク:
https://www.nature.com/articles/s41586-021-03544-w
https://www.nature.com/articles/d41586-021-01515-9