ニュース

gpuに挑戦する別のチップ

2024-10-04

한어한어Русский языкРусский языкEnglishEnglishFrançaisFrançaisIndonesianSanskritIndonesian日本語SanskritDeutsch日本語PortuguêsDeutschΕλληνικάPortuguêsespañolΕλληνικάItalianoespañolSuomalainenItalianoLatinaSuomalainenLatina

まとめ

30 億パラメータの llm の場合、16 基の ibm aiu northpole プロセッサーを搭載した研究用プロトタイプ推論アプライアンスは、16 基のプロセッサーと比較して 28,356 トークン/秒という膨大なシステム スループットと 1 ミリ秒/トークン (ユーザーあたり) 未満の遅延を実現しました。各 northpole カードの消費電力はわずか 672 w です。コンパクトな 2u フォームファクタです。低遅延と高いエネルギー効率に焦点を当て、northpole (12 nm) をさまざまな消費電力で gpu (7/5/4 nm) のセットと比較します。最低の gpu レイテンシーでは、northpole は 72.7 優れたエネルギー効率メトリクス (トークン/秒/w) を提供しながら、より優れたレイテンシーを提供します。

導入

大規模言語モデル (llm) は、コードの提案によるプログラミングの支援、標準化されたテストでの優れたパフォーマンス、記事、ブログ、画像、ビデオのコンテンツ作成の支援など、さまざまな ai タスクで重要なパフォーマンス ベンチマークを達成しています。

llm の大規模導入、特に人工知能の大規模導入では、エネルギー消費と応答遅延という 2 つの主要な相反する課題が生じます。

まず、llm はトレーニングと推論の両方にかなりのエネルギー リソースを必要とするため、効率的かつ広範囲に展開するには、持続可能な将来のコンピューティング インフラストラクチャが必要です。データセンターの二酸化炭素排出量が拡大し、エネルギー制約が増大するにつれて、データセンターのエネルギー効率がますます重要になっています。世界経済フォーラムの報告書によると、

「現在、データセンターの環境二酸化炭素排出量は主に 2 つの部分に分かれています。トレーニングが 20% を占め、推論が 80% を占めます。人工知能モデルがさまざまな分野で開発されるにつれて、推論の需要とその環境フットプリントは増大するでしょう。」 」

第 2 に、対話型の会話や自律型ワークフローなどの多くのアプリケーションでは、非常に低い遅延が必要です。特定のコンピューティング アーキテクチャ内では、スループットを減らすことでレイテンシを減らすことができますが、これによりエネルギー効率が低下します。古典的なシステムの格言を言い換えると、次のようになります。

「スループットの問題はお金で解決できますが、光の速度は固定されているため、遅延の問題はより複雑になります。」 ([10] からの言い換え。「帯域幅」を「スループット」に置き換えます)。

gpu は、より小さいバッチ サイズを使用することで待ち時間を短縮できますが、スループットとエネルギー効率が犠牲になります。さらに、gpu シャーディングは複数の gpu にわたるデータの並列処理を使用してレイテンシを短縮しますが、やはりエネルギー効率が犠牲になります。シャーディングかどうかに関係なく、gpu はレイテンシの低下でハードリミットに達しているようです。エネルギー効率と遅延の間の gpu のトレードオフを図 1 に示します。

図 1: エネルギーおよびシステム レイテンシのメトリクスに関する現在の最先端の gpu (7/5/4 nm) と比較した northpole (12 nm) のパフォーマンス。ここで、システム レイテンシは各ユーザーが経験する合計レイテンシです。最低の gpu レイテンシー (h100、ポイント p2) では、northpole は 72.7 倍優れたエネルギー効率メトリクス (トークン/秒/w) を提供します。最高の gpu エネルギー効率指数 (l4、ポイント p1) では、northpole は 46.9 分の 1 の遅延を実現します。

したがって、この論文で検討する重要な研究課題は、低遅延と高いエネルギー効率という 2 つの相反する目標を同時に達成する方法です。

