ニュース
NVIDIAのGPUが実現する深層学習が作る未来
~自動運転やアニメイラストの自動生成など、「Deep Learning 2016」講演
(2016/1/16 06:00)
エヌビディア合同会社は15日、都内にて「NVIDIA Deep Learning 2016」を開催した。
イベントでは、まずエヌビディア合同会社プラットフォームビジネス本部部長の林憲一氏が登壇。挨拶と同社GPU製品の紹介を行なった。
林氏は、深層学習を加速する要素として、「DNN(Deep Neural Network)」、「ビッグデータ」、「GPU」の3つを挙げ、特にビッグデータは、学習対象として深層学習にとって必要不可欠なものであると述べた。
ビッグデータを利用して深層学習を行なうハイパースケールデータセンターでは、膨大なデータを学習させるトレーニング用サーバー(学習データの量でスケール)、学習モデルに基づき推論し、Webサービスのためのサーバー(ユーザー/デバイス数でスケール)が必要となる。
同氏は、NVIDIAはそれらのサーバーそれぞれに適したGPU製品を用意していると述べ、学習用サーバー向けの「TESLA M40」、推論サーバー用の「TESLA M4」を挙げた。
TESLA M40は、世界最速を謳う深層学習アクセレータ。理論最大性能は7TFLOPSで、CaffeではCPUと比較して学習にかかる時間は8倍高速だという。
TESLA M4は理論最大性能2.2TFLOPSのGPUで、低消費電力により補助電源が不要なほか、Low Profileの採用により、サーバーを選ばず搭載可能とする。
「NVIDIAは半導体メーカーでもあるがソリューションのプロバイダだと思っている。ハードウェアだけでなく、ソフトウェアも開発している」として、深層学習開発をサポートするSDKの紹介に移った。
NVIDIAの深層学習SDKについては、同社ディープラーニングソリューションアーキテクト兼CUDAエンジニアの村上真奈氏が登壇し、解説を行なった。
NVIDIAが公開している深層学習用SDKには、「DIGITS」、「cuDNN」、「cuSPARSE」、「cuBLAS」、「NCCL」の5つがある。
cuDNNはCUDAのライブラリで、深層学習ネットワークのためのGPUプリミティブ群。2014年12月にバージョン4が公開され、畳み込み演算のアルゴリズムに2D FFTタイリングの追加や、Batch Normalization処理の対応などによる学習の高速化や、推論処理の高速化が図られている。
cuBLASおよびcuSPARSEは、それぞれ密行列、疎行列計算用のライブラリ。cuDNN同様CUDAのライブラリで、新たにcuSPARSEは密行列×疎ベクタールーチンの自然言語処理高速化、cuBLASは行列積の16bitデータ入出力に対応した。
NCCL(NVIDIA Collective Collection Library)は、マルチGPUの集合通信ライブラリ。まだ正式リリースはされていないが、githubにソースが公開されている。具体的な内容としては、複数ノードでマルチGPUを利用するといったシーンを支援するためのもので、all-gather/reduce/brodcastといった標準的な集合通信処理でバンド幅が出るよう最適化されたものだという。
DIGITSは、深層学習用の学習システム。簡単に深層学習を始められるように用意されたもので、すぐにディープニューラルネットワークを構築できる。学習フレームワークも、NVCaffe(NVIDIA製GPUに最適化されたCafeeのフォーク)のほか、Chainer/Theano/Torch/などに対応する。
バージョン3では操作性が向上し、学習結果を簡単に表示したり、ジョブマネージメントの最適化などが行なわれているという。
またモジュール型スーパーコンピュータ「Jetson TX1」のデモも披露された。
深層学習でイラストを生成
ここでゲストとして、株式会社Preferred Networks 取締役副社長の岡野原大輔氏が登壇。同社開発の深層学習フレームワーク「Chainer」と深層学習の最新動向について解説を行なった。
岡野原氏は、IoTによりセンサーとコンピューテーション、アクチュエータが繋がったことや、TFLOPS級の計算が可能になったモバイル機器の性能向上、低価格なセンサーやゲノムシーケンサの登場などにより、機械学習が実世界で使えるようになったと述べた。
そしてニューラルネットワーク(神経回路網)を利用した機械学習、深層学習が登場し、2014~15年中に1,500以上の関連論文が出されるなど、画像や音声認識などで既に実用化に至っているとした。
同社は、Pythonで自由にネットワークを記述できる深層学習フレームワーク「Chainer」をオープンソースで公開している。オンデマンドでのネットワーク構築が可能なほか、最新アルゴリズムのネイティブサポートや、マルチGPUの対応なども果たしているという。
Chainerの紹介では、車の運転の学習のほか、機械の故障を事前に把握する、異常予測などが披露された。
また深層学習の応用として、画像の自動生成といったことも可能だという。画像からスタイルだけを抽出し、別の画像に適用して画像を生成したり、アニメイラストを学習させオリジナルのイラストを生成できたとのことで、後者はJavaScriptで動作する生成モデルがWebで公開されている。
Googleの学習フレームワーク「TensorFlow」
2人目のゲストとして、Googleで深層学習フレームワーク「TensorFlow」の開発を担当するMike Schuster氏が登壇。Googleにおける深層学習や、その今後についてなどを語った。
Schuster氏は、「Googleはユーザビリティと速度を膨大なデータを持つ巨大なニューラルネットワークのインフラストラクチャの構築を目標としている」と述べた。
現在は多くの人がプロジェクトに従事しているが、Googleで深層学習の研究チームが発足したのは2011年で、最初は数人だったという。
今では深層学習は、AndroidやGMail、画像検索や地図、翻訳、YouTubeなど、そのほかのプロジェクトで活用されているという。
Googleでは、日々大量の文章や画像/映像、音声、知識(例:現米国大統領が誰か)が蓄積されており、それらを解析し、ユーザーをアシストするために役立てようとしている。
画像認識の例では、ストリートビューの画像から番地プレートを認識し、建物の番地を地図に反映させるといった処理が行なわれているという。さらに、ストリートビューに写った店舗の看板などの文字列を認識し、検索対象とすることで、「ニューヨーク お土産屋」などと検索すれば位置が表示されるといった応用も考えられると述べた。
TensorFlowはGoogleの深層学習フレームワークで、同社のフレームワークとしては2世代目。2015年にオープンソースで公開されており、先代から2倍以上高速化したという。
画像や音声、文章など、学習対象によって柔軟に対応するモデルで、かつデスクトップPCやサーバー、モバイル端末まで、さまざまなデバイスで動作するよう設計されており、マルチコア、マルチGPUに対応する。
従来の機械学習システムは、画像認識用途であれば画像認識に最適化されたモデルだったのに対し、TensorFlowでは、前述の通り、学習対象によらずフレキシブルなモデルのため、あらゆる用途に利用できるとした。
画像認識に利用した場合には、花の種類の分類や料理の判定が可能だという。また誤判定も“人間的”で、ヒルを蛇と判定したりしていた。
実際にモデルが導入されているGoogleフォトでは、「海」と検索すれば海の画像を表示したり、ヨーダのぬいぐるみもヨーダとして認識できている。
将来的には、より簡単に利用できるようにするほか、Windowsへの対応、メモリと速度を改善したいという。またマルチマシン対応による分散処理については、Google内では既に実現できているものの、社内では複雑なシステムで動作しており、まだオープンソース版への実装には時間がかかると述べた。
Googleではデータセンターに数千個単位でGPUを導入しており、今はGPUだけで学習処理を行なっているという。
さらに株式会社NTTドコモ サービスイノベーション部の酒井俊樹氏、Mathworks Japan アプリケーションエンジニアリング部テクニカルコンピューティングの太田英司氏らが登壇。ドコモの取り組みや、統合開発環境「MATLAB」でのGPGPU、深層学習利用について解説を行なった。
NVIDAが注力する自動運転
最後に、エヌビディア合同会社シニアソリューションアーキテクト 室河徹氏が登壇し、NVIDIAの自動運転ソリューションについて解説した。
林氏が「自動運転はコンピューターサイエンスの大きな挑戦」と述べる通り、自動運転には多くの困難が伴う。
室河氏によれば、自動運転では、レーンの数や3Dモデル情報を含む、一般的なカーナビに使用されている以上の高精度な地図を利用しているという。しかし、高精度な地図があっても、現実では道路工事などで1レーンが封鎖されていたりと、データと異なる予測不能な自体が起こりうる。
さらに、センシングにカメラを利用していると、嵐や雨、逆光などにより認識精度が低下するなどの危険がある。
「それらの問題を深層学習で解決しよう」というのが現在の自動運転技術で、NVIDIAは、1月頭に開催されたCES 2016にて、自動運転用スーパーコンピュータ「DRIVE PX 2」を発表した。
電気自動車への搭載を想定し、液冷システムを採用。車に搭載された液冷システムへ接続できない場合などに備え、独立した液冷用システムも用意する。
AlexNetを利用した画像処理では、秒間450イメージのTITAN Xに対し、DRIVE PX 2は秒間2,800イメージを処理できたという。
「DRIVENET」は、NVIDAの提供する自動運転用の学習モデル。1億個を超える物体を学習させることで、車や歩行者だけでなく、標識なども認識できるという。
デモの映像では秒間50フレームの画像処理を行なっており、トラッキング処理が不要なレベルの高速処理をアピールしていた。