クラウドサービスでGPU(画像処理プロセッサ)処理環境を提供する企業が相次いでいる(表)。米マイクロソフト(MS)は2016年8月4日にプレビュー版のサービス提供を開始。さくらインターネットは9月30日に、IDCフロンティアは10月~12月中に新サービスを始める。GPGPU(画像処理プロセッサによる汎用的計算)に適した環境をクラウドで提供し、需要が高まりつつある深層学習での利用を見込む。
GPUはCPUに比べて、単純な計算を繰り返し高速に実行できるように特化した設計をしている。深層学習も学習データを繰り返し計算をするため、GPGPUで大幅に処理を高速化できる。
深層学習をGPUで処理する際には、大容量のグラフィックメモリーが必要だ。深層学習は大量の学習用データを使い、計算結果をメモリー上に展開して次の計算に使う。繰り返し計算した結果をメモリー上に展開するため、学習モデルによっては10Gバイトを超える大容量メモリーが必要となる。
各社が発表したGPUクラウドサービスは、こうした要求に応えて大容量メモリーを搭載した高性能GPUを搭載したサーバーを用意している。
MSとIDCフロンティアは、物理的なGPUを使うIaaS(インフラストラクチャー・アズ・ア・サービス)を提供する。仮想サーバー1台当たりGPUボードを最大2枚使える。
MSの新サービス「Azure NC」はGPUに米エヌビディアの「Tesla K80」(写真1)を使う。グラフィックメモリー容量はボードあたり24Gバイト。MSはGPUを仮想化して使う画像処理向けの「Azure NV」も同時発表しており、こちらは「Tesla M60」を利用する。M60のグラフィックメモリー容量はボード当たり16Gバイト。
さくらインターネットは、サーバーホスティングサービス「さくらの専用サーバ」の新メニューとしてGPU処理環境を提供する。導入するGPUはエヌビディアの「Tesla M40」(写真2)の見込み。グラフィックメモリー容量はボード1枚あたり12Gバイトだ。
同社はサービス提供に合わせて、サーバー同士のローカル接続回線を高速化する。複数のサーバーを並列化してより高速な計算環境を構築する利用方法を想定しているという。
深層学習の開発用途に
各社のクラウドサービスを利用すれば、深層学習特有の課題を解決できる。課題とは、深層学習を使ったシステムは開発時と運用時で必要なインフラの処理能力が大きく異なることだ。
深層学習を使うシステムの開発段階では、多くの学習モデルを構築して計算処理を実行し、用途に適したモデルを探り当てる必要がある。一方でシステムの運用段階に入ると、おおむね構築済みの学習モデルを使うため、大規模な計算環境を必要としない。