Google翻訳のモデルは、完成まで何百回もトレーニング!?

 ディープラーニング開発の流れについて、もう少し説明しよう。先に述べたように新Google翻訳システムは、「英→仏」翻訳モデルのトレーニングで1万5000時間かかった。この翻訳モデルは1回のトレーニングで完成品を作り上げられるものなのだろうか? 答えは「ノー」だ。Google翻訳システムを含め、ディープラーニングを用いたシステムの開発では、複数回のトレーニングを通して徐々に改善し、最終的なシステムを作り上げていく。

 「ニューラルネットワークの構成をこのように変更しよう、新しい設定を導入してみよう」という改善アイデアを考え、そのアイディアをシステムに反映し、学習データを用いてニューラルネットワークのトレーニングを行う。このトレーニング時間は数日、長い物だと数カ月かかる。ニューラルネットワークのトレーニングが終わったら、想定している性能が出ているかをテストし、期待している性能が出ていない場合は更に改善案を考えて、再度トレーニングする。「アイデア出し」→「アイデアのシステム反映」→「トレーニング」→「性能テスト」の4つのステップを1サイクルとして、より良いシステムに改良するためにサイクルを回す。完成までに必要なサイクル数は数十回、場合によっては100回を超えることもある。

ディープラーニングシステム開発の流れ
[画像のクリックで拡大表示]

 この1サイクルに1週間かかれば、100サイクル回すには数年かかってしまうことになる。日々新しいサービスが登場する昨今、次のシステムのリリースまで2年も3年もかかってしまえば、競争から取り残されてしまうことになる。この1サイクルをいかに高速に回すかは、AI企業が競争力を保つため大変重要だ。

ディープラーニング技術を支えるGPUが必須な理由

 2017年6月の「Green500」のランキングに入っているスパコンは、7位を除いてすべてNVIDIAの「Tesla P100」というGPUが搭載されている。今やディープラーニングの研究開発に必須のデバイスであるGPUだが、ディープラーニング開発にGPUが必要な理由について最後に説明しよう。

 GPUというと、パソコンで使うゲーム用ハードウエアというイメージが強い方も多いだろう (連載第1回目で少し解説している)。 GPUとは「Graphics Processing Unit」の略で、高精彩なグラフィックスを表示するための半導体だ。ゲームや映画のCG製作はもちろんのこと、自動車など製造業のデザインや建築の設計シミュレーションにも必須の半導体だ。みなさんがテレビで目にする車のCMに登場する車は、ほぼ100%このGPUを用いてレンダリングされたCGが使われている。

PCゲームの高精細化が進む中、フレームレートを落とさず高画質なグラフィックを実現するためにはGPUが必須だ 
[画像のクリックで拡大表示]
(c) 2017 Bungie, Inc. All rights reserved. Destiny, the Destiny Logo, Bungie, and the Bungie Logo are among the trademarks of Bungie, Inc. Activision is a registered trademark of Activision Publishing, Inc.
開発:Bungie, Inc.
建設中のNVIDIA米国本社の社屋を「Iray VR」という技術を用いてGPUでレンダリングした例。非常に精密に出来た仮想空間にて新社屋を体験できる
[画像のクリックで拡大表示]

 ゲームの世界では年々要求スペックが上がっており、4Kの高解像度で120fps(1秒間に120枚の絵を表示する)などの高いフレームレートが必要になってきている。コマ落ちすることなく、高解像度のCGを表示するためには、GPUのパワフルな処理能力必須になる。

 CGを作成するには、たくさんの数値計算が必要。例えば、金属の光沢感や肌の質感を表現するためには、それぞれの物質の反射率を考慮して計算するし、奥行きを表現するなら、どの位置にどのような物体があるかという座標計算になる。GPUは1秒間にこれらの計算を何度も繰り返し行う。この高精細なグラフィックスを高速に生成する計算性能を生かし、ディープラーニングをはじめとする、スパコンで行うような汎用計算の高速化に使われるようになった。

 現在のGPUの処理性能は、パソコンなどに使われている半導体CPUの10倍以上ある。言い換えれば、CPUだけでトレーニングを行う場合は1週間以上かかる計算でも、GPUを使うと1日もかからず終わらせることができるということを意味している。下の写真は「Tesla P100」というNVIDIA製GPUを8基搭載した「DGX-1」というサーバーだ。Green500の4位や9位、10位のスパコンはこのDGX-1数台で構成されている。ディープラーニングの開発サイクルを加速したい、AI企業および研究機関は、このDGX-1のようなGPUを搭載したサーバーを大量に導入し、開発を加速させようとしている。

世界で初めてディープラーニングを想定して設計されたスーパーコンピューター「DGX-1」
[画像のクリックで拡大表示]
DGX-1は「Tesla P100」というNVIDIA製GPUを8基搭載している
[画像のクリックで拡大表示]

 Google翻訳の精度が向上した理由を通して、ディープラーニングの開発の流れや、スパコンとディープラーニングの関係、そしてスパコンの中に搭載されたGPUの特徴について説明した。次回は、スパコンによるディープラーニング開発サイクルの高速化で飛躍的に技術向上した自動運転について解説しよう。

村上真奈
エヌビディア/ディープラーニング ソリューションアーキテクト、CUDAエンジニア
氏名エヌビディア/ディープラーニング ソリューションアーキテクト、CUDAエンジニア 2007年に早稲田大学教育学部理学科数学専修を卒業後、株式会社システム計画研究所に入社。写真シール機や放送機器への画像処理の組み込み開発に携わる。その後、サムスン日本研究所にてテレビ用の画像処理の研究開発を担当。2015年にNVIDIAに入社。現在、CUDAエンジニアとしてNVIDIAの汎用計算プラットフォームCUDAの技術や取り組みについて周知する活動やトレーニングおよびカスタマーサポートを担当。現在はディープラーニング関連のソリューションアーキテクトも兼任している。