後藤弘茂のWeekly海外ニュース

NVIDIAが36ダイで構成するディープラーニングチップ「RC 18」を学会発表

NVIDIAがVLSI Symposiaで研究チップの概要を発表

 NVIDIAは研究目的のために開発したリサーチチップ「RC 18」の概要を、6月に京都で開催された半導体技術の学会「2019 Symposia on VLSI Technology and Circuits」で発表した。チップベンダーは、製品チップとは別に、市場に出さない研究のためだけのチップも試作している。NVIDIAは、毎年ほぼ1個のチップを試作しており、RC(Research Chip) 18は2018年版だ。

 NVIDIAの研究だが、RC 18はGPUではなく、深層学習向けのニューラルネットワークプロセッサだ。RC 18は小さなダイのニューラルネットワークプロセッサを、パッケージ上で接続するMCM(Multi-Chip Module)とすることで、スケーラブルに性能を向上できる。

 RC 18のダイは6平方mm(2.5×2.4mm)と、じつに小さい。この小さなダイをMCMでチップパッケージに複数載せることで、さまざまな用途に対応する。1個のダイ、または4個(2x2)のマルチダイなら組み込み用途、16個(4x4)のダイなら車載など、36個(6x6)のダイならデータセンターと、いった具合だ。

NVIDIAのRC 18のスケーラビリティ

 ニューラルネットワークのワークロードは幅広く、ネットワークモデルのサイズも異なり、要求される性能も異なる。そうした市場それぞれにチップを開発するのはコストがかかるため、1個のダイでスケーラブルなチップ構成を実現することで、低コストに広い市場をカバーできるようにする、というのがNVIDIAのRC 18のリサーチのモチベーションだという。論文タイトルは以下だ。「A 0.11 pJ/Op, 0.32-128 TOPS, Scalable Multi-Chip-Module-based Deep Neural Network Accelerator with Ground-Reference Signaling in 16nm」(Brian Z. et al. Symposia on VLSI Technology and Circuits, 2019)。

毎年リサーチチップを開発

 NVIDIAは、2017年にもニューラルネットワークプロセッサの研究チップ「RC 17」を試作しており、RC 18はその発展形となる。2017年のテストチップRC 17は、力点はオブジェクト指向のハイレベル論理合成ベースの設計手法にあった。

 これはDARPAの「Circuit Realization at Faster Timescales(CRAFT)」と呼ばれるリサーチプロジェクトに沿って開発されたものだった。簡単に言えば、チップ設計を劇的に容易にする手法のテストチップで、TSMCの16FFで設計し、同じ設計をGLOBALFOUNDRIESの14LPPXLにポートする実証実験が行なわれた。16FF版がRC 17で、14LPPへの移植版がRC 17bだ。14LPPへの移植は754人時で達成されているという。

NVIDIAのリサーチチップRC 18もCRAFTでのハイレベル設計で開発されているが、今回はマルチダイ構成によるスケーラビリティにポイントが置かれている。
RC 17は異なるファウンドリの異なるプロセス間で設計を容易にポートできることの実証として開発された

 それに対して、RC 18でのフォーカスは、マルチダイによるスケーラブルなチップアーキテクチャと、そのための低電力低レイテンシのダイ間の伝送信号「Ground-Referenced Signaling(GRS)」だ。NVIDIAは、以前からGPUも含めた今後のチップの方向としてマルチダイ化が重要だとしている。ハイエンドGPUであっても、ワークロードが1個のGPUに収まらなくなっており、マルチGPUでの連携が必要となるためだ。

 今回のRC 18はニューラルネットワークアクセラレータだが、NVIDIAのマルチダイ化の真のターゲットにはGPUも含まれることは確実だ。スーパーコンピュータなどのHPC(High Performance Computing)ワークロードだけでなく、一般のデータセンターでも、ディープラーニング(深層学習)の浸透によってマルチGPUが重要になるとNVIDIAは見ている。RC 18は、そうしたNVIDIAのビジョンに沿った研究となっている。

NVIDIAのマルチダイGPU構想
NVIDIAのマルチダイGPU構想

36個のダイでチューリングGPUに匹敵する性能を達成

 RC 18のダイは、6平方mmと非常に小さい。ダイのうち半分の3平方mm程度はI/Oで占められている。プロセッサや制御、バッファメモリは残りの3平方mm程度に押し込まれている。この設計からも、RC 18がマルチダイのI/Oに注力したリサーチチップであることがわかる。

 RC 18のニューラルネットワークプロセッシングエンジン部は、インファレンス(推論)向けに設計されている。演算精度は現在の推論のスイートスポットである、8-bit整数に固定されている。

