2021年春の半導体会議で判明した新情報 AIプロセッサーの昨今

2021年春の半導体会議で判明した新情報 AIプロセッサーの昨今

  • ASCII.jp
  • 更新日:2021/05/03

今回は、ここまで説明してきたいくつかのAIプロセッサーのアップデートをお届けしたい。4月19日から4月23日まで一週間ぶっ続けで、LSPC(Linley Spring Processor Conference) 2021が開催され、ここでさまざまな発表があったのだが、従来の製品についても追加の発表、あるいは情報の更新があった。ということでそうしたものを中心に説明しよう。

サンプルの存在が判明した Cerebras WSE2

連載572回で紹介したCerebras WSEは、ほぼウェハー1枚をまるまる使ったダイサイズ4万6225mm2の巨大なチップである。もうここまで大きいとチップという言い方はそぐわない気もするのだが。このWSE(ウェハースケールエンジン)を搭載したCS-1というシステムはピッツバーグスーパーコンピューティングセンターやアルゴンヌ国立研究所が導入を始めているという話は記事の最後で説明した通り。

これに加えてローレンス・リバモア国立研究所やエジンバラパラレルコンピューティングセンターやグラクソ・スミスクラインなどでも導入されたことが明らかにされ、さらに他にも重工業や製薬/バイオ、防衛などの用途でも導入され始めたことが明らかにされた。

No image

グラクソ・スミスクラインは創薬向けの用途にCS-1を利用するとのこと

またAI用途だけでなく、HPC向けの論文も米国立エネルギー技術研究所との共著で出したといった話も紹介された。

No image

HPC向けの論文は、600×595×1536メッシュの構造を線型方程式で解く(この際にBi-CGSTAB法と呼ばれる方式を利用した)という処理を、CS-1を利用して実施したというもの

ちなみに論文によれば、1台のCS-1で0.86PFlopsの処理性能でこれを実施できたそうで、ピーク性能のおおむね1/3の性能となるとする。他のシステムと比較すると、例えばNVIDIA A100の理論ピーク性能が78Flops/19.5Flops/9.7Flops(FP16/FP32/FP64)なので、これと比べても11倍~89倍高速ということになる。

国立エネルギー技術研究所はJoule 2.0というスーパーコンピューターを運用しており、これは4320個のXeon Gold 6148にTesla P100を組み合わせたシステムで、TOP500のスコアでは2020年11月に81位。理論性能は5750.8TFlops、実性能は3608.6TFlopsというものであるが、これと比較してCS-1は200倍高速、というのは普通では考えられない。

ちなみにその200倍を達成できた仕組みが下の画像だ。Z方向をSRAMに、X/Y方向をFeature Mapにそれぞれ格納する形でこれを実装することで、ローカルメモリーのみを利用して演算をひたすらブンまわせるようになり、これが性能向上につながったわけだ。

No image

加えてウェハースケールエンジンではとにかくプロセッサーの数が多いため、3Dのメッシュを2Dに展開しても収まる(うまく収まるように展開する)ことで、Mul-Addの計算だけ高速で処理すればよいという形に実装できるとする

ところで消費電力が4600分の1というのはわかる(Joule 2.0はおそらく2160ノードほどになる)が、コストが「たったの」650分の1というのは、CS-1のお値段はJoule 2.0の4ノード分ほどでしかないことになる。実際にはここにインターコネクトやストレージなどいろいろ組み合わせる必要があるので、2ソケットのHP Proliant4台分よりはずっと高いのだが、それでも意外にお安いというのが率直な感想である。

さて本題はWSE-2である。そもそもWSEはTSMCの16nmを利用しており、すでに7nmが広く量産に使われていることを考えれば早晩移行するものと思われていたが、「そもそも可能なのか?」ということを含めてこれまで同社は説明をしてこなかった。今回はこのTSMCのN7を使ったWSE2のサンプルがすでに存在することを明らかにしたことになる。

No image

TSMCのN7を使ったWSE-2。個々のタイルのサイズもおおむね初代WSEと同じに見える

