イベント
GTC 2018のNVIDIAブースで“世界最大のGPU”こと「DGX-2」の実機をチェック。自動運転やゲームにおけるAI活用の展示にも注目だ
最大のブースを展開しているのも当然NVIDIAで,その周りに関連企業のブースが取り巻くといった,まさに「NVIDIA城下町」的なブース展開はとても独特だ。GDC 2018の展示会「EXPO」でのNVIDIAブースに比べると,ややこぢんまりした雰囲気ではあるのだが,NVIDIAのCEOであるJensen Huang(ジェンスン・フアン)氏による基調講演の内容を補う展示が行われることもあり,毎年必見となっている。
余談だが,展示ホールがオープンしていたのは昼食時間前後の2〜3時間と17:00以降の2〜3時間だけ。時間が時間なので,軽食やドリンクを飲み食いしながら見られるという,なんだかパーティ的な雰囲気なのも特徴的だ。そんなNVIDIAブースの出展内容を紹介しよう。
Tesla V100 32GB×16基搭載の“世界最大のGPU”「DGX-2」をチェック
NVIDIAブースで一番の目玉は,常に来場者が絶えなかった「DGX-2」の展示コーナーだろう。
DGX-2については,基調講演レポートで詳しく説明しているが,ディープラーニング向けスーパーコンピュータ「DGX-1」の第2世代的な製品だ。
2016年にデビューしたDGX-1は,Pascal世代GPUの「GP100」をベースにした数値演算アクセラレータ「Tesla P100」を8基搭載していたが,2017年には,Volta世代GPU「GV100」をベースとする「Tesla V100」を8基搭載する「DGX-1 with Tesla V100」(以下,DGX-1V)にアップグレードされた。
それがGTC 2018では,GPUコアには一切変更がないものの,GPUパッケージ上に実装するHBM2メモリの容量を2倍の32GBに増やした「Tesla V100 32GB」とし,さらに搭載GPU数も2倍の16基としたDGX-2が発表となったわけである。ハードウェアでは,このDGX-2が,GTC 2018における最大の目玉だった。
このTesla V100 32GBであるが,追加取材でいくつか新しいことが分かってきた。まず,容量の増えたHBM2は,先代と同じSamsung Electronics(以下,
HBM2の1チップあたりにおける容量は,
話をDGX-2に戻そう。DGX-2では,Tesla V100 32GBを4×2の並びで8基にしたものを1クラスタとして扱っている。1クラスタ分に相当するTesla V100 32GB×8は,背の高いヒートシンクを載せた状態で基板上に実装されており,基板自体は,引き出しのようなレールの付いたシャーシに組み付けられていた。
レール付きシャーシは2段構成となっているので,1台のDGX-2は,Tesla V100 32GBが8基×2の16基搭載となるわけだ。
各GPUクラスタは,本体前面側にある垂直の基板「Riser Board」に接続されていた。この垂直基板は,2つのGPUクラスタをPCI Express経由でCPUとなるXeon搭載のシステム基板(マザーボード)と接続するものだ。
NVSwitchは,1基あたり18リンク分のNVLinkを持つ。一方,Tesla V100 32GBは,1基あたり6リンク分のNVLinkを備えている。このGPU×8基が,クラスタ上で6基のNVSwitchにつながっているわけだ。
そしてDGX-2では,クラスタ同士の相互接続にもNVSwitchのNVLinkを使っているのだが,その接続基板は,前面のRiser Boardとは別に,DGX-2の背面側にあった。
レイトレーシングランタイム「RTX」の応用事例を披露
基調講演で,Huang氏がたっぷりと時間をかけて説明したのは,GDC 2018で発表となったリアルタイムレイトレーシング技術「RTX Technology」(以下,RTX)の話題だ。なお,RTXとは何かについては,筆者の連載バックナンバーを参照してほしい
GDCは「ゲーム開発者会議」であるために,話題の切り口も「ゲームグラフィックスにレイトレーシングをもたらす技術」という方向性が強かった。しかしGTC 2018の基調講演では,「映像製作業界のレンダリングコストを下げる技術」という側面に焦点が当たっており,NVIDIAブースにおける展示も,その主旨に沿った内容がメインとなっていたのが興味深い。
まずは,Adobeの3DCG制作ソフト「3ds max」のデモから紹介していこう。
これは,レンダリングプレビュー画面をRTXベースのレイトレーシングに対応したもので,数百万ポリゴンからなる複雑なシーンを,レイトレーシングであるにも関わらず,一瞬で描画する様子を披露していた。
一瞬で,とは言うものの,当然ながらこれにはタネがある。
このシーンのレンダリングを真っ正直なレイトレーシングで行うには,1ピクセルあたり数十本のレイをキャストして,3〜5バウンス(※3〜5回の反射)まで計算するので,いくらGPUアクセラレーションとはいえども,一瞬で描画が終わるはずがない。一瞬でレイトレーシングによる描画を終えたように見えたのは,RTXを使った「AI Denoiser」を使っているためだ。
このデモで実際にレイトレーシングによる計算を行っているのは,描画途中でノイズだらけの画像である。その画像に対して,レイトレーシング途中のノイジーな画像と,レンダリング終了後の鮮明な画像の相関を機械学習させて作り出した推論型ノイズ低減機構(=AI Denoiser)を適用することで,ノイズのないきれいな映像を生成しているのである。
デモの様子を動画で撮影してみたので,ぜひ再生してみてほしい。
もちろん,AI Denoiserによるノイズ除去処理は,あくまでも機械学習AIによる推測で行うので,正しいレイトレーシングによるレンダリング結果と完全に一致することはない。そのため,最終的な完成画像には使いにくいのは確かだ。しかし,映画向けCG制作などで,細かなライティング調整やキャラクター配置の変更,ポーズの調整を行ったときに,レンダリング結果のプレビューとしてアーティストが評価するのに使う画像としては,十分な品質を有している。
そういった事情もあり,AI Denoiserは,レイトレーシングでCG制作を行うプロフェッショナルな制作現場で作業をより効率化する技術として注目度が高いという。
ちなみに,NVIDIAのAI Denoiserとは別モノだが,同じアプローチによる機械学習ベースのノイズ低減技術を組み合わせたレイトレーシングのテクニックは,Disney Researchなども研究しており,すでに実用導入も行われているそうだ(関連リンク,英語)。
レイトレーシングでレンダリングするときには,ノイジーな未完成画像をAIで補正したもので評価し,評価の結果をもとに手直しを行って完成画像を作るといった制作スタイルは,今後のCG制作現場では主流となっていくに違いない。
もう1つ,レイトレーシングによるノイズ除去のデモで注目を集めていたのは,「Star Wars」(スター・ウォーズ)を題材としたRTXの技術デモ「Project Spotlight」だ。
すでに何度も紹介しているので説明は割愛するが,Project
RTXは,Microsoftの「DirectX Raytracing」(以下,DXR)のランタイムであると同時に,NVIDIAのレイトレーシングフレームワーク「OptiX」の最新版である「Optix 5.0」のランタイムでもあるとのこと。つまりRTXは,OptiXで行うレイトレーシングにおいても,実質的にGPUの動作を担当しているわけだ。
ここからは筆者の推測になるが,開発の経緯としては,
- NVIDIAがOptiX 5.0の開発にあたり,そのランタイムをRTXとして設計する
- RTXをDXRとしてDirectX 12に統合する計画をMicrosoftと進める
- GDC 2018でDXRが発表となる
- 事実上,現状ではRTXのみがDXRの実際に動作するランタイムとなる
といった流れがあったのではないか。
RTXは,OptiX5.0が持つ全機能を実行するランタイムであるため,AI Denoiserにおいて実際の処理を行う部分もここに含まれているだろう。AI Denoiserの推論処理には,Volta世代GPUが持つ「Tensor Core」を利用するため「RTXはVolta世代以降のGPUに対応」することになるわけだ。
ところで,Project Spotlightで使っているノイズ低減処理は,AI Denoiserではなく,まったく別の算術的な手法で行っているという説明もあった。このあたりについては,機会があれば改めて解説したい。
DRIVE Constellationによる自動運転AIの訓練デモを公開
DRIVE Constellationとは,自動運転AI開発プラットフォームである「DRIVE Pegasus」上に実装した自動運転AIに対して,仮想空間のCG映像やセンサー情報を与えることで,AIの実験や訓練を行うシステムである。人間がVR HMDを被って行うVR訓練を,自動車の自動運転AIに対して行うようなシステムと考えればいい。
2015年当時のプロトタイプだけでなく,今回発表されたDRIVE Constellationでも,3Dグラフィックスエンジンや訓練道路におけるイベントの制御には,Epic Gamesのゲームエンジン「Unreal Engine 4」(以下,UE4)を利用している。
また,昼夜の設定や晴れ,曇り空,雨天といった天候の設定を変えても,登場するオブジェクトは,設定環境下で物理的に正しい陰影を表現できるので,あらゆる状況設定における訓練を,現実世界で行ったものと想定して,スピーディに行えるわけである。
しかも,「前の車が突然進路を変える」とか「急ブレーキを踏む」実験や,「通行人が飛び出してくる」といった実験をUE4のエディタ上で開発できるため,訓練コストも安くて済むし,訓練環境の更新もスピーディに行えるのだ。なにより,自動運転AIが仮想空間上で他車に衝突したり人をはねてしまっても,現実世界へのダメージはまったくない。ここも大きなポイントだろう。
ところで,自動運転AIのカメラで捉える映像をUE4の得意なCGで再現するのはいいとして,レーダーやLIDAR(ライダー)などで取得する電波やレーザーの反射波を模した疑似情報は,どうやって与えるのだろうか。
ブースの担当者に質問したところ,レーダーやLIDARの反射波を再現して,自動運転AIにフィードバックする仕組みを実現しているとのことだった。つまり,UE4で再現した仮想空間に対して,仮想的な電波やレーザー光を放ち,その反射波を取得できる仕組みが構築済みというわけだ。
仮想センサーの再現にあたっては,実際の車載センサーを作るメーカーと協力し,さまざまな材質による反射波のデータを提供してもらって開発を進めたという。そのため,レーザー光をあまり反射しない「ふわふわした毛皮のコートを来た通行人」が飛び出すシチュエーションも再現できるそうだ。なかなかすごいものである。
機械学習ベースのAIがゲームやeスポーツの世界にも展開
AI関連の展示では,ゲームに関係のあるものが2つほどあったので,簡単に紹介しよう。
1つは「AI FOR GAMES」(ゲームのためのAI)というタイトルのもの。
ゲームのためのAIと聞くと,「ゲームにおけるNPCの行動AI」か,と思われそうだが,まったく違うジャンルの話で,端的に言うと「機械学習を活用したプロシージャルアニメーション」システムといったものだった。
NVIDIAブースで披露されていたのは,起伏豊かな地形からなる屋外に登場したキャラクターをゲームパッドの操作で動かすと,地形の起伏に連動して手足や姿勢を自然に動かしながら歩行するデモである。一見,何の変哲もない歩行アニメーションの再生に見えて,地味な展示に思えるが,これをプログラムでやろうとすると,意外に大変だ。
現在のゲームにおける一般的な手法だと,歩行や走行,横歩き(サイドステップ)といったさまざまな歩行アニメーションデータを作成しておき,ゲームの実行時は,移動の方向や速さ,地形の起伏に応じて,複数のアニメーションデータを算術合成することで,その状況に合ったアニメーションを再生する。それに対して,デモで使っていた手法は,事前にアニメーションデータを用意するところまでは同じだが,移動の方向や速度,地形の起伏と,次に実行すべきアニメーション(身体の動き)の関係性を機械学習するところが特徴的だ。
つまり,実行時に移動方向や速度,地形の起伏といった条件をAIに与えれば,AIが「次の手足や姿勢はこうあるべき」という推論を返すというわけだ。プログラムベースのアニメーション生成ではないので,急激な操作にもスムーズなアニメーションを生成してくれるところが,既存手法とは異なるポイントというわけである。
ちなみに,この機械学習には「Phase-Functioned Neural Network」(フェーズファンクション・ニューラルネットワーク)という技術を使っているとのこと。この技術をUnreal Engine 4のアニメーションシステムに組み込んだのが,今回の展示なのだそうだ。
ちなみに,フェーズファンクション・ニューラルネットワークのベースとなっているのは,エジンバラ大学の研究グループによる「Phase-Functioned Neural Networks for Character Control」という論文のようである(関連リンク)。4Gamerでは,この論文に関わったエジンバラ大学情報学部准教授の幸村 琢氏によるCEDEC 2017のセッションレポートを掲載済みなので,興味のある人は参照してほしい。
AIを活用したもう1つのゲームに関わる技術とは,スポーツ中継の映像からハイライトシーンを自動抽出する技術「Reely」だ(関連リンク)。同名の企業であるReelyが,NVIDIAとの協業により開発したものである。
スポーツニュースにおいて,試合を撮影した映像全体から,試合が動いたり有名選手が活躍したりしたハイライトシーンを抜粋して放送しているのを見たことがあるだろう。こうしたハイライト映像の切り出しをAIに自動でやらせてしまおうという技術がReelyなのだ。複数本のビデオストリームを対象にして,並列に処理を実行できるという。
気になるのは,なにを基準にハイライトを選ぶかなのだが,ここが面白い。簡単に言うと,ザックリとした編集ポイントのようなものを,AIに明示して学習させるだけでいいそうだ。
最もシンプルなのは,スポーツ映像の外周に描かれていることが多いスコア表示の文字だ。この数字が更新されたときには,その前後を候補として選択するという。ほかにもシンプルな手法として,注目選手の顔がある。登録済みの選手がアップになった前後を切り出すわけだ。
より高度で複雑な,いかにもAIっぽい判断が決め手となるのは「群集が大騒ぎしている映像の前後シーン」や「何度もリプレイで流しているシーン」など。最新版では,映像だけでなく音声も配慮するようにしているそうで,サウンドがぶつ切りにならないポイントでカットしたり,歓声が上がった前後のシーンで切り出したりといったことにも対応しているのだとか。
最近,Reelyには,「eスポーツイベントの映像に対応できるか」という問い合わせが増えているらしい。学習のさせ方次第で普通に対応できると,Gallagher氏は自信を見せていた。たとえば格闘ゲームなら,「KO」表示の直前までを切り出すとか「体力ゲージが短時間で連続で減る」ようなシーンは連続技が決まっているシーンなので,そこをハイライトと見なすわけだ。
すでに,アメリカの放送局には導入事例があるそうなので,いずれは,AIが切り出した国際スポーツ中継を見ることがあるかもしれないし,eスポーツイベントの映像で使われる可能性も大いにあるだろう。
いまだ姿を現さないVolta世代GeForce
GDDR6メモリの登場は2018年内のはずだが
基調講演で発表されたハードウェアが,マイナーチェンジモデルのTesla V100 32GBとその応用製品だったこともあり,ニュースとしてのインパクトにはいまいち欠けたNVIDIAだったが,さすがに主催者だけあって,NVIDIAブースの展示は今年も興味深いものが多かった。
一方,ゲーマーが気になるのは,Volta世代のGeForceがいつになったら登場するのかだろう。
展示会場には,今年もSK Hynixが出展しており,次世代GPU向けメモリとなる「GDDR6」のチップとウエハを展示していた。2017年の展示会場で,SK Hynixの担当者は,「GDDR6のリリース時期は2018年になる」と言っていたので,そろそろなんらかの動きがあっても不思議ではない。かつてのGDDR5Xと同様に,新GeForceとの連動リリースがあるのかが気になるところだ。
DXRの発表とともに脚光を浴びたRTXだが,その対応GPUをVolta世代GPU以降に限るという思い切った選択をしたNVIDIAだけに,DXRの正式リリースである2018年秋頃には,何らかの製品を世に送り出していると期待したいものだ。
NVIDIAのGTC 2018公式Webサイト(英語)
- 関連タイトル:
Volta(開発コードネーム)
- この記事のURL: