ソーシャルネットワークや広告プラットフォームなどで積極的に利用されているレコメンダーシステム。特定の機能があります。高い応答性が求められますが、同時にAIモデルは100GB以上と非常にボリュームがあります。また、効率的な作業のためには、かなり大きなキャッシュも必要です。推論には、CPU(メモリは多いが比較的低速)またはGPU(高速だがメモリは少ない)のいずれかが最も頻繁に使用されますが、このタスクにはあまり効率的ではありません。
同時に、ハイパースケーラーの側にも物理的な制限があります。サーバーには本格的なPCIeスロットと空き領域が多くなく、消費電力と冷却(ほとんどの場合は空気)に厳しい制限があります。これはすべて、RISC-Vアーキテクチャに基づくチップの開発を専門とするエスペラントによって考慮されました。先日、彼女はET-SoC-1 AIアクセラレーターの最初のサンプルを受け取りました。これは、彼女自身がスーパーコンピューターオンチップと呼んでいます。
目新しさは、効率が前面に出てくる周辺を含む、推奨システムの推論を目的としています。同社はそれ自体が困難な課題を設定しました。メモリとサービス配管を備えたすべてのアクセラレータは、120ワットを超えないようにする必要があります。この問題を解決するには、多くのトリックを適用する必要がありました。非常に最初で最も明白なのは、比較的小さいがユニバーサルなチップを作成することです。これは、他の同様のチップと組み合わせて、パフォーマンスを直線的に向上させることができます。
高度な並列処理を実現するには、このようなチップは小さいがエネルギー効率の高いコアに基づいている必要があります。 ISAの観点からだけでなく、トランジスタのバジェットの観点からも「シンプル」であるため、64ビットRISC-Vコアが選択されたのはそのためです。 ET-SoC-1チップは、2種類のRISC-Vコアを組み合わせたものです。従来の「ラージ」コア(ET-Maxion)とアウトオブオーダー実行で、4つしかありませんが、「スモール」コア(ET-Minion)とテンソルとベクトルの計算のサポート-1088まで。
汎用タスクはET-Maxionコアに割り当てられ、AIコンピューティングに直接参加しませんが、Linuxを直接実行できるため、ET-SoC-1を完全に自律的にすることができます。周辺機器用のもう1つのRISC-Vプロセッサは、これに役立ちます。しかし、ET-Minionカーネルは非常に単純です。命令のアウトオブオーダー実行はありませんが、SMT2と、ベクトルとテンソルを使用したINTおよびFP操作の新しい命令のセット全体をサポートしています。
ET-Minionコアは、クロックサイクルごとに、INT32の結果、16のFP32演算、または32〜FP16を格納しながら、128のINT8演算を実行できます。 「長い」テンソル演算は512サイクル(最大64千回の演算)連続して実行できますが、この間、電力を節約するために整数ブロックがオフになります。キャッシュシステムは、やや変わった方法で配置されています。コアごとに4つのメモリバンクがあり、データのL1キャッシュとして、および高速ユニバーサルメモリ(スクラッチパッド)として使用できます。
8つのET-Minionコアは、共通の命令キャッシュの周りに「クォーター」を形成します。これは、そのようなタスクがすべてのコアに対して同じ命令を持つ可能性が高いためです。さらに、8つの個別のキャッシュよりもエネルギー効率が高く、大きなチャンクでデータを送受信できるため、L2キャッシュの負荷が軽減されます。 8つの「ブロック」は、スイッチと4つの1MB SRAMバンクを備えた「近隣」を形成し、プライベートL2キャッシュ、共有L3キャッシュの一部、またはスクラッチパッドとして使用できます。
メッシュネットワークを介して、小地区は相互に通信し、他のユニット(ET-Maxion、8つのデュアルチャネルメモリコントローラー、2つのPCIe 4.0 x8ルートコンプレックス、ハードウェアRoT)と通信します。合計で、チップは約160MBのSRAMを占めます。 RAMコントローラーはLPDDR4x-4267ECCモジュール(256ビット、最大137 GB / s)をサポートします。 ET-Minionのクロック速度は500MHz〜1.5 GHzの範囲であり、ET-Maxionの範囲は500 MHz〜2GHzです。
Glacier Point V2 OCPブロックの一部として、同社は1つのボードに6つのET-SoC-1(合計6558 RISC-Vコア)を組み合わせ、192 GBのメモリ(822 GB / s)を提供しました。これはNVIDIA A100(80 GB)。このようなバンドルは800以上のトップを開発し、120ワットしか必要としません。平均して、消費量が20ワット未満で、チップあたり100〜200トップです。これにより、コンパクトなM.2モジュールを作成したり、逆にシステムをさらに拡張したりすることができます。 Yosemite v2シャーシは64チップを収容でき、ラックにはすでに384チップがあります。
レコメンダーシステムのMLPerfテストでは、前述の1ワットあたり6チップのバンドルのパフォーマンスは、Intel Xeon Platinum 8380H(250 W)の123倍、NVIDIAの2〜3倍であることが判明しました。 A10(150 W)およびT4(70W)。チップの「不便」なResNet-50テストでは、CPUとHabana Goyaアクセラレータとの違いはそれほど大きくありませんが、それどころか、NVIDIAソリューションではより顕著です。
同時に、開発者はソフトウェアのサポートについても考えました。エスペラントチップは、PyTorch、TensorFlow、MXNet、Caffe2の広範なフレームワークで動作し、既製のONNXモデルを受け入れることができます。 C ++用のSDK、およびx86ホスト用のドライバーもあります。
プロトタイプは、7nmプロセス技術を使用してTSMCで製造されています。 570mm2の面積の結晶には240億個のトランジスタが含まれています。チップには、45×45mm2の寸法のBGA2494パッケージがあります。消費電力(およびそれとともにパフォーマンス)は、10〜60 +ワットの範囲で調整可能です。テストチップは、年末までに潜在的な顧客が利用できるようになります。同社はET-SoC-1を他のワークフローや工場に適応させる準備もできていますが、OCPプラットフォームに基づくデモとクーパーレイクとの比較は、エスペラントが最初の顧客の間でそれを見て喜んでいることをFacebookに明確に示唆しています。 。
2021-08-26 07:49:09
著者: Vitalii Babkin