northpole は、ニューラル ネットワーク推論に優れた効率を提供するために、第一原理に基づいて共同設計された推論アクセラレータ チップとソフトウェアのエコシステムです。 northpole は llm 用に特別に設計されたものではありませんが、驚くべきことに、この論文では、新しい northpole アーキテクチャが低遅延でエネルギー効率の高い llm 推論を実現できることを実証しています (図 1、図 2、および表 1)。

表 i: パフォーマンス測定値

northpole および gpu システムのパフォーマンスをカードごとに測定しました。各メトリックについて、# は低いほど優れていることを意味し、「 は高いほど優れていることを意味します。northpole 16 カード デバイスの場合、消費電力はカードごとに測定され、合計システム スループットは 16 枚のカードで除算されます。測定対象の 16 枚すべてのカードにわたる northpole 遅延。p1 、p2、p3、および p4 は、それぞれ図 1 と図 2 でマークされたポイントを指し、最高の gpu エネルギー効率指数、最低の全体的な gpu レイテンシー、最高の gpu スペース指数、および最低のエネルギー効率の gpu レイテンシーを示します。

この記事の主な研究結果は次のとおりです。

パラメーター サイズが 30 億の大規模言語モデル (llm) について、そのモデル構造は ibm granite-8b-code-base モデルから派生し、llama 3 8b および mistral 7b [14] と一致しています。この論文では、構成 16 個の northpole プロセッサを搭載した研究用プロトタイプ推論デバイス。

絶対的なパフォーマンスの点では、このデバイスは 28,356 トークン/秒のシステム スループットを 1 ミリ秒未満のシングルユーザー遅延で実現し、2u モデルの 16 枚の northpole カード全体で 672 ワットの電力を消費します。

相対的なパフォーマンスに関しては、12nm northpole をさまざまな gpu (それぞれ 7/5/5/4nm a100/l4/l40s/h100) と異なる消費電力で比較すると、図 2(a) および図 2(a) からわかります。図 2(c) に見られるように、最低の gpu レイテンシ (ポイント p2) では、northpole は 72.7 倍優れたエネルギー効率指標 (トークン/秒/w) と 15.9 倍優れたスペース指標 (トークン/秒/トランジスタ) を提供します。レイテンシーは依然として 2.5 倍未満ですが、最高の gpu エネルギー効率指標 (ポイント p1) では、northpole は 46.9 倍低いレイテンシーと 2.1 倍優れた空間指標を提供しながら、最高の gpu スペース メトリクスでも 2.2 倍優れています。ポイント p3)、northpole は 20.3 倍低いレイテンシと 5.3 倍優れたエネルギー効率メトリクスを提供しながら、1.4 倍優れたスペース メトリクスを提供します。

特に、同等の消費電力に関して 12nm northpole と 5nm l4 gpu を比較すると、図 2(e) からわかるように、最高の l4 スループット (トークンあたり 50ms 未満、ポイント p1) 時間では、northpole は、スループットを 1.3 倍向上させながら 46.9 倍低いレイテンシを提供し、最低の l4 レイテンシ (ポイント p4) では、northpole は 36.0 倍高いスループット (トークン/秒/カード) を提供しながら、レイテンシは 5.1 倍未満に改善しています。

図 2: (a) ~ (d) のパネルは、エネルギー効率、スペース、およびシステム レイテンシのメトリクスに関する、現在の最先端の gpu (7/5/4nm) と比較した 12nm northpole のパフォーマンスを示しています。ここで、システム レイテンシはper ユーザーが経験した合計遅延。

パネル (a) は図 1 と同じですが、点 p3 のラベルが追加されています。パネル (a) と (c) は単一の gpu を使用していますが、パネル (b) と (d) はシャーディング テクノロジを使用しています。これによりレイテンシが短縮される可能性がありますが、エネルギーとスペース効率が犠牲になるだけです。最低の gpu レイテンシ (h100、ポイント p2) では、northpole は 2.5 倍以上の低レイテンシを維持しながら、72.7 倍優れたエネルギー効率メトリクス (トークン/秒/w) と 15.9 倍優れたスペース メトリクス (トークン/秒/トランジスタ) を提供します。最高の gpu エネルギー効率指数 (l4、ポイント p1) では、northpole はレイテンシーが 46.9 倍低く、スペース指数が 2.1 倍優れていますが、gpu 空間メトリクスに関しては最高でも 2.2 倍優れています。ポイント p3)、northpole は 20.3 倍低いレイテンシーと 5.3 倍優れたエネルギー効率メトリクスを提供しながら、1.4 倍優れた空間メトリクスを提供します。

パネル (e) は、スループット (トークン/秒/カード) およびシステム遅延メトリクスに関する 5nm l4 gpu と比較した 12nm northpole のパフォーマンスを示しています。 l4 レイテンシが最も低い場合 (ポイント p4)、northpole は 36.0 倍高いスループットを提供し、l4 スループットが最も高い場合 (トークンあたり 50 ミリ秒未満、ポイント p1)、northpole は 46.9 倍低いレイテンシを提供します。各エネルギー効率指標の計算に使用される gpu の消費電力を表 i に示します。異なるバッチサイズの実際の消費電力を測定するための機器がないため、すべてのバッチサイズで同じ電力が使用され、エネルギー効率の指標が過小評価される可能性がありますが、定性的な結果は依然として保持されます。

ノースポールの建築

図3に示すように、northpoleプロセッサは12ナノメートルのプロセス技術を使用して製造され、220億個のトランジスタを備え、面積は795平方ミリメートルです。そのアーキテクチャは脳からインスピレーションを得ており、シリコン向けに最適化されており、コンピューティング、ストレージ、通信、制御をカバーする 10 の相補的な設計原則から導出されており、northpole が標準的な ai 推論タスクで他のアーキテクチャを大幅に上回るパフォーマンスを実現します。より高度なプロセス技術で製造されたプロセッサと比較しても、優れたパフォーマンスを発揮します。

northpole アーキテクチャの詳細な公理については、[11]、[12] を参照してください。簡単に言えば、northpole は 256 個のモジュラー コアを 16×16 の 2 次元配列に配置します。各コアには、サイクルごとに 2048、4096、および 8192 の演算をそれぞれ int8、int4、および int2 精度で実行するベクトル行列乗算器 (vmm) が含まれています。コア計算には、4 ウェイ、32 スライスの fp16 ベクトル ユニットと 32 スライスのアクティベーション関数ユニットも含まれています。コア アレイには合計 192 mb の sram があり、各コアには 0.75 mb の sram が搭載されています。オンチップ メモリはコンピューティング ユニットおよび制御ロジックに緊密に結合されており、コア メモリとコンピューティング間の合計帯域幅は 13 tb/秒です。さらに、各コアには、チップ上の 4 つの専用ネットワーク (noc) を介してパラメータ、命令、アクティベーション値、および部分和を渡すために水平および垂直に交差する 4096 本のワイヤがあります。ストールを防ぐために、オンチップ フレーム バッファには 32 mb の sram が搭載されており、入出力データのオフチップ通信をコア アレイのオンチップ計算から切り離します。

図 3: northpole プロセッサ: シリコン (左)、ダイ (中央)、パッケージ化されたモジュール (右)。

装置

northpole は、図 4 に示す pcie gen3 × 8 カードで設計をプロトタイプ化し、既製の 2u サーバーに 16 枚のカードをインストールして、図 5 に示す研究プロトタイプ推論デバイスを形成しました。このサーバーには 2 つの intel xeon gold 6438m プロセッサが搭載されており、それぞれ 32 コアと 60 mb キャッシュを備え、クロックは 2.2 ghz です。このシステムには、512 gb の 4800 mhz ddr5 メモリも搭載されています。 2 つの pcie gen5 × 16 バスが各サーバー プロセッサに接続されており、合計 256 gb/秒の pcie 帯域幅 (双方向) を提供します。これら 4 つのバスは、pcie ブリッジを介してシステムの 16 個の pcie スロットに拡張され、各スロットに northpole カードが取り付けられます。これら 16 枚の northpole カードは、利用可能な 256 gb/秒の pcie 帯域幅の最大半分を使用します。

図 4: northpole pcie カード。

図 5: 16 枚の northpole pcie カードの取り付けを示す研究プロトタイプ デバイスの分解図。 northpole カードは、標準の pcie エンドポイント モデルを介してホストと通信することも、各カードの追加のハードウェア機能を使用して相互に直接かつより効率的に通信することもできます。

