Youtubeで行われたGTC2020の基調講演

2020年は新型コロナウイルスの感染拡大の影響でGTC2020の論文発表はWeb上で五月雨式に実施されたりしているが、Jensen Huang CEOの名物基調講演は、Youtubeでの発表で、日本時間では5月14日の22:00からという開催となった。

  • NVIDIA A100

    自宅からGTC2020の基調講演を行うNVIDIAのJensen Huang創立者兼CEO (出典:Youtube、NVIDIA GTC 2020 Keynote Part 1)

発表の目玉は、ハイエンドのAmpere(アンペア)アーキテクチャベースの「NVIDIA A100 GPU」である。ただし、米国の次期エクサスケールスパコンのアクセラレータとしては、El CapitanとFrontierがAMDのRadeon Instinct系のCDNAアーキテクチャのGPUを使い、AuroraはIntelのXeアーキテクチャの新GPUを使うことになっており、残念なことに米国の次期トップ3となるエクサスパコンではNVIDIAのAmpereの出番は無い。

第3世代Tensorコア

しかし、GTC2020での発表を聞くと、A100は素晴らしいGPUである。A100はTSMCのカスタム7nmプロセスを使い540億トランジスタを集積し、第3世代のTensorコアを搭載している。

このTensorコアは疎な係数行列を扱う場合は、最大2倍の実効演算性能が出せる。そして、MIG(Multi Instance GPU)という機能で、A100を最大7個の仮想GPUに分割して使用できる。推論などの負荷が軽めの処理では最大7人のユーザで1個のGPUをシェアできるので、データセンターには美味しい機能である。そして、A100では第3世代のNVLinkとNVSwithになり、データバンド幅が2倍に改善されている。

以下の画像右側の写真がA100チップを搭載するモジュールであるが、目を惹くのはHBM2メモリが6個になっている点である。これでメモリバンド幅が約1.5倍になる。それからA100を取り囲むように配置されている金色の細長いICが見えるが、これらはVicorの48V給電の電源ICである。

なお、上下のHBM2の間にGPU LSIの配線パターンのようなものが見えるが、これはフェイクで、後に出てくるEGXボードの写真のように、本物はチップの情報をレーザーマーキングした黒いシリコン面が見えるだけである。

  • NVIDIA A100

    A100は540億トランジスタを集積し、第3世代のTensorコアを搭載している。疎行列の圧縮演算機能を使うとTF32で最大312TFlopsの演算性能を持つ。デバイスメモリはHBM2が6個となり、1.6TB/sのバンド幅となった(このレポートのすべての図は、GTC2020のHuang CEOの基調講演の発表スライドのコピーである)

TF32という新しい数値表現

A100 GPUの開発にあたってNVIDIAはTF32という新しい数値表現を作った。次の図に示すように、TF32ではExponentは8bit、Mantissaは10bitで、これにSignの1bitを加えても19bitで、32bitには大分足りない。バイト単位でアクセスするメモリには中途半端であるので、メモリの使用量としては32bit単位と変わりはないと思われる。しかし、積和演算などの回路としては19bitだけ計算すれば良ければ、簡単になる。

そして、TF32はExponentの部分はFP32と同じで、Mantissaの部分はFP16と同じという構造になっている。つまり計算の精度的にはFP16と同じで、数値の表現範囲の点ではFP32と同じということになっているところがミソである。

  • NVIDIA A100

    TF32は数値の精度としてはFP16と同じで、数値の表現範囲としてはFP32と同じになっている

ニューラルネットでは、すべての入力に信号が入っているとは限らない。その時に、入力に掛ける重みをゼロにしてやれば結果は正しいが、GPUとしてはゼロを掛けるという無駄な計算を行うことになってしまう。A100のTensorコアは、無駄な演算をやる演算器に有効な計算をやらせるようにして、最大2倍に実効性能を上げられるようになっている。

また、TensorコアはFP16、INT8に加えてTF32、BFLOAT16、TF32(テンソルコア用の32bit浮動小数点数)形式の数値も扱えるようになっている。

  • NVIDIA A100

    Tensorコアは、疎な係数行列の場合は無駄な演算を省いて、実効性能を最大2倍に改善することができる。また、TF32、FP16BFLOAT16、INT8、INT4が扱えるようになっている

前世代比で最大20倍の性能向上を達成

次のグラフは、前世代のV100とA100で、FP64(64bit倍精度浮動小数点数)での計算、TF32、FP16(16bitの半精度浮動小数点数)、INT8(8bitの整数)で計算した場合の演算性能を示すものである。物理シミュレーションに用いられるFP64の演算ではA100はV100の2.5倍の性能。AI演算では、V100の性能が16に対してA100のTF32演算が160、疎行列処理をすれば最大310で、V100の10倍/20倍の性能。FP16 でも2.5倍/5倍の性能。INT8ではV100の60に対して625/1250と、これも10倍/20倍と大幅な性能向上を実現している。これはNVIDIAのGPUの世代間の性能向上の歴史でも最大の性能向上であるという。

  • NVIDIA A100

    物理シミュレーションに用いられるFP64の演算ではA100はV100の2.5倍の性能向上であるが、AI演算では、10倍/20倍の性能向上を実現している。これはNVIDIAのGPUの世代間の性能向上としても最大のものである

次のグラフは自然言語理解などを行うBERTの学習性能と推論性能を示すグラフで、BERTの学習ではA100はV100の6倍の性能となっている。そして、BERTの推論ではV100を1.0とすると、A100は7倍の性能で、T4は0.6倍の性能となっている。

なお、自然言語理解は、コールセンターでの顧客対応などに必須の機能で、需要が増えている。

  • NVIDIA A100

    A100は、自然言語理解のBERTの学習ではV100の6倍の性能。BERTの推論ではV100の7倍の性能となっている

第3世代AIシステムも登場

そして、NVIDIAはA100ベースの3世代目のAIシステム「DGX A100」も発表した。次の図に見られるように、V100 GPUを使うDGX 2と比較すると高さが2割程度低くなっている。DGX 2では8個のGPUを搭載するマザーボードが2段積みになっていたが、DGX A100ではマザーボードは1枚で、A100 GPUの数は8個になっている。

しかし、A100 GPUはV100 GPUの2倍以上の性能があるので、8GPUのDGX A100の方が、V100を16個使うDGX 2より性能が高い。そのため、GPUやNVSwitchのチップ数は少ないが、お値段は19万9000ドル(約2100万円)である。

疎行列を圧縮処理した場合の性能であるが、INT8での演算性能は10Popsに達する。マシンラーニングの学習をTF32で行う場合でも、演算性能は2.5PFlopsのピーク性能を持つ。

  • NVIDIA A100

    DGX A100は、FP16演算で5PFlopsのピーク演算性能を持つ。これはTensorコアを使い、疎行列処理を適用した場合の値である

そして、通常のCPUベースのサーバと比較するとAI計算性能は150倍、メモリバンド幅は40倍、IOバンド幅も40倍。これで19万9000ドルで、Huang CEOの決めセリフの「買えば買うほど節約になる(More you buy, more you save)」がでる。

  • NVIDIA A100

    ハイエンドのCPUサーバと比較すると、NVIDIA A100はAIの計算処理では150倍、メモリバンド幅では40倍、IOバンド幅でも40倍の性能をもっている

DGX A100はNVIDIAの製品であるが、クラウドのサーバとしての使用やOEM向けにも販売しており、こちらはHGX A100という名前である。次のスライドに見られるように、Alibaba、AWS、Baidu、Google、Microsoft Azureなど大手のクラウドがA100ユーザに名を連ねている。HGXシステムの方も大手のコンピュータメーカーが名を連ねており、日本からも富士通が入っている。

  • NVIDIA A100

    HGX A100はデータセンターのアクセラレータ用の製品で、大手クラウドではAlibaba、AWSなどが名を連ねている。また、HGXを買って自社製品組み込むサーバメーカーもAtos、Cray、Dellなどが名を連ね、日本からも富士通の名が見られる

