オススメ機能
Twitter
お気に入り
記事履歴
ランキング
お気に入りタイトル/ワード

タイトル/ワード名(記事数)

最近記事を読んだタイトル/ワード

タイトル/ワード名(記事数)

LINEで4Gamerアカウントを登録
Pascalには半精度浮動小数点数のアクセラレーションが入る? NVIDIA,ディープラーニング関連のイベントでヒントを提示
特集記事一覧
注目のレビュー
注目のムービー

メディアパートナー

印刷2016/01/20 00:00

イベント

Pascalには半精度浮動小数点数のアクセラレーションが入る? NVIDIA,ディープラーニング関連のイベントでヒントを提示

GeForce GTX 10
 2016年1月15日,NVIDIAは都内で「NVIDIA DeepLearning DAY 2016」と題する開発者向けイベントを開催した。NVIDIAが国内でディープラーニングだけをテーマにした大規模なイベントを国内で開催するのは今回が初めてで,その事実だけでも,NVIDIAがこのジャンルに賭ける意気込みが伝ってこよう。
 あらかじめお断りしておくと,NVIDIA DeepLearning DAY 2016で,ゲームと関係のある話題はほとんど何もなかった。ただ,次世代GPU「Pascal」(パスカル,開発コードネーム)に関するちょっとしたヒントがあったかもしれないので,今回はそのあたりを中心に,簡単にレポートしてみたい。


Pascalには半精度浮動小数点数のアクセラレーションが入るかも


GeForce GTX 10
 NVIDIA DeepLearning DAY 2016は,午前中がディープラーニングの入門セッション,午後がNVIDIAのディープラーニングに対する取り組みや事例の紹介という構成になっていた。
 そのうち,午後にあったセッション「エヌビディアのディープラーニング戦略」では,同社の林 憲一氏が概要を紹介しつつ,適宜,ゲストが登壇して個別のテーマについて語るという形式になっていたのだが,そこで,ちょっと興味を引く話題があった。それは,NVIDIAの村上真奈氏が語った,「Deep Learning SDK」に関するものだ。

林 憲一氏(エヌビディア合同会社 プラットフォームビジネス本部 部長)
村上真奈氏(エヌビディア合同会社 プラットフォームビジネス本部 ディープラーニングソリューションアーキテクト 兼 CUDA エンジニア)

 Deep Learning SDKは,2013年にNVIDIAがリリースした,CUDAを使用するDNN(Deep Neural Network,脳が持つ処理機能の一部をシミュレートする技法の一つ)の開発用ライブラリ「cuDNN」を大本として発展した,ライブラリやツール群からなるアプリケーション開発用フレームワークだ。

 村上氏によると,NVIDIAは現在,Deep Learning SDKの開発に力を入れており,最近ではおおむね3か月から半年に一度のペースで,Deep Learning SDKを構成する各ライブラリの新バージョンをリリースしているそうだ。
 たとえば,Deep Learning SDKの一部となったcuDNNだと,新機能の追加や高速化を実現した最新バージョン「cuDNN4」が2015年12月にリリースされたばかりだが,cuDNN4ではFP16(16bit半精度浮動小数点演算)への最適化を組み込んであるという。

12月にリリースされたcuDNN4は,畳み込み演算を行う関数「cudnnConvolutionForward()」でFP16に対応したと村上氏
GeForce GTX 10

Tegra X1を搭載する開発キット,「Jetston TX1」
GeForce GTX 10
 いま示したスライドにもあるが,村上氏は,FP16で畳み込み演算の高速化が行えるのは,現状,「Tegra X1」のみだと明言していた。
 Tegra X1が統合するGPUは,第2世代Maxwellアーキテクチャをベースにしつつ,いくつかの改良が施したものとなっている。詳しくは2015年1月7日掲載の記事をチェックしてもらえればと思うが,その大きな特徴の1つが,FP16のアクセラレーションだ。具体的には,シェーダプロセッサ「CUDA Core」内の演算器でFP16×2個の演算を行えるのだが,これができるのは現在のところ,Tegra X1だけである。

 PC向けやサーバー向けGPUで採用する第2世代Maxwellアーキテクチャでは,FP16の演算にFP32(32bit単精度浮動小数点型)の積和演算を用いるため,スループットはFP32と変わらない。
 もちろん,FP16によってデータ量が小さくなるため,メモリバス帯域幅を抑えることはできるはずだが,ハードウェアレベルでFP16に対応したTegra X1以外のGPUに大幅な性能向上は期待できないだろう。

ちなみに,近日リリース予定の「CUDA 7.5」が含む密行列演算ライブラリ「cuBLAS」では,FP32で行列要素を渡す関数「cublasSgemm()」のFP16版である「cublasSgemmEx()」を追加するとのこと
GeForce GTX 10

 ここでピンとくるのが,先のCES 2016で,NVIDIA,Jen-Hsun Huang CEOがPascalに関して示したスライドの謎についてである。
 下に示したスライドはその日本語版だが,見ると分かるように,PasaclとMaxwellでは,演算性能を示す「TFLOPS」の向上量はそれほど大きく変わらないのに対し,ディープラーニングの性能を示す「DL TOPS」だとPascalのほうが3倍以上高いとされている。Tegra X1と同じFP16のアクセラレーションがPascalにも入るのであれば,この数字の説明がつくかもしれない。