システムは red hat enterprise 8.9 を実行し、northpole は組み込みの vfio カーネル ドライバーを使用して、ユーザー空間ソフトウェアがハードウェアを管理できるようにします。このシステムは、アドレス変換管理に iommu を使用し、デバイス分離や仮想化などのセキュリティ機能を有効にして、仮想マシンまたはコンテナ テクノロジーを使用してアプリケーションを実行します。

各 northpole カードは、各カードに常駐する dma エンジンを介してデータを送受信します。これらの dma エンジンは独立して動作し、複数の方法でテンソルを同時に受信および送信できます。 1 つ目の方法は標準の pcie エンドポイント モデルです。このモデルでは、ホスト プログラムが dma エンジンを通じてホスト メモリから入力を読み取り、計算の完了後にテンソルをホスト メモリに書き戻します。 2 番目のアプローチでは、各カードの追加のハードウェア機能を利用して、実行時にホスト メモリ間の転送や追加のソフトウェア管理を必要とせずに、northpole カードが pcie 経由で相互に直接通信できるようにします。 northpole 間での直接通信により、純粋なソフトウェア管理システムによって発生する通信遅延とオーバーヘッドを削減しながら、より大きなモデルを複数の northpole チップにまたがることができます。

llm の northpole デバイスへのマッピング

図 6 に示す llm のマッピング戦略は、3 つの重要な観察からインスピレーションを得ています。まず、十分に大きなモデルの場合、int4 形式の重み、アクティベーション、および kv キャッシュを使用して、トランス層全体が単一の northpole チップ (「w4a4」) のメモリに完全に収まり、出力層がチップ上の両方に収まります。 。次に、ウェイト キャッシュと kv キャッシュが完全にオンチップに存在する場合、ランタイムは層間で小さな埋め込みテンソルを転送するだけで済みます。これは pcie gen3 × 8 の帯域幅内にあります。 3 番目に、northpole デバイスのプロトタイプは、既製のサーバーに 16 枚の northpole pcie カードを取り付けることで簡単に組み立てることができます。

これは、gpipe スタイルのパイプライン並列処理を使用して、各トランス層をそれぞれの northpole カードにマッピングし、pcie gen3 × 8 経由で層間で埋め込みテンソルを送信し、テンソル並列処理を使用して出力層を 2 つの northpole カードに分割するという戦略を示唆しています。推論中、ユーザー リクエストの小さなバッチ (n 個のリクエストなど) が m 個の等しいマイクロバッチに分割され、16 枚の northpole カードを通じてパイプライン処理されます。

パイプライン並列処理は、llm トレーニング (レイテンシー制約なし) で利用されてきましたが、推論での使用は、各パイプライン ステージまたはパイプライン バブルのアイドル時間を削減するために必要なバッチ サイズによって制限されてきました。たとえば、一部の研究では、効率的なトレーニングには、マイクロバッチ数 m がパイプライン ステージ数の約 4 倍である必要があることがわかっています。ミニバッチ サイズ n は、(a) システムに必要なトークンごとの待ち時間、および (b) ミニバッチ全体を格納するために kv キャッシュに使用できるメモリによって制限されます。低レイテンシのコンピューティングと 13 tb/秒のオンチップ メモリ帯域幅により、northpole はトークンごとのレイテンシを非常に低く抑えることができるため、n を選択する際の制限要因は、オンチップの kv キャッシュ全体を保存するために使用されるメモリです。さらに、マイクロバッチの数 m がパイプライン ステージの数と同じであれば、パイプラインのアイドル時間を無視できるほど十分であることがわかります。

この論文で報告されている実験では、n = 28 のミニバッチ サイズを選択し、m = 14 個の等しいマイクロバッチに分割しました。その結果、northpole カードの計算ごとにマイクロバッチ サイズは 2 になります。このような小さなバッチ サイズで効率的な計算を行うためのアーキテクチャ設計の選択が、図 1 と表 i に示す効率を達成するための鍵となります。

llm モデルとトレーニング方法

llmモデル

