イベントから学ぶ最新技術情報

イベントから学ぶ最新技術情報

GTC 2018におけるAI関連の発表内容、そこから見えるNVIDIAの方向性

2018年4月20日

「NVSwitch」「DGX-2」「TensorRT 4」「ARM社との提携」といったAI関連の発表内容を中心に、GTC 2018の注目ポイントを紹介。そこから垣間見える、NVIDIA社の「AI戦略」を考える。

塩田紳二 塩田 紳二

 NVIDIA社は、2018年3月18日から22日まで、米国カリフォルニア州サンノゼ市で、同社の年次イベントであるGTC 2018を開催した。GTCは、GPU Technology Conferenceの略だが、最近では、「AI & Deep Learning Conference」と併記されるようになった。かつては、GPUによるグラフィックス技術などが中心だったが、NVIDIA社がAI技術に積極的に取り組むようになってから大きく変化している。参加者はここ数年、年々増加しており、今年は、のべ9000人を越える参加者があったという。

 GTCの期間中に発表されたもののうち、直接的にAIと関係するのは、

  • NVSwitch
  • DGX-2
  • TensorRT 4
  • ARM社との提携

などである。

 また、間接的にAIと関連するものとして「自動運転関連製品」「ロボティクス関連」「HealthCare関連」「データセンター向けGPU仮想化ソフトウェア」などの発表もあった。

 本稿では、上記に挙げたAI関連の発表内容を中心にGTC 2018の注目ポイントを簡単に紹介するとともに、GTC 2018の期間中に行われた同社の発表内容や基調講演などから、NVIDIA社の「AI戦略」を考えてみる。

GTC 2018におけるAI関連の注目ポイント

NVSwitch

 GTCでは、ここ数年、新しいGPUアーキテクチャが発表されてきた。しかし、今回は、新しいGPUアーキテクチャの発表はなかった。その代わり、既存のVoltaアーキテクチャのGPUであるTesla V100を最大16台接続するNVSwitchが発表されている(図1)。

図1 NVIDIA社が開発したNVSwitchチップは、6個で一組となり、そこに8つのTesla V100 GPUを300GB/秒で相互接続できる。最大構成では、12個のNVSwitchチップを使い16個のV100を相互接続できる

 NVSwitchは、完全なファブリックスイッチで、Tesla V100の持つNVLink(双方向で50GB/秒。1つのV100は、6組のNVLinkを持つ)を接続できる。

メモリ32GBのTesla V100

 また、メモリ32GBのTesla V100も発表されている。

 Tesla V100は、デバイスのパッケージ上に高速なHBM(High Band width Memory)を搭載している。2017年までは、16GBのメモリが1つのTesla V100 GPUに搭載されていた。今回は、搭載チップを変更し、容量を2倍にした。

 このメモリは、GPUが動作するときに必要なデータを格納しておくものだ。イメージ的には、ビデオメモリなのだが、GPUを汎用演算に使う場合には、演算対象となるデータを格納することになる。

 このメモリに置かれるデータは、通常メインCPU側から提供される。その接続には、x86/x64アーキテクチャのCPUであれば、PCI Expressが使われるが、このデータ転送が計算処理によっては、ネックになっていた。

 つまり、Tesla V100のメモリ容量の増強によって、まとめて演算対象とするデータを従来の2倍格納でき、PCI Expressによる転送回数を減らすことが可能になるというわけだ。

DGX-2

 今回、32GB版Tesla V100やNVSwitchを実際に搭載した製品として、DGX-2も発表されている(図2)。

図2 16個のTesla V100を搭載するDGX-2。前世代のDGX-1ではV100を8個しか搭載できなかった

 DGX-2は、最大16個のTesla V100をNVLinkで接続したAI向けのコンピュータだ。

英国ARM社との提携

 基調講演では触れられなかったが、GTCの初日、英国ARM社との提携が発表されている。

 ARM社は、同社のプロセッサ向けにAI用デバイスを開発する「Project Trillium」を2018年発表している。ARM社は、NVIDIA社のNVDLANVIDIA Deep Learning Accelerator)を採用する。NVDLAは、Deep Learningの推論専用のハードウェアで、Convolution Core、Single/Planar/Channelの3つのデータプロセッサと、専用メモリ、Data Reshapeエンジンなどのモジュールから成り、これらを組み合わせて推論処理を行う。

