このページの本文へ

前へ 1 2 3 次へ

ロードマップでわかる!当世プロセッサー事情 第582回

268億個のトランジスタを搭載するGroqのAI推論向け巨大チップTSP AIプロセッサーの昨今

2020年09月28日 12時00分更新

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

  • この記事をはてなブックマークに追加
  • 本文印刷

データ処理中心のアーキテクチャーにするため
CPUをバラバラに分解して再配置した「TSP」

 久々のAIプロセッサー連載となる。今週はGroqという会社のTSP(Tensor Streaming Processor)というチップを取り上げたい。Groqは2016年創業の会社。創業者はJonathan Ross氏(当初はCTO、2018年末からCEO)とDoug Wightman氏(2018年末までCEO)、それとChamath Palihapitiya氏(現在も会長を務める)といったメンバー。いずれもGoogleの出身である。

 特に現CEOのRoss氏は、GoogleでTPU(Tensor processing unit)の開発をしていた人間である。Wightman氏はGoogle Xの“moonshot factory”のエンジニアだった。創業メンバーには、他にXilinxで18年務めた後でGroqにCOOとして参加したKrishna Rangasayee氏などもいたが、氏は2018年11月に辞任、SIMa.aiという別のAI向けプロセッサー企業を創業するなどしている。

 この2018年末というのは、会社の方針を巡っていろいろ内紛とまではいかないもののゴタゴタがあったらしいのだが、そのあたりはあまり外には伝わってきていない。ただこうしたことがあると、最終的に製品が出ないままに空中分解なんてこともベンチャー企業では珍しくない。

 実際、昨年のAI Hardware Summitにおいて同社はスポンサーをしていたにも関わらず出展を取りやめており、会社そのものの存続が危ぶまれていたのだが、幸いにも同社はそうした危機を無事乗り越え、今年にはついにA0シリコンの出荷開始にこぎつけている。ちなみにAI Hardware Summit出展キャンセルの理由について、同社は「顧客の都合(Customer Issues)」と説明していた。

TSPのA0シリコンが載った評価ボード

 そのTSP開発におけるアーキテクチャーの根底をなす考え方が下の画像だ。

昨今ではNVIDIAのA100が540億個のトランジスタなので、すさまじいものがある

計算密度に着目というのは目新しくないが、Batch Sizeを1にした時の性能で評価するのはかなり意欲的である

 200億のトランジスタがあっても、ILPを引き上げるために複雑な仕組みを取り入れていることで利用効率が低い、というのは連載581回でスライドを掲載したPOWER 10チップを考えれば理解できる。

 180億トランジスタも費やしながら、コアそのものはSMT8のものがたったの15個、最大でも120スレッドである。つまり1スレッドあたり1.5億トランジスタを使っている、という計算もできるわけで、この不効率性をなんとかしたいというのが最初のモチベーションである。

 そしてAI市場の場合、それが学習にしても推論にしても問題になるのは計算密度(単位あたりのダイサイズでどれだけ計算ができるか)になる。実際x86でもArmでも、IPCなどはAIの性能にあまり寄与していない。

 むしろSIMD的にどれだけ大量に計算処理を廻せるかに特化した方が効率よく動くし、そもそもAIでは条件分岐などが非常に少ない(ないわけではないが、アルゴリズム的に条件分岐を使わずにインプリメントできるケースが大半)から、そもそも従来型の命令処理中心のアーキテクチャーではなく、データ処理中心のアーキテクチャーにすることが求められている、という割り切りである。

 その割り切った結果が下の画像だ。考え方としてはVILWにやや似ている気もするが、もっと強烈だ。要するにOut-of-Order型プロセッサーのバックエンドにあたる部分をバラバラに分解して、それぞれを独立した“Tile”として並べる格好になる。

“CPU”(Central Processing Unit)が、ただの“Processing Unit”になるわけだ。ちなみにこの図では縦方向に7つしかTileが並んでないが、実際はこれが20個並ぶ格好だ

 その意味ではDSPというか、多分一番近いのはXilinxがVersal ACAPという新しいFPGAで投入するAI Coreと呼ばれる独自アクセラレーターコアだと思うが、そんな説明ではわからないだろう。

 上の画像は概念であるが、例えばFP/INT演算ならそれだけを実行するコア(Groqの用語で言えばTile)を20個並べて(これは縦方向)、Sliceと称する。処理はこのSliceの単位で行なう形になる。

前へ 1 2 3 次へ

カテゴリートップへ

この連載の記事

注目ニュース

ASCII倶楽部

プレミアムPC試用レポート

ピックアップ

ASCII.jp RSS2.0 配信中

ASCII.jpメール デジタルMac/iPodマガジン