システムのテストに使用されるモデルは、オープンソースの ibm granite-8b-code-base モデルに基づいています。これは、隠れ層サイズが 4096、ffn 中間層サイズが 36 個のトランスフォーマー層を含む 80 億パラメータのトランスフォーマー デコーダーです。 14,336、アテンション ヘッドの数は 32、グループ化クエリ アテンション (gqa) を使用するキーバリュー ヘッドの数は 8、語彙サイズは 49,152 です。 16 枚の northpole カードを備えた単一サーバーに適合させるために、14 のトランス層と出力層を備え、w4a4 精度に量子化されたモデルの 30 億パラメータ バージョンを使用しましたが、それ以外の構造は変更されていません。

特に、このモデル構成は、レイヤーごとに llama 3 8b [13] および mistral 7b [14] と一致し、レイヤーの数、モデルの語彙サイズ、使用されるトレーニング データのみが異なります。

b

完全な精度でのトレーニング

量子化後に元のモデルのタスク精度を復元するために、次の手順を採用してモデルの重みを作成しました。まず、ベースライン モデルは、[4] のレシピに従って、fp16 の完全な精度を使用して、116 言語の 1 兆のコード トークンに基づいて最初からトレーニングされます。次に、ベースライン モデルの出力層の重みと入力、および silu アクティベーションは int8 量子化され、他のすべての重み、線形層の入力、行列乗算の入力は int4 量子化されました。最後に、回復後の定量化精度は、トレーニング データの python 言語サブセットからさらに 85 億個のトークンに対して、学習率 8×10⁻⁵、バッチ サイズ 128 で量子化対応トレーニングを実行することで定量化されました。 lsq アルゴリズム。量子化器をアクティブにするステップ サイズは、ウォーム スタートを使用してトレーニングされます。これにより、トレーニングの最初の 250 ステップで学習率が 200 倍増加し、データに迅速に適応できるようになります。

gpu で実行されるベースライン fp16 モデルと northpole で実行される量子化モデルは、humanevalsynthesize-python で 0.01 以内 (0.3001 gpu 対 0.2922 northpole) pass@10 の精度を達成しました。granite-8b-code-base モデルと比較すると、全体的なトレーニングが削減されますタスクの精度の限界を押し上げるのではなく、ハードウェアのパフォーマンスの特性評価に重点を置くことになります。

ランタイムアプリケーション

図 6 に示すように、推論中に、ホスト cpu 上で実行される高度にパイプライン化されたユーザー アプリケーションによってトークンが生成されます。このユーザー アプリケーションは、トークナイザーと埋め込み層を使用してテキストを入力テンソルに前処理し、入力テンソルをデバイスの最初の northpole カードに置きます。 、デバイス内の最後の northpole カードから結果の出力テンソルを受け取り、デコーダーとデトークナイザーを使用して出力テンソルを後処理し、結果のトークンを次の入力としてループします。ユーザー アプリケーションは、ユーザー インターフェイスだけでなく、プロンプトの事前入力などのより高度な最適化も担当します。

ニューラル ネットワークのワークロードを northpole にオフロードするために、ユーザー アプリケーションは単純な api を使用してユーザー空間のランタイム ライブラリを呼び出し、初期化時に northpole カードのレイヤーの重みと kv キャッシュを構成し、実行時に入力テンソルと出力テンソルを送受信します。重みと kv キャッシュはオンチップ メモリに残るように構成されており、実行時にオフチップでストリーミングする必要はありません。ランタイム ライブラリはオンチップ フレーム バッファーも管理し、入力データまたは出力データ レシーバーの不足による northpole コアの停止を防ぎます。セクション 4 で説明されているように、中間テンソルはホストの介入なしでカード間で受け渡されます。

パフォーマンス結果

northpole 16 カード デバイスは、30 億パラメータ llm で 28,356 トークン/秒のスループットを達成しました。この llm のシーケンス長は 2048 (ヒント長 1024、トークン生成 1024) に設定されており、デコーダは貪欲サンプリングを使用します。

