「Reading-Life Log」とディープラーニング

「Reading-Life Log」の研究においては、画像をはじめとする様々なデータを対象とした知的な情報処理を多数取り扱うことになる。この情報処理手法のひとつとして近年注目されているのが「ディープラーニング」だ。ディープラーニングを一言で言い表すのは難しいが、「生物の脳の構造をモデル化し、その脳機能の特性をコンピュータによって再現することを目指したニューラルネットワークにおいて、人間がごく自然に行っている学習能力を実現する」ことを目指した、いわゆる機械学習を指す。

画像のディープラーニングでは、関連したあらゆるパターンの画像を何度も学習し、その精度を向上させることができる。ディープラーニングは人工知能などの研究にも応用されており、自動車の自動運転やドローンの自動操作など、世界各地でさまざまな技術への応用が進んでいるという。それでは実際に、GPUサーバを導入することによって、計算能力はどのように向上したのだろうか。岩田氏のほか、学生ながらも技術面に高い見識をお持ちの山田良博氏にお話を伺った。

GeForce GTX TITAN Xを4枚搭載したGPUサーバを導入

──こちらの研究室では、どのようなサーバを利用されているのでしょうか?

岩田氏:今回新たに導入したのはデスクトップサイズのGPUサーバです。GPUサーバは「NVIDIA GeForce GTX TITAN X」を4枚搭載しており、これを4台導入しています。それ以外のCPUサーバやファイルサーバは、2U~4Uラックサイズです。

可能であればGPUサーバもラックマウントしたかったのですが、グラフィックスカード自体が大きく、それを複数搭載しなければならないため、システムの規模が大きくなることからデスクトップPCと同様の筐体を利用することになりました。このほか、情報を入力する際には、適宜使用するアプリケーションに応じて、スマートフォンやタブレット、ノートPCなどのさまざまな端末を利用することになります。端末から入力された情報が無線LANなどを通じてサーバに送られ、計算が行われます。

サーバルームにあるGPUサーバ。GPUが複数搭載可能なデスクトップPC用ケースに収められている

──導入されたGPUサーバ4台はどのように運用されていますか?

山田氏:GPUサーバのうちの1台「GPU01」は、新環境用の構築テストを行うことを前提にしています。新しいテストを行いたい人は、まずこちらのGPU01でテストを行うことになります。そのほかの3台「GPU02」「GPU03」「GPU04」では、GPU01で安定性を確認したテストが実行されます。GPU02で計算した結果を、再度GPU04で計算するなど、スムーズな受け渡しができるような環境を作っています。またこれからは、研究によっては4枚×4台に搭載されたマルチGPUを利用した大規模な計算も行っていくことになるでしょう。4台のGPUサーバを導入しましたので、この辺りの対応は(追加も検討しつつ)フレキシブルに行っていきたいと考えています。

今回導入したGPUサーバは4台。ラック中央に棚板を入れて設置している

内部には「NVIDIA GeForce GTX TITAN X」が4枚搭載されている

──GPUサーバを導入することによって、処理速度はどれくらい変わったのでしょうか?

山田氏:ディープラーニングでは、あらゆる画像を何度も繰り返し学習することで、その精度が増します。例えば人間のように"ネコ"を画像から"ネコ"と認識するためには、数十万枚の画像を使って、繰り返し学習させなければいけません。しかし研究室で従来使用していたCPUサーバでは、処理できる数は5秒に1枚程度が限界だったのです。10万枚の画像を使って、10回繰り返し学習させるには、なんと2カ月弱もかかります。そこで、ニューラルネットワークに適したディープラーニング専用GPUサーバを導入しました。

この専用GPUサーバを導入することにより、CPUサーバでは"0.214 images/sec"だったところ、その速度は"53 images/sec"、つまりに1秒に50枚を超える処理を行えるようになりました。200倍以上の高速な処理を実現できるようになったのです。結果として、研究室のデータに対して高い精度を確認できるようになり、またディープラーニングを用いた新たな研究も始動させることができました。

──これまで使用していたCPUサーバでは実現できなかった研究はありますか?

岩田氏:理屈がハッキリとしているものはアルゴリズムで対応できるため、CPUサーバでの処理が有効です。しかし、先ほどのネコの画像のように、人間がどこを見て判断しているのか理屈をつけられない部分を学習させるためには、サンプルの数を増やさなければなりません。こういったディープラーニング分野においては、GPUサーバが非常に有効となるため、当研究室で行っている研究のほぼすべての処理速度が向上しています。これからいくつかの研究内容をご紹介しますが、これらはすべて従来のCPUサーバでは実現できなかったものです。