内部のアーキテクチャーなどは一切変更がなく、微細化によってより多くのコアとメモリーを搭載できる、というのが唯一のメリットになる。

No image

圧巻のスケール。トランジスタ数が2.17倍に増えた関係で、メモリー容量やコア数、帯域幅なども全部2.2倍近くになった。数字そのものはここまでインフレすると、もうよくわからない

すでにこのWSE-2を搭載したCS-2も稼働している。またWSEと構造が変わらないのでCS-1用のソフトウェアは基本そのままCS-2で動くという話であった。

No image

CS-1とCS-2の違いはWSEとWSE-2の違いが最大のもので、それ以外はほとんど変わらない模様

2021年中旬にサンプルを出荷予定の Tenstorrent Wormhole

連載599回で紹介したTenstorrent、最近では4月22日に、次世代製品にSiFiveのX280プロセッサーを採用することを発表するなど、着々と将来の製品に向けての布石を打っている。

X280そのものは8段のパイプラインを持つDual-Issue/In-OrderのRV64(64bit RISC-V)プロセッサーだが、最大の特徴はRVV(RISC-V Vector Extension)に対応したことだ。このVector Extentionは特に機械学習向けを意識してBF16/FP16・32・64/INT8・16・32・64の各データ型に対応。Vectorサイズは512bitになっており、最大で64演算が1サイクルで可能になっている。

もっとも、Tenstorrentは次世代製品をこのコアをベースにする、というよりは既存のJawbridge/Grayslullともにアプリケーションプロセッサーとして4コア構成のARC CPUを搭載しており、これをこのX280で置き換えるつもりなのではないかと筆者は想像する(まだTenstorrentはX280の使い方を公開していない)。

No image

JawbridgeとGrayslullはアプリケーションプロセッサーとして4コア構成のARC CPUを搭載している

それはともかくとしてそのTenstorrent、LSPC 2021では連載599回の最後で触れたWormholeの詳細を公開した。上の画像にもあったが「Jawbridge:6コア(プロトタイプ)」と「Grayskull:120コア」 という構図になっていたが、Wormholeはむしろコアそのものは80に減っている。

No image

いろいろ図を間違えているようで、上の画像ではGraySkullのCompute Coreが80個、こちらのスライドでは120個が記載されているが、実際はWormholeが80個となる。その代わりメモリーI/FはGDDR6×6に増え、PCIeに加えて16ポートの100Gイーサネットを搭載した構造である

なぜコア数が減るかと言えば、以下の理由があるからである。

学習向けに、内部メモリーを強化するなどした。

スケールアップ向けに性能/消費電力比を改善した。

同じくスケールアップ向けにI/Fを強化した。

学習向けの場合、推論向けとは桁違いの演算能力が必要になる。これに対しての基本的な発想はCerebrasのWSE/WSE2と同じで「数は力」なので、どれだけスケールさせられるかの勝負となる。これに向けて、1個1個のダイの性能は落ちても、性能/消費電力比を改善させられればむしろ好ましい、という発想である。

基本的な構造は推論向けのJawBridgeやGraySkullと変わらないが、より演算効率を引き上げたり、I/Oを強化したりといった形で洗練されることになった。演算効率の向上については、1個のTensixコアあたりの演算スループットを引き上げたほか、搭載するSIMDエンジンでより複雑な算術/論理演算を行なえるように強化したとしている。またTensixコアに搭載されるSRAMの量も強化したとの話だ。

No image

32bit GDDR6/16Gbpsだとするとチャネルあたり64GB/秒。6chで384GB/秒となる。GrayskullはLPDDR4-4266×8とするとチャネル当たり17GB/秒、8chで136.5GB/秒程度で、軽く3倍ほどの帯域に強化された形になる

さて、これ単体では効率を上げたとはいえ絶対的な性能は当然落ちるわけだが、そこで100Gイーサネットを16ポートも搭載していることが効いてくる。フォームファクターとしては75WのPCIeカードと、Wormholeモジュールという2種類の形態が用意されており、このモジュール同士を8×4で相互接続した構成がNebulaとなる。

No image

WormholeモジュールのTDPが発表されていないあたりがお察し。さすがに100Wを大きく超えるとは思えないが

No image

Nebulaの構成。おそらく100Gイーサネットは、物理的に高速に接続できるうえ、PHYのIPも広く提供されており、安価に利用できるという意味で採用されただけで、ここにTCP/IPを通しているわけではないだろう。もちろんPCIeカードの方はTCP/IPでの接続を前提としているはずなので、通せないわけでもないだろう

このまま上端と下端、左端と右端を相互接続すれば2次元トーラス構造になるわけだが、あえて“External connectivity”としているのは、このNeburaを複数接続するのにも利用するためである。

Nebura(それぞれは4Uラックに収まる)を8枚と、さらに管理用と思われる2U EPYCサーバー×4、それとMemory Pool(SSDかなにかだと思うが詳細は今回語られなかった)をまとめて48Uラックに突っ込んだのがGalaxyである。

No image

Galaxyの構成。ほかに、Neburaを4本に抑え、その分Memory Poolを強化するという構成も提案されている

1本のGalaxyラックにはWormholeモジュールが256個搭載され、トータルでは20480個のTensixコアが稼働することになる。この48Uラックの構造を展開したのが下の画像である。

No image

水色が横方向、赤が縦方向のイーサネットである。余談だが、ラック内の配線は100GBASE-CR4あたりを使うと思われる。必要になるトランシーバーモジュールだけでもすごい数(と消費電力)になりそうではある

Nebura内部のWormholeモジュール間の通信に比べると、Nebura間の通信は若干レイテンシーが増えるとは思うのだが、それは20nsが30nsになる程度で、数倍にはならない(レイテンシーで一番大きいのは100GイーサネットのPHYを経由する部分なので、ここはNebura内でもNebura間でも変わらない)と想像されるので、比較的性能は強化しやすいだろう。

Tenstorrentはさらに、スーパーコンピューター向けの2ラック構成と、データセンター向け構成の提案もしている。

No image

理論上は縦方向にさらに広げることで4ラック構成も不可能ではないと思うのだが、現在はソフトウェアの方が2ラック/40960 Tensixコアを最大構成と想定しているようで、これが限界な模様だ

No image

もっとも高性能なスイッチといっても、合計で320本もの100Gイーサネットのルーティングをカバーするのは容易ではない。これだけのポート数だとそれだけでラックを20Uくらい占有しかねないので、現実的ではないだろう

スーパーコンピューター向けは、言ってみればこれ全体で1つの学習を高速に実行する構成に向けたもので、Galaxyの48Uラックの構成を横方向に拡大した形だ。一方のデータセンター向け構成の方は、複数の学習処理を同時に走らせる、例えばクラウドサービスの形で複数の顧客が分け合って使う的な使い方を想定した模様で、こちらはNebura内こそ縦横400Gbpsの相互接続になっているが、Nebura間は100Gのネットワークでつながる疎結合的な構成である。

スーパーコンピューター向けとデータセンター向けでは物理的に配線が異なるので簡単に切り替えることはできないが、ニーズに応じて変更できるというのは良い話である。もちろん高性能なスイッチを入れれば、動的に2つの構成を入れ替えることも可能だが、スイッチを挟んだ瞬間にレイテンシーが増えることは否めないので、スーパーコンピューター向けの構成を希望するユーザーにはスイッチの導入は受け入れられないだろう。

ここでのポイントは、最大40960コアまでほぼ均一のレイテンシーでアクセスできるので、ユーザーはあまり構成を意識する必要がないことだ。強いて言うなら、1つのWormhole内では非常に高速だが、それを超えるNeburaなりGalaxyに関して言えば一定のレイテンシーがかかる。これさえ意識していれば比較的簡単にアプリケーションを最適化できることになる。

