Nvidia: AIに取り組む人にとって、8ビットあれば十分だろう

Table of Contents

Nvidia: AIに取り組む人にとって、8ビットあれば十分だろう

分析Nvidia は AI アプリケーション向けに 2 つの新しい Tesla プロセッサ (P4 と P40) を設計し、その 8 ビットの演算性能を宣伝しています。

16nm FinFET GPUはNvのPascalアーキテクチャを採用し、6月に発売されたP100の後継機です。P4はハーフハイト、ハーフレングスのPCIeカードに搭載可能で、スケールアウトサーバーに最適です。一方、より高性能なP40はスケールアップサーバー向けです。

新しい2つの製品は主に推論作業を目的としており、ハードウェアにトレーニング済みのAIモデル、適切なソフトウェア、カメラからのビデオやマイクからの音声などの入力データを与えると、決定、音声からテキストへの翻訳、オブジェクトの分類などが生成されます。

今では、ディープラーニング モデルが非常に精巧になり、大量のトレーニング データを使用する強力なシステム上に構築されているため、推論側が追いつく必要がある段階に達しています。複雑なニューラル ネットワークに情報を送り込み、リアルタイムで決定を下すには、適切な数値計算プロセッサが必要です。

これは、Intel、Nvidia などの企業にとってはトレーニングや推論用の高性能チップを販売できるという意味で良いニュースだが、私たち消費者にとっては悪いニュースだ。つまり、ますます多くのデータをクラウドに送ってそこで処理し、その結果を携帯電話、タブレット、ガジェット、機器に送り返す必要があり、安定したインターネット接続への依存度が高まり、遠く離れたプラットフォームへの信頼も高まるということだ。

NVIDIAのシニアプロダクトマネージャー、ロイ・キム氏は、今後の方向性として「ハイブリッド」アプローチを挙げた。デバイス上には精度の低いモデルを配置し、即座に判断を下せるようにする一方、より強力なバックエンドが状況を処理し、より繊細な判断を下す。キム氏によると、最先端の画像認識システムは150層以上のニューロン層を備えているため、推論側にさらなる強化が必要だという。

新着情報?

推論スループットを最大化し、クラウド上のIoTパーソナルアシスタントに質問をしても応答が遅くならないようにするため、NVIDIAはPascalアーキテクチャにIDP2AとIDP4Aという2つの命令を追加しました。これらは、2要素および4要素の8ビットベクトルドット積計算を32ビットの累算で実行します。

もし私がバカなハッカーだったら、今すぐNVIDIAが6502やZ80の古き良き時代を熱心に受け入れていると熱弁をふるうところだが、まあ、そのくだらない話はやめておく。要するに、データサイエンティストはニューラルネットワークには8ビット精度で十分だと言っている。そうすれば、GPUは16ビットや32ビットのより広い値を処理するよりも多くのバイトを扱えるからだ。入力データを深いレベルのパーセプトロンに流し込むのに、そんなレベルの精度は必要ない。

GoogleのTensorFlowアクセラレーションASICは推論に8ビットを使用するようです。IntelとAMDのチップも8ビットベクトルを高速処理できます。

ドットって何?

ベクトル内積は、人工ニューラルネットワークの核心です。現在、AI関連のあらゆる話題の中心となっているのは、内積やその他の公式といった一連の数式です。これらは入力データから特徴を抽出し、より平易に言えば、センサーやカメラなどから得られる情報の中から興味深い要素を識別し、ソフトウェアがそれに基づいて動作できるようにするものです。これは、データが流入し、様々な経路に沿って異なる重み付けで少しずつ流れていくネットワークを組み立て、つまりトレーニングすることで実現されます。この重みは、入力データの特徴を検出するためにトレーニング中に割り当てられます。

これがどのように動作するかについての簡単な紹介はここ、より詳しいチュートリアルはこことここ [PDF] にあります。

下の単一ニューロンの図は恐ろしく見えますが、想像するほど恐ろしいものではありません。左側からn本のパスに沿ってx 1からx nまでの値が入力されます。それぞれの入力値x i は、そのパスの重みw iで乗算され、それらの乗算結果がすべて加算されます。これがドット積の部分です。そして、その合計が閾値関数または活性化関数に入力され、その出力がネットワーク内の次のパーセプトロンに入力されます。