A100搭載エッジAIプラットフォームも登場

また、NVIDIAは組み込み用の「EGX A100」を発表した。次の図のように、A100 GPUと、買収を完了したMellanoxのConnectX6 DX NICを搭載したボードになっている。ボードの右側が円弧状に切り欠かれているが、その理由については説明が無かった。

このEGXボードで面白いのは、NVIDIAロゴが書かれたGPUチップの背面が見える点で、本物はメタル配線のようなパターンは見えないことが分かる。もう1つ興味深いのは、GPUの左右に灰色のDC-DCコンバータがたくさん並んでいる点で、EGXボードの電源は、48Vではなく12V給電になっている点である。多くの組み込み機器では48V DCの供給がないことに配慮したと思われる。

  • NVIDIA A100

    組み込み向け製品であるEGX A100。ここで見えているNVIDIAのロゴの付いたチップが本物のA100チップである

インターネットのページのランク付けを行うサーバは、1280億エッジのグラフを扱う現在のシステムは105本のラックに3000台のCPUサーバを必要としているという。

  • NVIDIA A100

    インターネットのページのランク付けを行うサーバは3000台のCPUサーバを使って520億エッジのグラフを処理している

これをDGX A100に置き換えると4台のDGX A100を、External NVLinkで接続すれば実現でき、処理性能的にも520億エッジ/秒であったものが6880億エッジ/秒と13倍の性能に向上し、コストは1/75と劇的に安くて済むという。13倍にも性能が上がるならDGX A100を4台も使わず1台で済みそうであるが、なぜ、こういう構成での比較になっているのかは分からない。

なお、DGX 2の世代では複数のDGX 2を接続する機能はなく、DGX A100でNVLink 3による外部接続が可能になった。

  • NVIDIA A100

    インターネットのページのランク付けは、4台のDGX A100をNVLinkの外部接続の機能を使って接続すれば実現でき、同時に処理性能は1280億エッジ/秒と13倍に向上し、コストは1/75で済むという

700PFLOPSの性能を持つ、次世代のDGX SuperPOD

大規模システムとして、NVIDIAはDGX A100を140台収容する「SuperPOD」を発表した。SuperPODには140台のDGX A100システムが収容でき、170台のMellanoxのQuantum 200G InfiniBandスイッチが含まれる。これらは280Tb/sのネットワークファブリックで結ばれ、光ケーブルの総延長は15kmになるという。そして、これに4PBのオールフラッシュのストレージが付く。

このシステムはAI計算では700PFlopsの性能を持つ。このように巨大なシステムであるが、3週間以下で作ることができるという。

  • NVIDIA A100

    NVIDIAは140台のDGX A100と170台のMellanoxのInfiniBandスイッチ、4PBのフラッシュストレージなどを纏めたSuperPODという単位でスパコンを短期で構築する

NVIDIAはSATURNVというスパコンを社内に設置しているが、今度、4台のDGX SuperPODを追加する予定であるという。これでDGX A100が560台追加されるので、ピーク演算性能は2.8ExaFlops増え、SATURNVの総演算性能は4.6ExaFlopsとなる。

  • NVIDIA A100

    NVIDIAは社内のAIスパコンの需要も多く、4台のSuperPODを増設する。現在1800台のDGXで1.8EFlopsのSATURNVは、この増設で560台のDGX A100が追加され。総計4.6ExaFlopsのシステムとなる

NVIDIAは各種のAIフレームワークを自社開発してユーザに提供しており、今回のGTCでもディープラーニングを使ってリコメンデーションを行うNVIDIA Merlinや会話型のサービスを提供するJARVISを発表した。また、自動運転のシステム開発にも力を入れており、NVIDIAの技術陣は自社のAIスパコンの大口ユーザであり、SATURNVスパコンのアップグレードを待ち望んでいるとのことである。