このWormhole、現在は最初のサンプルがラボで稼働中という状況である。同社によれば2021年中旬にサンプル出荷を開始するそうで、秋のLinley Processor Conferenceでは動作周波数や性能、消費電力に関してもう少し具体的な数字が出てくるかもしれない。

AIプロセッサーの性能比較

これまでけっこうな数のAIプロセッサを紹介してきたが、ほとんどのケースで「当社の○○は△△社の××と比較してn倍の性能」とか「ピーク性能×××TOPS」みたいな表記である。基準がないというのが1つの理由であり、それもあってMLCommonsという業界標準団体がMLPerfという標準ベンチマークを策定中である。

今年4月21日にはMLPerf Inference 1.0がリリースされ、すでにそれなりの数のベンチマーク結果が登録されてはいるのだが、クラウドあるいはエッジ向けはともかく、MCU上で動くような小さなものにはあまり適さないという問題はまだ残っている。過去に紹介した例で言えば、FlexLogicなどがそうで、ここはダイサイズあたりのスループットという、これはこれで類を見ない基準で性能をアピールしている。

この問題について、今回初日に行なわれたEdge AI向けで2社がまったく同じ主張をしているのが少しおもしろかった。まずはexpedera。ピークのTOPS性能だけを見ても仕方がないし、そもそも内部の利用率や周辺回路を含めたシステム全体の消費電力、チップの価格なども関係してくるとした上で、IPS(推論性能:回数/秒)を消費電力で割った、IPS/Wを判断基準にすべきだ、と主張している。

No image

これを言い始めると「ではどのネットワークをを使うか」で議論になる。結果、SPEC CPUのように、複数のネットワークにおける性能を幾何平均で算出したりして、これまた現実離れしていくわけだ

No image

外部のDRAMを使うチップの場合、IPS/Wも加味しないと公平とは言えないので、この主張そのものには一理あるのは事実

ちなみにベンチマークはResNet-50を使うのが一般的としたうえで、おおむね550IPS/Wあたりに性能の壁がある、とexpederaは説明している。

No image

ResNet-50が(特にベンチマークに)広く使われているのは事実だが、基準にするには軽すぎないか? という気がする

ほぼ同じ主張をしたのは、expederaの次に説明したHailoだ。通常AIチップの市場は以下の3つを使うことが多い。

X:TOPs(ピーク性能)

Y:TOPS/W(ピーク性能をTDPで割った、性能効率)

Z:ResNet-50のフレームレート

No image

これはMLPerf 0.5の結果を示したもの。ちなみにMLPerfでは消費電力の記録があるもの(Close-Power/Open-Power)とないもの(Close/Open)があり、ない方が圧倒的多数なのも困ったもの

TOPs/Wは良く使われてはいるが、そもそもそのTOPsはピーク性能であることが多く、現実的ではないとした上で、それよりはフレームレート(つまり毎秒の推論数)を消費電力で割った、FPS/Wが良い指標になるとしている。

No image

例えばResNet-50の場合でも、結果はフレームレートとしてしか出てこない(1回の推論に要した時間で測るしかない)が、ここから正確なTOPsを算出するのは困難である。であれば実際の推論数/Wの方が現実的で意味があるというわけだ

expederaとHailoがどちらもResNet-50の「消費電力1Wあたりの推論性能」で比較しよう、とまるで申し合わせたかのように主張するのはなかなか興味深い。ということは同じように考えているメーカーは他にもいるかもしれないわけで、今後登場する製品やすでに登場している製品のマーケティングに多少影響を与えるかもしれない。

ただIPベンダーの場合、最終的な性能は当然どのプロセスでどのくらいの動作周波数で動かすかによって変わってくる。かつてARMがやっていたように、「WWW社のXXXプロセスで、動作周波数YYYだとZZZ IPS/Wになる」というようなアピールの仕方になるのだろうか?

大原雄介(http://www.yusuke-ohara.com/) 編集●北村/ASCII

この記事をお届けした
グノシーの最新ニュース情報を、

でも最新ニュース情報をお届けしています。
  • このエントリーをはてなブックマークに追加