著者:
(1)Mingjie Liu、NVIDIA {同等の貢献}
(2)Teodor-Dumitru Ene、NVIDIA {同等の貢献}
(3)ロバート・カービー、NVIDIA {同等の貢献}
(4)クリス・チェン、NVIDIA {同等の貢献}
(5)ナサニエル・ピンクニー、NVIDIA {平等な貢献}
(6)Rongjian Liang、NVIDIA {同等の貢献}
(7)ジョナ・アルベン、NVIDIA
(8)ヒムヤンシュ・アナンド、NVIDIA
(9)サンミトラ・バナージー、NVIDIA
(10)イスメット・バイラクタログル、NVIDIA
(11)ボニータ・バスカラン、NVIDIA
(12)ブライアン・カタンツァーロ、NVIDIA
(13)アルジュン・チャウドゥリ、NVIDIA
(14)シャロン・クレイ、NVIDIA
(15)ビル・ダリー、NVIDIA
(16)ローラ・ダン、NVIDIA
(17)パリクシット・デシュパンデ、NVIDIA
(18)シッダーント・ドーディ、NVIDIA
(19)サミール・ハレペテ、NVIDIA
(20)エリック・ヒル、NVIDIA
(21)Jiashang Hu、NVIDIA;
(22)スミット・ジェイン、NVIDIA
(23)ブルーチェク・カイラニー、NVIDIA
(24)ジョージ・コーカイ、NVIDIA
(25)キショール・クナル、NVIDIA
(26)シャオウェイ・リー、NVIDIA
(27)チャーリー・リンド、NVIDIA
(28)ハオ・リウ、NVIDIA
(29)スチュアート・オーバーマン、NVIDIA
(30)NVIDIAのスジート・オマール氏
(31)スリードハール・プラティ、NVIDIA
(23)ジョナサン・ライマン、NVIDIA
(33)アンバー・サルカー、NVIDIA
(34)NVIDIAの邵正江氏
(35)ハンフェイ・サン、NVIDIA
(36) Pratik P Suthar、NVIDIA;
(37)ヴァルン・テジ、NVIDIA
(38)ウォーカー・ターナー、NVIDIA
(39)Kaizhe Xu、NVIDIA;
(40)レン・ハオシン、NVIDIA。
ChipNeMo は、産業用チップ設計における大規模言語モデル (LLM) の応用を探求することを目的としています。市販の商用またはオープンソースの LLM を直接展開する代わりに、カスタム トークナイザー、ドメイン適応型継続事前トレーニング、ドメイン固有の指示による教師あり微調整 (SFT)、ドメイン適応型検索モデルなどのドメイン適応技術を採用しています。これらの手法を、エンジニアリング アシスタント チャットボット、EDA スクリプト生成、バグの要約と分析という、チップ設計用に選ばれた 3 つの LLM アプリケーションで評価しました。結果から、これらのドメイン適応技術により、評価した 3 つのアプリケーション全体で汎用ベース モデルよりも大幅な LLM パフォーマンスの向上が可能になり、さまざまな設計タスクで同等以上のパフォーマンスでモデル サイズを最大 5 倍削減できることがわかっています。また、現在の結果と理想的な結果の間にはまだ改善の余地があることもわかっています。ドメイン適応型 LLM アプローチをさらに調査することで、将来このギャップを埋めることができると考えています。
過去数十年にわたり、電子設計自動化 (EDA) アルゴリズムとツールは、チップ設計の生産性を大幅に向上させてきました。ムーアの法則によるトランジスタ密度の指数関数的な増加と相まって、EDA は数十億個のトランジスタを備えた機能豊富で複雑な SoC 設計の開発を可能にしました。最近では、研究者は AI を EDA アルゴリズムとチップ設計プロセスに適用して、チップ設計の生産性をさらに向上させる方法を模索しています [1] [2] [3]。しかし、自然言語やプログラミング言語とのインターフェイスを必要とする多くの時間のかかるチップ設計タスクは、まだ自動化されていません。商用 (ChatGPT、Bard など) およびオープンソース (Vicuna [4]、LLaMA2 [5] など) の大規模言語モデル (LLM) の最新の進歩は、これらの言語関連のチップ設計タスクの自動化を支援する前例のない機会を提供します。実際、初期の学術研究 [6] [7] [8] では、小さな設計モジュールで単純なタスクを実行できる RTL の生成や、EDA ツール用のスクリプトの生成に LLM を適用することが検討されています。
LLM は、生成 AI を使用してコード生成、自然言語インターフェースを介したエンジニアリングの質問への応答、分析、レポート生成、バグのトリアージなど、多くの言語関連のチップ設計タスクを自動化することで、チップ設計の生産性を向上させる可能性を秘めていると考えています。この研究では、次の 3 つの特定の LLM アプリケーションに焦点を当てています。GPU ASIC およびアーキテクチャ設計エンジニア向けのエンジニアリング アシスタント チャットボット。内部の HW 設計を理解し、複雑な設計トピックを説明できます。英語で指定された VLSI タイミング解析タスク用の Python と Tcl に基づく 2 つのドメイン固有ツール用の EDA スクリプト生成。内部のバグおよび問題追跡システムの一部としてのバグの要約と分析。
膨大な量のインターネットデータでトレーニングされた汎用LLMは、さまざまなドメインにわたる生成AIタスクで顕著な機能を発揮しますが(Bubeckらが[9]で実証したように)、BloombergGPT [10]やBioMedLLM [11]などの最近の研究では、ドメイン固有のLLMモデルがドメイン固有のタスクで汎用モデルよりも優れていることが実証されています。ハードウェア設計ドメインでは、[6] [12]は、追加のVerilogデータで微調整されたオープンソースLLM(CodeGen [13])が最先端のOpenAIモデルよりも優れていることを示しました。このようにLLMをカスタマイズすると、APIを介して独自のチップ設計データをサードパーティのLLMに送信することに関連するセキュリティリスクも回避できます。ただし、すべてのドメインのドメイン固有のモデルをゼロからトレーニングするには、何百万時間ものGPUトレーニング時間が必要になることが多いため、法外なコストがかかります。ドメイン固有のモデルをコスト効率よくトレーニングするために、我々は以下の技術を組み合わせることを提案する:ドメイン適応型トークナイザーを使用した基礎モデルのドメイン適応型事前トレーニング(DAPT)[14]、一般およびドメイン固有の指示を使用したモデルのアライメント、およびトレーニング済みのドメイン適応型検索モデルを使用した検索拡張生成(RAG)[15]。
図 1 に示すように、私たちのアプローチは、基本となる基礎モデルから始めて、DAPT を適用し、その後に教師あり微調整 (SFT) を適用するというものです。DAPT は、ドメイン内データによる継続的な事前トレーニングとも呼ばれ、生物医学やコンピューター サイエンスの出版物、ニュース、レビューなどの分野で効果的であることがわかっています。私たちの場合、独自のハードウェア関連コード (ソフトウェア、RTL、検証テストベンチなど) と自然言語データセット (ハードウェア仕様、ドキュメントなど) のコレクションから、ドメイン固有の事前トレーニング データセットを構築します。生のデータセットをクリーンアップして前処理し、ドメイン固有のデータを使用して基礎モデルを継続的に事前トレーニングします。結果として得られるモデルを ChipNeMo と呼びます。
基礎モデル。DAPTは事前トレーニングで使用されるトークンの一部で実行され、数千時間のGPU時間しか必要としないため、はるかに安価です。セクションVで説明したように、このアプローチは、LoRA [16]などのパラメータ効率トレーニング(PEFT)手法よりも、私たちのユースケースでは効果的であることがわかりました。
LLM トークナイザーは、LLM トレーニング用にテキストをトークンのシーケンスに変換します。ドメイン固有のトークナイザーは、RTL でよく見られるキーワードなどのドメイン固有の用語に合わせてルールとパターンを調整することで、トークン化の効率を向上させます。DAPT の場合、基礎モデルが無効になるため、新しいドメイン固有のトークナイザーを最初から再トレーニングすることはできません。ChipNeMo を基礎モデルで使用される事前トレーニング済みの汎用トークナイザーに制限するのではなく、事前トレーニング済みのトークナイザーをチップ設計データセットに適応させ、ドメイン固有の用語にのみ新しいトークンを追加します。
ChipNeMo 基礎モデルは、チャットなどのタスクに適応するために教師あり微調整 (SFT) を必要とする補完モデルです。私たちは、マルチターン チャット用の一般に公開されている汎用チャット指示データセットと、少量のドメイン固有の指示データセットを使用して、ChipNeMo 基礎モデルで SFT を実行し、ChipNeMo Chat モデルを生成します。汎用チャット指示データセットを使用した SFT は、ChipNeMo 基礎モデルをチップ設計ドメインのクエリに合わせるのに十分であることがわかりました。また、少量のタスク固有の SFT 指示データを追加し、さらに調整を改善しました。ベース基礎モデルとして使用した LLaMA2 モデルのバリアントに基づいて、複数の ChipNeMo 基礎モデルと Chat モデルをトレーニングしました。
エンジニアリング アシスタント チャットボット アプリケーションのパフォーマンスを向上させるために、検索拡張生成 (RAG) も活用しています。RAG は、ユーザー クエリの正確なコンテキストを LLM に提供するオープン ブック アプローチです。データ ストアから関連するドメイン内知識を取得し、ユーザー クエリが与えられた応答生成を強化します。この方法は、モデルを特定の質問のコンテキストにグラウンディングする点で大幅な改善を示しています。特に重要なのは、ドメイン データを使用して事前トレーニング済みの検索モデルを微調整すると、検索ヒット率が大幅に向上したことです。これにより、モデルの品質がさらに向上しました。
LLM をチップ設計分野に適応させることに関連する以下の貢献と発見を強調します。
• エンジニアリング アシスタント チャットボット、EDA ツール スクリプト生成、バグの要約と分析という 3 つのユース ケースで、ドメイン適応型 LLM の有効性を実証しました。専門家の評価に基づくエンジニアリング アシスタント チャットボットの応答では 10 点満点中 7.4 点のスコアを達成し、EDA スクリプト生成では 50% を超える正確性を達成し、要約と割り当て識別タスクでは専門家の評価で 7 点満点中 4 ~ 5 点を獲得しました。
• ドメイン適応型 ChipNeMo モデルは、複数選択ドメイン固有の AutoEval ベンチマークとアプリケーションの人間による評価の両方で評価されたすべての標準 LLM を大幅に上回ります。
• モデルがプロンプトのコンテキストからテキストを生成できるタスク(RAG ヒットを含むチャット、要約、提供されたドキュメントを含むコード生成など)の場合、ドメイン適応により、最先端の LLaMA2 70B モデルとはるかに小さい 13B モデルとの間のギャップが埋まります(わずかな増分トレーニング コストで、推論コストを削減するために最大 5 倍のパラメーター削減が可能になります)。
• カスタマイズされたトークナイザーは、アプリケーションの有効性を損なうことなく、DAPT トークン数を最大 3.3% 削減します。
• 追加の 1.1K のドメイン固有の命令に対する SFT により、エンジニアリング アシスタント チャットボット、EDA スクリプト生成、バグの要約と分析において、アプリケーションの熟練度がそれぞれ 10 点満点中最大 0.33、正確性が 18%、7 点満点中 0.79 まで大幅に向上しました。
• ドメイン固有のデータを使用して ChipNeMo 検索モデルを微調整すると、事前にトレーニングされた最先端の検索モデルと比較して検索モデルのヒット率が 30% 向上し、RAG 応答の全体的な品質が向上します。
この論文は次のように構成されています。セクション II では、ドメイン知識検証のためのデータセットと自動評価ベンチマークについて説明します。セクション III では、適応型トークナイザー、DAPT、SFT、RAG など、使用されるドメイン適応およびトレーニング方法について概説します。セクション IV では、各アプリケーションと実験セットアップの詳細を示します。セクション V では、各アプリケーションの人間による評価を含む実験結果について説明します。セクション VI では、ChipNeMo の制限と今後の作業について説明します。セクション VII では、関連する LLM 方法と、チップ設計用の LLM を対象としたその他の作業について説明します。最後に、完全な結果と追加のモデルトレーニングの詳細、およびアプリケーションの使用例によって生成されたテキストの例を付録に示します。
この論文はCC 4.0ライセンスの下でarxivで公開されています。