GPUと言えばPC、そしてスマートフォンなどのチップにCPUとともに内蔵する機能という印象を持っている方が多いと思うが、NVIDIAはデータセンタ側のサーバに搭載するGPUに力を入れている。

「GRID 2.0」と呼ぶリモートグラフィックス機能は、サーバ側のGPUを仮想化して多数のグラフィックユーザをサポートする。NVIDIAは、この8月にGrid 2.0用のGPUとして「Tesla M60」と「Tesla M6」という製品を発表している。

今回はそれに続く巨大データセンタ向けの2種のGPU「Tesla M40」と「Tesla M4」を発表した。M60とM6はグラフィックス処理をサーバ側で行うためのGPUであるが、今回のM40とM4はディープラーニングやイメージ処理などの計算量の多い処理を、CPUからオフロードして、高速化し、消費電力を減らすことを目的としている。

Periscopeには毎日40年分のビデオがアップされ、Baiduには毎日60億のクエリが押し寄せ、その10%は音声認識を使うクエリである。また、YouTubeでは毎分300時間分のビデオが再生され、その50%はトランスコードを必要とするモバイルデバイスであるという。これらのサイトでは、大量のイメージや動画を処理するために、膨大な計算能力が必要になる。

巨大データセンタでは毎日ExaByteのデータが作られる

これに対して、NVIDIAは次の図のようなGPU付きのデータセンタアーキテクチャを提案している。

NVIDIAの提案するTesla GPUを使うデータセンタの構造

ディープラーニングによる認識を行う場合、大量の学習データを使ってパラメータのチューニングを行うラーニングフェーズは長い時間(数時間から数週間のオーダ)がかかる。このため、高速のGPUを搭載した左側のサーバを使う。一方、認識を行う場合は、入力画像1枚だけを処理すれば良いので、計算量はそれほど多くは無く、短い時間で処理できる。しかし、巨大データセンタでは大量の問い合わせが来るので、これらを並列に少ない消費電力で処理できる右側のサーバが適している。

左側の高速GPUとして、NVIDIAはTesla M40を推奨する。ディープラーニングの処理を行う「Caffe」を実行する場合、M40はCPUと比較して8倍高速であるという。また、巨大データセンタでの長時間連続稼働に耐えられる高い信頼性を持っているという。

Tesla M40の諸元

一方、右側のスループットオリエンテッドな処理にはM4を推奨する。M4は電力効率に重点を置いたGPUであり、ディープラーニングを使う多数の認識を、高い電力効率で、並列に処理することができる。

また、M4は、画像のフィルタリングや変形、ビデオのトランスコードなどの大量の演算処理を行うという用途も狙っている。画像処理の定番ソフトであるPhotoshopはPC側での処理だけでなく、サーバ側で処理する形態のライセンスもあり、すでに、サーバ側での処理にも対応している。

そしてM4はロープロファイルのPCI基板であり、それに合わせてサーバを設計すれば、高い実装密度が得られるようになっている。

USBデバイス

5000本のビデオストリームのリアルタイムのトランスコードを行う場合、これをCPUで行なうと5万台のサーバの60%の能力を必要とし、10.8MWの電力を必要とする。これを、GPUを搭載したサーバ使うことでCPUの5%、GPUの20%の能力で済み、1.2MWまで消費電力を減らせるという。

GRID2.0向けのM60、M6と今回発表されたM40、M4の諸元を比べると、次の表のようになる。

M60 M6 M40 M4
CUDAコア数 4096 1536 3072 1024
TFlops 7.4 不明 7.0 2.2
デバイスメモリ 16GB 8GB 12GB 4GB
消費電力 225~300W 75~100W 250W 50~75W
データセンタ向けGPUの諸元の比較

この比較を見ると、M40はM60よりクロックが高いと考えられ、CUDAコア数はM60の3/4であるが、TFlops値は5%低い程度である。これはスループットだけではなく、レーテンシにも、多少、配慮した結果と思われる。

PCやスマホはGPUを内蔵しているので、データセンタ側のGPU機能なんて不要と思われるかも知れないが、必ずしもはそうではない。

PCやスマホは、ユーザが自分でアプリをダウンロードしてインストールする必要がある。個人が使用する場合は仕方がないが、大きな企業では、各人がアプリを勝手にインストールすると環境がマシンごとに異なったりして、セキュリティアップデートが適切に行われているかなどを確認する手間が大変である。そして、セキュリティホールが出来てハッカーに攻撃されてデータ漏えいなどという事態になれば、目も当てられない。

これを、処理はすべてデータセンターの仮想化したサーバで行い、PCやスマホは、リモートのタッチパネルやキーボードなどの入力と表示だけを担当させることにすれば、アップデートやハッカー対策は、ずっと簡単になる。

また、PCやスマホに搭載されたGPUでは、アニメ映画の製作現場で使われるようなグラフィックス性能は持っていないし、ディープラーニングの学習には能力不足である。このような場合にはデータセンタのGPUを使う方が安上がりである。NVIDIAは、M40を高い演算性能と大きなメモリを必要とするディープラーニングのラーニング処理などを行うGPUと位置付けている。

一方、M4は電力効率に重点を置いたGPUで、ラーニングでチューンされたモデルを使って認識処理を行うという使い方をするGPUという位置づけである。また、データセンタ経由でPhotoshopのようなソフトを用いた画像のフィルタリングや変形など大量の演算処理を行うという用途も狙っている。

このような理由から、企業では、処理をデータセンタに集中するという技術的な流れがあり、競争が激しく利益の薄いスマホ用SoCよりも、サーバ側で使われるGPUで先行し、利益を確保しようというのがNVIDIAの戦略であると考えられる。