TensorRT 4

 GTC 2018では、ディープラーニングの推論処理の最適化処理とその実行環境であるTensorRTをバージョンアップしたTensorRT 4も発表されている(図3)。

図3 TensorRT 4では、GoogleのTensorFlow 1.7との統合が行われ、RNN(再帰型ニューラルネットワーク)などに対応した。これにより、ResNet-50の推論速度を、汎用CPUを使った場合の190倍に引き上げることが可能になったという

 TensorRTは、学習済みのネットワークモデルをノードを縮約するなどして最適化し、演算精度を8bit整数や16bit浮動小数点に変換するなどして高速化するためのソフトウェアである。前述のNVDLA用のネットワークモデルを出力することもできる。

 TensorRT 4は、RNN、多層パーセプトロン(Multilayer perceptrons:MLP)に対応し、Tesla V100(Volta)のTensor Coreを利用することで半精度浮動小数点(FP16)による推論速度を従来の3倍高速化した。

 Googleの深層学習(DL)フレームワークであるTensorFlow 1.7に統合されていることに加えて、TensorRT 4には、専用のONNX(Open Neural Network Exchange)形式のパーサーが含まれている。なお、ONNXとは、Chainer/PyTorch/Caffe2/CNTK(Microsoft Cognitive Toolkit)/MXNetなどの各種DLフレームワーク間でモデルを共有するためのフォーマットのことである。このため、TensorFlow以外の各種DLフレームワークでも、学習したモデルをONNX形式で出力することで、TensorRTでのオプティマイズや実行が可能になる。

 以上がGTC 2018で発表されたAI関連の注目ポイントである。これらを踏まえて、NVIDAがAI/深層学習を中心にどのような方向性で戦略を立てているのか、現地で取材して筆者が感じたことをまとめよう。

発表内容から見えるNVIDIAの方向性

(1)GPU性能を向上させる新たな方法の提供

 2017年まで、NVIDIAは、毎年のように新しいGPUアーキテクチャを開発してきたが、アーキテクチャによるGPUの改良には限界がある。NVIDA系のGPUでは、Streaming MultiprocessorSM)と呼ばれる演算ユニットの性能自体と、SMの数を増やすことで性能を向上させてきた。簡単にいえば、製造プロセスが進化することで集積するトランジスターが小さくなり、より多くのトランジスターを搭載でき、それによって性能を向上させてきたわけだ。しかし、ここにきて、製造プロセス進化の速度が鈍化しているため、同じ手法では、性能向上も鈍化してしまう。

 そこで、NVIDIAが投入したのがNVSwitchだ。簡単にいうと、GPU同士をNVLinkで接続することで、複数のGPUデバイス(パッケージ。汎用プロセッサーでいうソケット)を単一のGPUとして動作させることができるようになる。NVSwitchは、NVLink間を接続する高速なファブリックスイッチだ。汎用CPUでいうマルチプロセッサ構成を可能にすることで、並列演算が可能な場合に性能を向上させることが可能になるわけだ。

 そのメリットは、ソフトウェア側のプログラミングモデルが変わらない点にある。汎用CPUでいえば、合計のコア数やメモリ量などは同じだが、1つのシステムになっているか、複数のシステムになっているかという違いだ。前者では、複数のコアがメモリを共有するため、並列度は違うが、同じプログラミングモデルが利用できる。後者の場合には、クラスター構成されたHPCシステムのように独立したシステムを連携させるようなプログラミングモデルを使う必要がある。

 Tesla V100のNVLinkは、双方向で50GB/秒という転送速度を持つNVLinkを6リンク持つ。NVSwitch登場前は、このNVLinkを直接使って、最大8つのVolta GPU(Tesla V100)を接続していた。しかし、この方法では、接続方法にもよるが最大4~8つ程度が限界になること、NVLinkが6本しかないことから、接続数が多いと直接接続できないGPUがでてしまうこと、1リンクでは転送速度が50GB/秒に限定されることといった問題があった(図4)。