CES 2016のタイミングでHuang氏が示したスライドの日本語版。NVIDIA DeepLearning DAY 2016で公開されたものだが,PascalとMaxwellの両アーキテクチャを比較すると,演算性能(TFLOPS)にはあまり違いがない一方,ディープラーニングの性能を示す「DL TOPS」ではPascalが3倍以上高性能となっている
GeForce GTX 10

 もっとも,「FP32の演算器でFP16×2を演算できるようにした」としても,単純計算でスループットは2倍にしかならない。また,NVIDIAは2015年にTegra X1の演算性能を1TFLOPSと謳ったが,これはFP16の積和演算の性能だったという過去がある。もしPascalでFP16をサポートするのなら,Tegraの例に倣って第2世代Maxwell比で2倍の演算性能を謳うのが自然ではないか,という気は,しないでもない。

 NVIDIAに限らないが,メーカーが演算性能として出してくる値の根拠は,異なる製品の場合,変わることがある。なので,このスライドだけでPascalがFP16をサポートするのではと推測するのは危険かもしれない。
 ただそれでも,NVIDIAがcuDNNやCUDAライブラリのFP16のサポートを進めていること,そしてDirectX 11以降がFP16に対応しているため,グラフィックス処理の高速化につながる可能性があることを考えると,PascalにFP16を組み込む蓋然性は低くないと見ているが,どうだろうか。


広く深く浸透していくディープラーニング


Mike Schuster博士(Google Brain)。日本への留学経験があるとのことで,講演は日本語で行われた
 公演ではNVIDIAとパートナーシップを組むディープラーニングのベンチャー企業,Preferred Networksや,ディープラーニングAPIの提供を始めたNTTドコモといった企業の代表が,ディープラーニングにおけるGPU応用の事例紹介を行っていた。
 そのなかでも興味深かったのは,Google Brainを率いるMike Schuster(マイク・シュスター)博士の講演だ。ゲームとはまるで関係ないのだが,簡単に紹介しておこう。

 Schuster博士が概説したのはGoogleがオープンソースとして公開したディープラーニングのフレームワーク「TensorFlow」についてである。TensorFlowの技術的な概要は,公式サイトの英文を読んでもらったほうが早いだろうが,一言でまとめるなら,ポピュラーなインタープリタ言語であるPythonを用いてニューラルネットワークを構築できるフレームワークのこと。データとして多次元配列のテンソル(Tensor)を使うので,TensorFlowというわけだ。

 Schuster博士らがGoogle Brainプロジェクトを立ち上げたのは2011年のこと。「私と数人のグループで始めたプロジェクトだった」(Schuster博士)そうだが,2015年末現在ではディープラーニングを応用する数百のプロジェクトがGoogle社内で立ち上がっているほど,大きな成長を遂げたそうだ。

Googleにおけるディープラーニングの成長を示したスライド。2012年第1四半期にはほとんど存在しなかったのが,現在では数百のプロジェクトが動くまでに成長しているそうだ。右側に書かれているように,その応用範囲も幅広い
GeForce GTX 10
Googleにおける応用例として博士が示していたものの1つが,Google Mapsだ。ストリートビューに写った店の看板を文字認識のディープラーニングで読み取ることで,「『Mens Suits』と検索したらと言われたらこの店を検索結果として出す」なんてことが実際に可能になっているという
GeForce GTX 10

 多数のプロジェクトを支えるため,「ディープラーニングに使用しているコンピュートパワーが,現在ではGoogleが持つそれの数%というレベルにまで達している」(Schuster博士)と語る。Googleが持つコンピュートパワー(Compute Power,は相当なものと思われるので,数%といっても,我々の想像を遙かに超えた規模だろう。ちなみにSchuster博士らが運用しているシステムでは,1000基以上のNVIDIA製GPUを活用しているとのことだった。

Schuster博士らは,NVIDIA製GPUを1000基以上利用しているとのことだ。GPUによってディープーニングの学習速度はCPU比で10倍以上効率化できると博士は語っていた
GeForce GTX 10

 ここでちょっと余談めいた話をさせてもらうが,GoogleのChromeブラウザを利用している読者は多いと思う。そして,あまり意識していないだろうと思われるものの,Chromeブラウザは標準で,Googleが提供するWeb API,数にしてざっと20程度をバックグラウンドで動かしている。たとえば,Chromeの特徴である同期や,音声を用いた検索,画像検索といったものの裏では,Web APIが動いているのだ。
 このAPIを通じて,ChromeブラウザはSchuster博士が言うところの,Googleが持つ「コンピュートパワー」に接続しているのだが,その裏ではすでにTensorFlowのようなディープラーニングの活用が始まっている。Chromeブラウザのユーザーは知らず知らずのうちにディープラーニングのパワーに接しているわけだ。

 先ほど示したスライドにある成長予測グラフを見れば想像できるとおり,Googleのディープラーニングは,今後ますます,4Gamer読者のバックグラウンドで活躍するようになるだろう。そう考えると,NVIDIAがディープラーニングに力を入れるのも当然だと納得しやすくなるのではないかと思う。

イベントでは,Pascalを搭載するという車載用コンピュータ「Drive PX 2」のチラ見せもあったのだが,登場はこれだけ。展示もなかったので,とくにアップデートはない
GeForce GTX 10

NVIDIA Deep Learning Day 2016告知ページ

  • 関連タイトル:

    GeForce GTX 10

  • この記事のURL:
4Gamer.net最新情報
プラットフォーム別新着記事
総合新着記事
企画記事
トピックス
スペシャルコンテンツ
注目記事ランキング
集計:05月20日〜05月21日