2016年度中に5ペタFLOPS(1秒当たりの浮動小数点演算性能)のGPUインフラを使えるようにする――。AI(人工知能)分野で国内トップ級の技術力を持つスタートアップ企業、Preferred Networks(PFN)が社内で掲げる目標である。

 ディープラーニング(多層ニューラルネットを使った機械学習)は、画像認識からロボティクス、自然言語処理まで適用が進み、大きな成果を挙げている。

 そのディープラーニングの学習を担う要となるITインフラが、GPU(グラフィックス・プロセッシング・ユニット)搭載サーバーである。

 特に米グーグルは、囲碁でプロ棋士を破った「AlphaGo」から、高い精度でテキストを翻訳する「Gogole Translate」まで、ニューラルネットの学習や推論に大量のGPUインフラを活用している。例えばAlphaGoの場合、2015年10月に欧州のプロ棋士と勝負した際は、1202個のCPUと176個のGPUで分散処理させたという。GPUインフラの使いこなしが、IT企業の競争優位を決定づける時代になった。

 とはいえ、全ての企業がグーグルのように大量のGPUインフラを確保できるわけではない。近年では、Amazon Web Services、Goolge Cloud Platform、さくらインターネットの「高火力コンピューティング」といったGPUインフラの時間貸しサービスを組み合わせ、臨機応変にGPUインフラを確保できるようになった。

 PFNは現在、さくらインターネットのデータセンター内にGPUのプライベートクラウドを構築し、GPUインフラの増強を図っている。PFN チーフアーキテクトの奥田遼介氏と、さくらインターネット代表取締役社長の田中邦裕氏、同社で高火力コンピューティングを担当する須藤武文氏へのインタビューを通じ、GPUインフラの特性や使いこなしのノウハウを明らかにする。

(聞き手は浅川 直輝=日経コンピュータ


PFNは2014年3月の発足以来、ディープラーニングの技術開発に必要なGPUインフラをどのような形で調達していたのでしょうか。やはり、秋葉原に行ってゲーム用のGPUボードを買ってくるような…。

写真●右から、PFN チーフアーキテクトの奥田遼介氏、さくらインターネット代表取締役社長の田中邦裕氏、さくらインターネットで高火力コンピューティングを担当する須藤武文氏
写真●右から、PFN チーフアーキテクトの奥田遼介氏、さくらインターネット代表取締役社長の田中邦裕氏、さくらインターネットで高火力コンピューティングを担当する須藤武文氏
[画像のクリックで拡大表示]

PFNの奥田氏 まあ、そんなイメージですね。プロジェクトを始めるたびに、必要な台数のGPUを社員が個別に買っていました。なので、社内のGPUサーバーは世代も環境もバラバラでした。

買ってくるのはどのようなGPUボードですか。

奥田氏 2014年当時は「GeForce GTX 970」、最近では「GeForce GTX TITAN X」ですね。1台のデスクトップ機やPCサーバーに、1本ないし2本挿して運用するのが基本的な構成です。

 最初は2人でGPUボード1本を共有していましたが、次第に1人がGPUボード1本を占有するようになり、占有数が2本、3本と増えていきました。

 そのうち、オフィスビルの冷却能力や電気容量の問題が出てきました。特にサーバールームがGPUサーバーであふれてしまい、ものすごく暖かくなりました(笑)。

 今から1年ほど前の段階で、サーバールームの容量が限界になってしまい、社員の足下にサーバーを並べる状況になり、今度はオフィスが暑くなってしまいました。「さすがにこれは何とかしないと」という話になり、GPUリソースをプライベートクラウドのような形で持てないかと検討したわけです。

サーバールームを拡張する、という選択肢もありそうですが、GPUリソースを社外に持つ事のメリットは何でしょうか。

奥田氏 PFNの中で、GPUが担うタスクは主に2種類あります。一つは、研究開発のために定常的に使うタスク。研究者がサーバーにログインして、インタラクティブにガンガン使うというものです。もう1つはバッチ的なタスク。大規模なデータセットを用意し、パラメータや条件を変えながら、時間をかけてニューラルネットに学習させる、といった用途になります。

 これまでのように社員がバラバラにGPUを調達する方法では、前者のインタラクティブなタスクには合っている一方で、後者のようなバッチ的なタスクには適していませんでした。

 社内で大量にGPUリソースを確保しようにも、サーバーのスペックやソフトウエア環境が全てばらばらで、セットアップに恐ろしく手間がかかる。特にプロジェクトの最終段階では、「1週間の間に数十台で並列して計算したい」といったニーズが出てきますが、社内リソースだけでは対応できません。

 手元ではGPUリソースをどうしても確保できない場合、AWS(Amazon Web Services)のGPUインスタンスを使うこともありました。ただ、AWSはGPUの世代がやや古いのと、GeForce(ゲームマシン用GPUボード)シリーズではなく高価なTesla(スパコンなど汎用計算を目的に、誤り訂正などの機能を強化したGPUボード)シリーズを使っていたため、利用料が高い問題がありました。

 このため、やはりプライベートクラウドの形で自らスペックを決めて運用した方が効率的なのでは、という話になりました。そんな折、ドワンゴさんのGPUプール「紅莉栖」の構築にさくらインターネットさんが関わっていたと知って、相談を持ちかけた、という次第です(関連記事:ドワンゴ、GPUサーバー100台で2.5ペタFLOPSの深層学習専用インフラ「紅莉栖」を構築)。

やはり、コストパフォーマンスという点ではGeForceの方がTeslaより魅力的なんですね。逆に、GeForceのようなコンシューマ用GPUでディープラーニングの学習を行う上で、注意すべき点はありますか。

奥田氏 コンシューマ用GPUの場合、複数のGPUボードで計算結果が一致しないことがあります。加えて性能のバラつきも大きく、たまに「外れ」がありますね。業務用のGPUでは、そのあたりの品質管理がしっかりしているようですが。