図4 NVSwitch登場以前には、Tesla V100 GPUが持つ6本のNVLinkを振り分けてGPU同士の接続に利用していた。8つのV100を接続する場合、GPUの組合せによっては1リンクになる場合がある他、2リンクでも、最大100GB/秒でしか接続ができない
図4 NVSwitch登場以前には、Tesla V100 GPUが持つ6本のNVLinkを振り分けてGPU同士の接続に利用していた。8つのV100を接続する場合、GPUの組合せによっては1リンクになる場合がある他、2リンクでも、最大100GB/秒でしか接続ができない

 これに対してNVSwitchを使うことで、最大16個のGPUを同時接続でき、また2つのGPU間の接続に最大6リンクを利用できることから、最大300GB/秒でのデータ転送が可能になる。ちなみにTesla V100でパッケージ内にあるHBMのアクセスは最大900GB/秒で行われる。

 NVIDIAは今回新しいGPUアーキテクチャは発表しなかったが、NVSwitchを使うことで、GPU性能を向上させる方法を提供した。これを同社CEOのJen-Hsun Huang(ジェン・スン・ファン)氏は「世界最大のGPU」と呼ぶ。

(2)推論を高速化するソフトウェア&ハードウェア技術

 もう1つの重要ポイントは、ディープラーニングの推論処理にある。

 すでにディープラーニングを始めとするAI技術は、実用期に入りつつある。しかし、実用では、ネットワークモデルが複雑になることが予想される。学習に関しては、例えば、学習済みのネットワークを組み合わせることで、学習時間や開発時間を短縮する技法があるが、作られたネットワークモデルが、複雑であればあるほど、推論には処理性能が必要になる。しかし、推論側では、常に高性能な計算環境が利用できるわけではない。

 例えば自動運転などでは、車載コンピュータでの推論を必要とするが、走行中に充電が可能とはいえ、車載コンピュータは、搭載容積や利用可能な電力が限られ、また、振動やホコリ、高温といった環境的な問題もあり、高性能なサーバマシンを搭載するわけにもいかない。実際には、PCのマザーボードよりも小さい車載用コンピュータで、高速な推論を行う必要が出てくる。

 このためにNVIDIA社が用意するのが、ネットワークモデルを最適化し、演算精度を落として、高速化するTensorRTなどのソフトウェア技術と、推論専用ハードウェアであるNVDLA(NVIDIA Deep Learning Accelerator)だ。

 組み込み機器など、小規模なデバイスでの推論処理は、NVIDIAだけでなく各社が対応を行いつつあり、例えば、スマートフォンにAIチップを搭載するというのは1つのブームでさえある。Googleは、同社のスマートフォン「Pixel2」にDSPベースのAIチップを搭載した。同じくHuawei(ファーウェイ)も、自社開発のAIデバイスを搭載したスマートフォンをリリースしている。

 計算資源が豊富に使えるクラウド側での推論処理には、ネットワークによる遅延や、一時的な切断といった問題がある。プロセッサ性能が向上したとはいえ、汎用CPUでは、速度的な限界があり、また、スマートフォンのようにバッテリで動作するデバイスで負荷の高い処理を長い時間行うことは、電源消費を早めて動作時間にも影響してしまう。

 こうした背景があるため、ARMプロセッサのように、スマートフォンなど組み込み系で比較的よく利用されるプロセッサでは、推論処理ハードウェアの搭載という方向に動き出した。クラウド側では、画像認識や音声認識といったサービスが実用化しつつあり、少なくとも、ネットワークモデルを作って、学習を行わせて実利用可能なレベルに到達させることは広く行われるようになっている。今度は、このモデルをクライアント側にどう組み込むかという部分が問題になってきたわけだ。

 英ARM社のProject Trilliumは、こうした背景から登場したものだ。このTrilliumプロジェクトを通じて、ARM社のプロセッサを利用するシステムに対して、機械学習プラットフォームを提供する。

 ARM社は、プロセッサの設計だけを行い、実際のデバイスの製造はライセンスを受けた半導体メーカーが行う。具体的にはARM ML(機械学習)プロセッサ、OD(オブジェクト検知)プロセッサといった関連技術をARM社が提供し、NVDLAをNVIDIA社が提供するということである。

 すでに、NVIDIA社は、ディープラーニングの学習システムで大きなシェアを持ち、同社のTensorRTを使うことで、NVDLAやモバイル、組み込み向けのプロセッサでも利用可能な整数や半精度浮動小数点を利用したネットワークモデルが実行可能になる。ARMがNVDLAを採用した理由の1つには、こうしたエコシステムがすでに出来ているという部分も大きいと思われる。

 ただ、現時点では、ARM社側からの詳細な発表がなく、NVDLAが唯一の推論エンジンアーキテクチャなのかどうかは不明だ。