これらをリンクすると、2 つの入力、3 つのニューロン、および 1 つの出力を持つ基本ネットワークのようなものが得られます。

一番上のニューロンだけを取り上げてみましょう。このニューロンはM入力値を受け取り、重みθ 1を掛け合わせ、その結果をJにθ 2を掛け合わせたものに加算します。そして、その加算結果を活性化関数に通し、結果を一番右のニューロンに入力します。

したがって、活性化関数を無視すると、最上位ニューロンのドット積出力は ( M x θ 1 ) + ( J x θ 2 ) となります。ここで、これらの変数がそれぞれ -127 から 127、つまり 0 から 255 の範囲の 8 ビット整数であると想像してください。そして、これらのドット積演算を 1 秒間に最大 47 兆回実行し、すべての入力を結合してネットワークの次のステージに入力すると想像してください。これが Nvidia の P40 が主張する機能です。Nv が高速化された 8 ビットドット積演算とは、まさにこのことを意味します。

Nvidiaはまた、同社のP4は、8ビット整数を使用して最高で1秒あたり21.8兆回の演算を実行でき、AlexaNetでトレーニングされたモデルを使用した場合、1ワットあたり1秒あたりに分類される画像の数に関して、P4はIntel Xeon E5 CPUよりも「40倍効率的」であると主張している。

これは、AIモデルを8ビットの重みに圧縮した後のことです。これは音声認識用にトレーニングされたモデルには適しているようですが、画像分類などの推論作業にも適しています。

新しい P4 および P40 を含む Tesla GPU シリーズの完全な仕様は次のとおりです。

テスラアクセラレータ テスラM4 テスラP4 テスラM40 テスラP40
グラフィックプロセッサ マクスウェル GM206 パスカル GP104 マクスウェル GM200 パスカル GP102
ストリーミング
マルチプロセッサ
8 20 24 30
FP32 CUDA コア / SM 128 128 128 128
FP32 CUDAコア/GPU 1024 2560 3072 3840
ベースクロック 872 MHz 810MHz 948MHz 1303 MHz
GPUブーストクロック 1072MHz 1063MHz 1114 MHz 1531MHz
INT8 トップ/秒 該当なし 21.8 該当なし 47.0
FP32 ギガフロップス/秒 2195 5442 6844 11758
FP64 ギガフロップス/秒 69 170 213 367
テクスチャユニット 64 160 192 240
メモリインターフェース 128ビットGDDR5 256ビットGDDR5 384ビットGDDR5 384ビットGDDR5
メモリ帯域幅 88 GB/秒 192 GB/秒 288 GB/秒 346 GB/秒
メモリサイズ 4ギガバイト 8GB 12/24GB 24GB
L2キャッシュサイズ 2048 KB 2048 KB 3072 KB 3072 KB
レジスタファイルサイズ / SM 256KB 256KB 256KB 256KB
レジスタファイルサイズ / GPU 2048 KB 5120 KB 6144 KB 7680 KB
共有メモリサイズ / SM 96KB 128KB 96KB 128KB
コンピューティング能力 5.2 6.1 5.2 6.1
TDP 50/75ワット 75 W(50 Wオプション) 250ワット 250ワット
トランジスタ 29億 72億 80億 120億
GPUダイサイズ 227 mm² 314 mm² 601 mm² 471 mm²
製造工程 28nm 16nm 28nm 16nm

P4とP40は10月と11月に発売される予定です。もし今すぐ同様のキットを手に入れたいのであれば、7月に登場したNvのPascalベースのTitan Xグラフィックカードがおすすめです。こちらも8ビット整数演算を44TOPSで実行できます。P40は基本的にTitan Xのやや高性能版です。

一方、Nvidia は、自社のハードウェア上で動作する推論エンジン TensorRT と、高解像度 (HEVC、VP9) ビデオ内の人物や物体を識別できる Deepstream というソフトウェア開発キットをリリースしました。®

Discover More