後藤弘茂のWeekly海外ニュース
NVIDIAが“Ampereアーキテクチャ”のモンスター級GPU「A100」を発表
2020年5月14日 22:00
7nmプロセスのハイエンドGPU
NVIDIAは、次世代の「Ampere(アンペア)」アーキテクチャのハイエンドGPU「NVIDIA A100」を発表した。
NVIDIA A100はTSMCの7nmプロセスのハイエンドGPUで、ダイサイズは826平方mmとVoltaとほぼ同等の最大サイズ、トランジスタ数は540億とVoltaの2倍以上、DRAMはHBM2でメモリインターフェイスは6,144bit、6個のHBMスタックをGPUに接続する。メモリ帯域は1.6TB/sで、メモリ容量は40GB。現状では、一般的な商用チップとしては最大規模のモンスターだ。
NVIDIAは、オンライン開催となった同社主催のGPUコンピューティングカンファレンス「GTC(GPU Technology Conference) 2020」の基調講演を、5月14日にオンラインで公開。同社を率いるJensen Huang(ジェンスン・フアン)氏(Founder and CEO)が、スピーチのなかで、Ampereの概要を発表した。
NVIDIAは、ハイエンドGPUについてはGPUコンピューティングフォーカスで設計するが、グラフィックス市場にも投入する。今回も、同ダイのグラフィックス製品が登場する見込みだが、GTCで発表されたのはデータセンター向けのGPUコンピューティング製品だ。
現行のGPUでは最大規模のNVIDIA A100は、演算性能も飛び抜けている。同社のGPUのプロセッサクラスタであるSM(Streaming Multiprocessor)数は製品として有効にされているのが108個。108個のSMで、ベクタ演算ユニット部はFP32(32-bit浮動小数点演算) CUDAコアが6,912、FP64(64-bit浮動小数点演算) CUDAコアが半分の3,456、演算性能はFP64で9.7TFLOPS、FP32で19.5 TFLOPS。動作周波数はピークが1.4GHzと推定される。
【表】NVIDIA A100のスペック | |
---|---|
トランジスタ数 | 540億 |
ダイサイズ | 826平方mm |
FP64 CUDAコア | 3,456 |
FP32 CUDAコア | 6,912 |
Tensorコア | 432 |
ストリーミングプロセッサ数 | 108 |
FP64演算性能 | 9.7TFLOPS |
FP64テンサーコア | 19.5TFLOPS |
FP32 | 19.5 TFLOPS |
TF32テンサーコア | 156TFLOPS/312TFLOPS |
BFLOAT16テンサーコア | 312TFLOPS/624TFLOPS |
FP16テンサーコア | 312TFLOPS/624TFLOPS |
INT8テンサーコア | 624TOPS/1,248TOPS |
INT4テンサーコア | 1,248TOPS/2,496TOPS |
GPUメモリ | 40GB |
GPUメモリ帯域幅 | 1.6 TB/s |
インターコネクト | NVLink 600GB/s |
ホストとの接続バス | PCIe Gen4 64GB/s |
マルチインスタンスGPU | Various Instance sizes with up to 7MIGs @5GB |
フォームファクタ | 4/8 SXM GPUs in HGX A100 |
最大電力 | 400W (SXM) |
テンサー演算ユニットを大幅に拡張
NVIDIA GPUは、Volta以降はディープラーニング向けのテンサー演算ユニット「テンサーコア(Tensor Core)」を搭載している。GPUは本質的にはベクタ演算プロセッサだが、テンサー演算プロセッサを組み合わせたハイブリッド構成とすることで、ディープラーニングの性能を飛躍させた。Ampereアーキテクチャも、その延長にある。
NVIDIA A100のテンサーコア数は432で、各SMごとに4コアの配置となる。各SMに8コアだったVoltaと比べてテンサーコア数が減っているように見えるが、これはテンサーコアの数え方が変わったためだ。Voltaでは各SMのプロセッシングブロックごとに16×16のテンサー演算ユニットが2個とカウントしていたが、Ampereでは16x32のユニットとしてカウントされている。
Ampereでは、テンサーコアが大幅に拡張された。まず、データ精度では、新たに「BFloat16」と「Tensor Float32」の2つの新データフォーマットがサポートされた。BFloat16(Brain Floating Point 16)は、ニューラルネットワーク用途を前提として提案された新しい浮動小数点数のフォーマットだ。プロセッサ業界全体で採用が進んでいる。
従来のIEEE 754の浮動小数点は、FP32(32-bit 単精度浮動小数点数)が、符号部(Sign) 1-bit、指数部(Exponent) 8-bit、仮数部(Mantissa) 23-bitで構成されている。
それに対して、FP16(16-bit 浮動小数点数)では、符号部(Sign) 1-bit、指数部(Exponent) 5-bit、仮数部(Mantissa) 10-bit。bfloat16(BF16)では符号部(Sign) 1-bit、指数部(Exponent) 8-bit、仮数部(Mantissa) 7-bit。
データサイズはFP16と同等ながら、ダイナミックレンジはFP32と同等で、仮数部のデータ精度を削った。ダイナミックレンジが重要となるニューラルネットワークに適したフォーマットだ。
一方、Tensor Float32(TF32)は、符号部(Sign) 1-bit、指数部(Exponent) 8-bit、仮数部(Mantissa) 10-bit。19-bit長で、ダイナミックレンジはFP32と同等だが、仮数部のデータ精度はFP16と同等。FP32のダイナミックレンジを持ち込みながら、FP16の精度を保つ新しいフォーマットとなっている。
Ampereのテンサーコアは、FP16以外にBF16、TF32、Int8、Int4、FP64と幅広くサポートする。TF32は、ディープラーニングのトレーニングを主眼とした拡張で、TF32の導入によってトレーニング性能が大きく伸びる。
加えて、Ampereのテンサーコアは、ディープラーニングのインファレンス処理での電力効率向上の鍵となる「プルーニング(Pruning: 剪定)」にハードウェアで対応した。プルーニングされたスパース(sparse)ネットワークを、効率よく実行するハードウェアを備える。
Ampereではスパースネットワークの実行時には、性能が最大2倍になるという。スパース対応は、ディープラーニングのインファレンス(推論)のための拡張で、これによってAmpereではインファレンスの性能が倍増する。
トレーニングとインファレンスの両方の性能を伸ばす
SM数の増加、新データフォーマットの導入、スパース対応の制御の導入によって、Ampereアーキテクチャではディープラーニングの性能は大きく伸びた。テンサーコアのBF16とFP16の性能は、通常時に312TFLOPSで、スパース時に2倍の624TFLOPS。TF32の性能は通常時に156TFLOPSで、スパース時に312TFLOPS。INT8整数演算での性能は624TOPS、スパースで1,248TOPSとなっている。
Voltaアーキテクチャでは、インファレンスは弱かったのが、Ampereではトレーニングとインファレンスの両方が強化された。ディープラーニングのトレーニングでもインファレンスでも速いGPUがA100だ。
NVIDIAは、過去2年のディープラーニング界の自然言語認識ブームの火付けとなったニューラルネットワーク「BERT」のアクセラレーションを性能比較として示した。Volta V100に対してAmpere A100は、BERTのトレーニングでの6倍、BERTのインファレンスで7倍の性能となるという。
さらに、AmpereではテンサーコアでFP64もサポートした。ベクタ部のFP64は9.7TFLOPSだが、テンサー部のFP64は19.5TFLOPSと、FP16のベクタ演算と同等の性能を達成する。こちらは、科学技術系のアプリケーションを意識した拡張と見られる。ディープラーニングアクセラレータに対して、GPUは汎用性がポイントで、Ampereでは科学技術系で重要となるFP64のサポートで、汎用的なコンピューティングも強化されている。
このほか、Ampereアーキテクチャでは、GPUチップ内のリソースを分割して異なるインスタンスを並列に走らせるマルチインスタンスに対応する。最大7インスタンスまでを1チップのなかで走らせることができる。
NVIDIA GPUはこれまで大きなワークロードにチップ全体で対応することにフォーカスして来た。しかし、AmpereではAMD GPUと同様に、より粒度の小さなタスクを並列化する方向にも舵を切った。
GPUコンピューティングシステムDGXを発売
ディープラーニングでは、ニューラルネットワークのサイズはどんどん大きくなっており、GPUにはスケールアップが求められる。NVIDIAでは、こうした状況に対応してGPUにチップ間インターコネクト「NVLink」を実装。GPU同士のダイレクトな接続を実現して来た。
NVLinkはVoltaアーキテクチャの「Tesla V100(GV100)」では、チップトータルの帯域はピーク300GB/sだった。AmpereアーキテクチャのA100では、NVLinkのトータル帯域は倍のピーク600GB/sとなる。
NVIDIAはA100をGPUコンピューティングシステム「DGX」シリーズで提供する。Ampereベースの「DGX A100」は、8個のNVIDIA A100 GPUと、2個の64コアAMD Rome CPU、それにNVLinkのスイッチであるNVSwitchが6個の構成となっている。システム全体の性能は、FP16で5 PFLOPSに登る。価格は199,000ドルだ。
また、NVIDIAはAmpereアーキテクチャを、エッジ向けのAIプラットフォームボード「NVIDIA EGX A100」としても提供する。急速に高性能が求められているエッジサイドのディープラーニングをターゲットとした製品だ。
GPUのプロセス更新レースではAMDに遅れを取ったNVIDIA。同社は、当初ウワサされていたSamsung 7nmではなく、TSMCの7nmプロセスに載せたGPUを投入してきた。ワンショットの限界のダイサイズで、コストは高いが性能も飛躍する。NVIDIAは、Ampereアーキテクチャで、ディープラーニングアクセラレータと戦うことになる。