まとめ

 GTC 2018での発表内容から考えると、NVIDIA社は、ディープラーニングの学習から、推論、組み込み機器上での実行に至る製品群の準備を完了したようだ。だからといってディープラーニングがNVIDIA社一色となるかどうかまでは判断できない。だが少なくとも、自動車メーカーやスマートフォン、IoTなど、今後AIを利用するだろう各社からも目の離せない企業になったといえるだろう。

塩田 紳二(しおだ しんじ)

塩田 紳二(しおだ しんじ)

フリーランスのテクニカルライター。雑誌編集者、家電メーカー勤務を経て現職。ASCII.JP、@IT、マイナビニュース、日経BP xTECHなどにて執筆活動を行う。IoTなどの小さなハードウェアから上はスーパーコンピューターまで「小さなものから大きなものまで。ハードもソフトも。ただしゲームとアダルトを除く」が基本コンセプト。

  • このエントリーをはてなブックマークに追加

※以下では、本稿の前後を合わせて5回分(第3回~第7回)のみ表示しています。
連載の全タイトルを参照するには、[この記事の連載目次]を参照してください。

イベントから学ぶ最新技術情報
3. 機械学習の作業がはかどる新ツール「Workbench」とは? TensorFlowやAWSも使える。Microsoft Tech Summit 2017

マイクロソフトが提供する機械学習向け新サービス&ツール。Azure、AWS、GCP、オンプレスミスなどに対応。TensorFlow、Chainerなどのディープラーニングフレームワークに、PyCharmやVisual Studio Codeなどのコードエディターも使える。

2017年11月16日(木)
イベントから学ぶ最新技術情報
4. 「DEEP LEARNING LAB」勉強会の開催方針と、7割補助金が出るハンズオン講座

ディープラーニングに取り組む人たちの間で人気の勉強会コミュニティ「DEEP LEARNING LAB」の概要と最新情報を紹介。今後の勉強会イベントの開催方針や、専門実践教育訓練給付で7割の補助金が受けられるようになった教育事業について説明する。

2018年2月23日(金)
イベントから学ぶ最新技術情報
5. 【現在、表示中】≫ GTC 2018におけるAI関連の発表内容、そこから見えるNVIDIAの方向性

「NVSwitch」「DGX-2」「TensorRT 4」「ARM社との提携」といったAI関連の発表内容を中心に、GTC 2018の注目ポイントを紹介。そこから垣間見える、NVIDIA社の「AI戦略」を考える。

2018年4月20日(金)
イベントから学ぶ最新技術情報
6. 目指すべき今後の人工知能とは? パネルディスカッション ― データサイエンティスト協会 セミナー2018 第1回

データサイエンティスト協会は、2018年第1回目のセミナーを開催し、『深層学習はすべてを解決できるのか?』と『世界に根差す人工知能と協調による創造性』の2つのセッションと、それを踏まえてAIやデータサイエンティストについて議論するパネルディスカッションを行った。本稿はそのパネルディスカッションの内容を紹介する。

2018年4月27日(金)
イベントから学ぶ最新技術情報
7. 深層学習にはどんなデータが使えるのか? どれくらいのデータ量が必要か? ― DLLAB コミュニティ勉強会 2018Q2

「機械学習・深層学習に向くデータの種類」「PoC(概念実証)段階と実用段階でのデータ収集の違い」「実用段階で精度メンテナンス」「深層学習に必要なデータ量」「アノテーションのクラウドソーシング」「オープンデータ」に関して有識者がコメントしたパネルディスカッションの内容を紹介する。

2018年5月28日(月)
Deep Insider の SNS :