gpu との比較のために、低電力推論用の 2 つの gpu (l4 および l40s) と高スループット トレーニング用の 2 つの gpu (a100 および h100) のシングル カード パフォーマンスを測定しました。すべてのシステムは同じ llm モデルと構成を実行し、northpole は w4a4 精度で実行され、gpu は最適な w4a16 精度で実行されます。これは、私たちの知る限り、利用可能な w4a4 cuda コアが存在しないためです。gpu 実験では、gptq 量子化モデルを活用し、northpole と比較するために vllm (バージョン 0.5.4) marlin コアを使用してベンチマークを実行しました。 gptq 量子化を使用すると、許容可能な精度を維持しながら重み精度を下げることにより、gpu 上で最適なモデル推論パフォーマンスが提供されます。さらに、marlin コアは、特に疎行列と密行列の乗算を処理する場合に、行列演算を最適化するために使用されます。 vllm ランタイムのベンチマークを行うと、スループットと遅延を評価でき、特定のハードウェア構成に対して最適なモデル パフォーマンスを確保できます。複数の gpu カードを使用した実験では、nvlink 上で可能な限り最小のレイテンシを効果的に得るために、利用可能なカードの数に等しいテンソル並列処理が採用されました。私たちの実験では、シャーディングによりレイテンシーは減少しますが、カードあたりの gpu スループットの低下につながることがわかりました。 northpole の優れたパフォーマンスは、主にその巨大なオンチップ メモリ帯域幅によってもたらされ、第 2 にその精度の低さによってもたらされることは注目に値します。

表 i は、northpole および gpu システムのカードごとのパフォーマンス測定結果を示しています。基本的なメトリクスには、以下で定義するスループット、レイテンシー、スペース、およびエネルギーのメトリクスが含まれます。

入力プロンプトの小さなバッチに対して生成されるトークンの総数は次のとおりです。

このうち mmm はマイクロバッチの数、tok_seq_len は 1 人のユーザーが生成する出力トークンの数です。システム スループットは、入力プロンプトに応答して生成されたトークンの合計数 (トークン生成) を、プロンプトの事前入力時間 (プロンプト時間) とトークン生成時間 (トークン生成時間) を含む、プロンプトの処理に必要な合計時間で割ったものです。

スループットは、システム スループットをシステム内の処理カードの数で割ることにより、カードごとに比較されます。

レイテンシは、特定のユーザーによって生成された出力トークン間の平均時間を測定するもので、埋め込みトークンが処理パイプラインを通過するのにかかる時間と、生成されたトークンの総数で償却されたプロンプト事前設定時間を加えた時間の合計です。

同様に、式 1、2、および 4 を組み合わせると、次のようになります。

ここで、ミニバッチ サイズ = ミニバッチ サイズであることに注意してください。これは、各ユーザーから見たシステム遅延です。

システム内のカードの数によって正規化され、[11] で定義されたスペースとエネルギーのメトリクスを拡張して、カードの数が異なるシステムを比較できるようにします。結果として得られるスペースとエネルギーのメトリクスは、カードごとのプロセッサ トランジスタ数とカードごとの電力でそれぞれ正規化された、カードごとのスループットです。

システムのスループットがシステム内のパイプライン カードの数に比例して増加する場合、カードの正規化は相殺され、スペースとエネルギーのメトリクスはシステム内のカードの数に応じて一定になります。通常、システムのスループットは、通信と同期のオーバーヘッドにより、カードの数に比例して増加します。

結論は

私たちは次のような貢献を行っています。

私たちは、doka northpole デバイスの研究用プロトタイプをデモンストレーションしました。

私たちは、llm のような大規模なニューラル ネットワーク モデルを複数の northpole プロセッサに効率的に分割できることを示し、単一の northpole プロセッサが視覚推論タスク (resnet50、yolo-v4) で優れたパフォーマンスを発揮することを示した以前の研究を拡張します。

northpole の独自のアーキテクチャが llm 推論に適しており、低遅延と高いエネルギー効率という 2 つの目標においてエッジおよびデータセンターの gpu を大幅に上回るパフォーマンスを実現できることを実証します。

northpole デバイスはユニットとして使用する必要があるため、高スループットのアプリケーションに最も効率的です。

この予備論文は、エネルギー効率の最適化、それに対応して大型の northpole デバイス上での大型 llm のマッピング、northpole アーキテクチャと共同最適化された新しい llm モデル、および将来のシステムおよびチップ アーキテクチャに関するさらなる研究のための出発点となります。