RC 18のダイ
RC 18の構成。NVIDIAの商用のニューラルネットワークプロセッサコアであるDLA(Deep Learning Accelerator)とはかなりアーキテクチャが異なる
RC 18のスペック。SRAMの量はInput Activation Bufferを除いた量と見られる

 8-bit MAC(Multiply-Accumulate:積和算)ユニットは、8個ずつ束ねられ、8-wideのベクタユニットとして構成されている。ニューラルネットワークの演算を行なうプロセッサクラスタは「PE(Processing Elements)」。PEのなかには、8-wideのベクタユニットが8レーン搭載されている。つまり、PEのなかには、8-wideが8-laneで、合計64個の8-bit MACユニットが搭載されている。また、PEには、プーリングなどのポストプロセッシング処理を行なうユニットも備えられている。

 RC18は、1個のダイに合計16個のPEを搭載する。16個のPEはそれぞれ8レーン、64個の8-bit MACユニットを備える。ダイ全体では1,024個のMACユニットとなる。動作周波数は単体ダイでは最大2GHzなので、1個のダイの演算性能は約4TOPS(Tera Operations Per Second)。4個のダイのMCM構成の場合は、トータルのPE数は64でMACユニット数は8,192、ピークの性能は15.7TOPSとなる。最大構成の36ダイの場合は、PE数は576、MACユニット数は36,864、周波数は1,797MHzに落として、ピーク性能は127.8TOPSだ。

オンダイのメモリに取りこむことを期待した設計

 最大構成の36ダイの127.8TOPSは、NVIDIAのハイエンドGPUの約半分の性能だ。Turing(チューリング)アーキテクチャの最上位のTU102は、INT8で250TOPS(Tera Operations Per Second)だ。電力消費は1ダイのプロセッサコア部分で4.16W程度で、36ダイの場合106W。これに、チップ間インターフェイスの4Wが加わる。電力効率は高いが、正確に言えば、この数字にはDRAMアクセスの電力は含まれていない。

 そもそも、今回のNVIDIAのテストチップは、DRAMメモリインターフェイスを搭載しない。データは外付けのFPGAを経由してメモリから読み込む。ホストCPUともFPGA経由で接続している。DRAMからFPGA経由で読み込んだデータは、メッシュネットワークでオンチップのメモリにロードする。そのために、オンダイのメモリ量を比較的大きく取っている。

 各PEのなかに、ウエイト(重み)データのバッファ「Weight Buffer」が32KB、活性化関数のバッファ「Input Activation Buffer」が8KB、そして、出力の「Accumulation Buffer」バッファが3KBある。さらに、ダイにPEで共有する全体のバッファ「Global Buffer (GB)」が64KB備えられている。チップトータルでは752KBのSRAMメモリがデータのバッファとして用意されている。36ダイ構成の場合は、トータルで26.4MBの計算となる。PE内蔵のWeight Bufferは18MBなので、8-bitのウエイトを18M(1,800万)保持できる。逆を言えば、このサイズに収まるニューラルネットワークを想定したテストチップと見られる。

 アーキテクチャ的に見るとRC 18のPEは、DLA(Deep Learning Accelerator)と比べるとずっとシンプルで、いかにも実験チップらしい構成となっている。マルチダイによるスケーラビリティは顕著で、近年の学会発表のニューラルネットワークチップと比べるとピークの性能はずっと高い。

学会発表のほかのニューラルネットワークチップとの比較

ダイの中も外もメッシュネットワークで構成

 マルチダイ構成を可能とするRC 18は、ダイの半分をダイ間のインターコネクトなどのI/Oに割いている。RC 18のキモは、36ダイのスケーラビリティを可能とする、メッシュネットワークと、そのための低電力広帯域インターフェイスのGRSの実装にある。

 ロジカルには、RC 18のネットワークは、メッシュがメッシュに接続されたかたちとなっている。RC 18のダイの内部もメッシュネットワークで接続されているからだ。ちなみに、NVIDIAはGPUの将来の内部ネットワークとして、メッシュネットワークを使う構想も学会などで説明している。現在のGPUは、クロスバースイッチによってクラスタを接続するかたちとなっている。

 RC 18の、オンダイのメッシュネットワークは、「NoC(Network on Chip:ネットワークオンチップ)」と呼ばれている。RC 18ダイの中の16個のPEと、制御用のCPUコアであるRISC-Vの「Rocket」コア、それにGlobal Buffer (GB)は、各ユニットに内蔵したルーターでNoCに接続されている。NoCルーターのインターフェイス幅は64-bit。

NVIDIAが主催するGPU Technology Conferenceで説明されたRC 18のネットワーク。Global Bufferの部分が間違えてGlobal PEとなっている
RC 18のネットワーク接続

 NoCは、RC 18ダイに搭載されている、ダイ間ネットワーク「NoP(Network on Package)」のルータに接続する。NoPは、オンダイに備えられた上下左右4方向のダイ間インターフェイスに接続されており、パッケージ上のメッシュネットワークでほかのRC 18と通信する。

 ここで使われるのが、NVIDIAが開発した伝送技術「Ground-Referenced Signaling(GRS)」だ。GRSは、有機基板上で高速かつ低電力の伝送を実現する技術で、NVIDIAは非常に入れ込んでいる。NVIDIA GPUがマルチダイ化するときには、この技術が使われる可能性が高い。

RC 18のダイ
RC 18に実装されたGround-Referenced Signaling(GRS)
VLSI Symposia 2019の会場となったリーガロイヤルホテル京都