3Dグラフィックスに関係する分野の初学者向けに「3Dグラフィックスの歴史」を解説する本連載。これまで、ゲームグラフィックスへの3DCGの導入、グラフィックスプロセッサ(GPU: Graphics Processor Unit)の出現、プログラマブルシェーダ技術の急速な発展、「GPGPU」の誕生について解説してきた。今回はGPGPUが他分野に応用され、その発展に貢献する過程をたどる。
機械学習型AIの進化に貢献したGPGPU技術。画像内容を知覚し「鳥が木の枝に止まっています」というテキストを作出するAIの誕生はGPGPUがなければ実現しえなかったかもしれない
前回までの流れの振り返りと今回のテーマ
1990年代中期、ゲームグラフィックスは2Dから3D化へと舵を切り出し、3DCG描画を専任で行う「GPU」が誕生する。その後、さまざまな半導体メーカーが独自のGPUを提案するも、仕様がバラバラでゲーム開発者は困惑。GPU仕様がきっちりと定まっていたゲーム専用機(≒家庭用ゲーム機)では、こうした混乱がなかったため、2000年代前半までは3Dゲームグラフィックスの主役はゲーム専用機であった。
一方、「家庭用ゲーム機に追いつけ追い越せ」のペースで、PCプラットフォームで3Dゲームグラフィックスが2000年代初頭から急激に進化。これは、2000年頃から、3Dグラフィックスにまつわる多様な特殊表現を「ソフトウェアの形」で実装することができるプログラマブルシェーダ技術が台頭したことと関係が深かった。
その後、家庭用ゲーム機もが、プログラマブルシェーダ技術に対応して現在に至り、その結果、PCとゲーム専用機間でGPUの仕様の違いはなくなり、3Dゲームグラフィックスは、同じプログラマブルシェーダ技術基盤で設計、製作されるようになった。2010年代前後からは、しばらくGPUは進化の停滞期に入り込むが、その突破口となる概念「GPGPU」が誕生。
GPUを汎用演算に転用しようとする「GPGPU」(General Purpose GPU)という概念は、2010年代に学術界に急激に浸透。AMDやNVIDIAといった大手GPUメーカーも、GPGPU技術の革新に力を入れはじめるようになる。
2022年3月にNVIDIAが世界最高性能のGPU「GH100」を発表したが、GPGPU専用として提供される。3Dグラフィックスを処理できないわけではないが、基本的にはGPGPUでの利用が想定されたプロセッサである。GPGPUセンセーションは、現在進行形で産業を席巻しつつある
実は、昨今の「人工知能ブーム」や「自動車の自動運転技術の急速発展」は、このGPGPUがなければ起きなかったことなのである。「ゲームの映像を描画すること」が主な仕事だったGPUが、どのようにして、人工知能(AI)や自動運転といった技術開発に関係していったのかを解説していくことにしたい。
GPGPUが巻き起こした機械学習型AIのビックバン
GPGPU技術が、機械学習型AIに応用されはじめたのは2010年くらいからだ。昨今のAIブームの直接のきっかけとなったのは2012年に起きた、ある象徴的な事件ではないか、と言われている。
スタンフォード大学が2010年より立ち上げた大規模な画像データベースに「ImageNet」というものがある。1,400万枚に及ぶこの膨大な画像データベースから課題として抽出された約50万枚の画像を学習し、その学習を完了したAIに対して約2万枚の試験画像を見せて「これが何であるか」を推論させる画像認識AIの競技「ImageNet Large Scale Visual Recognition Challenge (ILSVRC)」が2010年から毎年行われてきた(2017年が最後の開催)。このいわばAIの賢さを競う競技の2012年大会においてトロント大学のアレックス・クリジェフスキー氏らが、GeForce GTX 580×2基構成のGPGPUマシン(要は2GPU構成のPC)で平均的な人間の正解率を超える結果をはじき出して優勝したのだ。なお、優勝した機械学習型AIの実装手法については「ImageNet Classification with Deep Convolutional Neural Networks」としてまとめられている。
NVIDIAの社長兼CEOのジェン・スン・フアン氏も、後年、この2012年の出来事を「機械学習型AIの世界にビッグバンが起きた」と語っている。この事件以降、機械学習型AIはクリジェフスキー氏が行った実装手法に倣うようになり、進化と発展が一気に加速する。
機械学習の一形態である「ディープラーニング(深層学習)」の歴史を示したスライド。CNN(Convolutional Neural Network:畳み込みニューラルネットワーク)の論文が発表されたのは1998年だが、2012年のクリジェフスキー氏らの論文以降で劇的に研究開発が活発化したことがわかる
クリジェフスキー氏らの論文が、「ディープラーニング界にビッグバンをもたらした」とフアン氏
2014年にはスタンフォード大学のアンドレ・カパーティー(Andrej Karpathy)氏らが、画像を見せるとそれを流ちょうな英語でその画像の内容を解説する機械学習型AIを発表している。鳥が写っている画像を見せると、単に主題としての「鳥」だけを認識するのではなく、その画像中に描かれているすべてのオブジェクトを認識したうえで、各オブジェクトの関係性を解釈して「鳥が木の枝に止まっています」と作文することができるAIが発表されたのだ。この論文は「Automated Image Captioning with ConvNets and Recurrent Nets」としてまとめられている。
スタンフォード大学のカパーティー氏らの論文「Automated Image Captioning with ConvNets and Recurrent Nets」からの抜粋。写真を見せられた学習型AIがかなり的確な英作文を披露する事例。学習した知識にないものが示されると間違えることもある。「赤ちゃんの例」はそのささやかな誤り例。カパーティー氏のサイト「NeuralTalk Sentence Generation Results」には、AIが実際に作成した英作文の事例が掲載されている。このページでも間違った作例はいくつか見つかる
ゲーム画面を見てプレイするゲームAIの誕生
2015年にはGoogle系の英国ベンチャーのDeepMind社が開発したAIにクラシックゲーム機「Atari2600」の「ブロック崩し」「インベーダー」など、全49種のゲームをルールを教えずにプレイさせ、以前のプレイよりもスコアが高かったら「そのプレイはよいプレイだった」という評価を与え、反復的にプレイさせて学習させたところ、半数以上のゲームにおいて人間のトッププレイヤーの腕前を上回ったと報告している。
DeepMind社が開発した「ゲーム画面を見てプレイするAI」の成長過程をまとめた動画。「どうすれば得点が稼げるか」を何百回という試行の繰り返しの過程で学習していくさまが見て取れる
同じAIを「スペースインベーダー」で訓練させた事例。学習を終えたAIは、敵の弾を巧みに避け、飛来する高得点のUFOも確実に迎撃する
「リアルタイムに変化を遂げていく情景」に対して「最良の行動選択をする」というAIは、自動運転技術の開発に直結するであろうことは容易に想像できるはずである。
そして、2016年には、このDeepMind社の開発したAI「AlphaGo」が、人類最強の囲碁プレイヤーとも言われる韓国人のイ・セドル九段を4勝1敗の戦績で打ち破ったニュースが世界を駆け巡った。ちなみに、このAlphaGoは、前出のAtari2600をプレイしたAIと仕組み的には同じで、AlphaGoは基本的には囲碁のルールを知らないという事実も、業界に大きな衝撃を与えた。
実は、AlphaGoは、過去の膨大な上級者同士の対戦の棋譜の流れを「白石を白ピクセル」「黒石を黒ピクセル」とした「白黒画像の遷移データ」として学習し、最終局面において「これが勝ち」「これが負け」という「流れの筋」を学習して構築されたAIだったのだ。
セドル九段が唯一勝利を収めた第4局は、中盤でAlphaGoが学習した膨大な過去の棋譜にないと推測される奇手を打ったことが勝因に繋がったと分析されている。囲碁の基本ルールすら知らなかったAlphaGoの弱点を突いてセドル九段は勝利したというわけだ。SFマンガみたいな話でちょっとカッコイイ逸話である。
広がりを見せる機械学習型AIの応用先
これらのセンセーショナルな活躍を見せた機械学習型AIのすべてにおいてNVIDIAのGPUが、GPGPU的に利用されていた。
この事実は、NVIDIAにとって、本連載前回で紹介した「2010年の世界最速スパコンTOP10のうちの3台がNVIDIAのGPUベースだった」に並ぶほどのGPGPUに対する強風の追い風となったことはいうまでもない。
機械学習型AIは、ごくごく簡単に喩えれば「膨大なデータ同士の相関性を計算し、これを学習データとする」「AI利用時には、入力データとその学習データの相関を求めて、その度合いに応じた推論を導く」……というような処理系となっている。この仕組みは、画像の認識、インベーダーゲームをプレイするAI、囲碁をプレイするAIなどなど、あらゆる分野への応用が利く。そう、2012年以降、GPGPUベースとなった機械学習型AIは「どんな分野で有効か」の探索フェーズに入り、まさに現在でも各分野において高効率かつ高精度なAI開発が急ピッチで進められている状況なのだ。
例えば音声データを取り扱った音声認識、膨大な言語の文書データを取り扱った翻訳への応用はすでに実用レベルに達しているし、意外なところではディズニーやピクサーなどのCGアニメーション映画制作会社が、キャラクターに動きを付けるのにモーションキャプチャーではなく機械学習型AIを応用する研究を始めている事例もある。
日本では塩野義製薬が新薬試薬の臨床試験解析に機械学習型AIの導入を開始したことを発表しているし、レントゲン写真やMRI像から疾患の有無を判断するエキスパートシステムに機械学習型AIを導入しようとする研究も進められている。
そして、リアルタイムに周囲の情景(映像)を認識して最良の行動を判断するだけでなく、過去の学習データから、今の情景から未来に起こりうる危険なことを確率的に予測できる機械学習型AIもありふれた存在となりつつある。そう、自動車の自動運転向けAIなどはその最たる事例だと言えよう。
2017年5月、トヨタ自動車は自社の自動運転技術開発に、NVIDIAのGPUを搭載したSoCを採用することを発表した
機械学習型AIは、学習データ次第で今見えている状況から、この先、起こりうる未来が確率論的に予測できるところが、従来のセンサーからのリアルタイム情報に基づいてアルゴリズムでリアクション的に意志決定をするAIとの大きな違い。ドアが閉まっている車があったとき、過去に「突然ドアが開いて、そのドアに衝突したことがある。これはよくないこと」という学習データがあれば、同じような状況の際に警戒ができる。これは自動運転技術の意志決定には非常に都合のよいAIである
GPGPUの世界でも激化が進むGPUメーカー同士の戦い
最近、「NVIDIAが妙にGPGPUに注力している」などと言われることがあるが、むしろ「GPGPUを積極活用している業界が高性能GPUを欲している」状況になっており、いまやグラフィックス業界に優るとも劣らぬほどのGPU市場の上客になっているので、企業体であるNVIDIAの行動方針にそうした変革が生まれたとしても不思議なことはないだろう。冒頭で紹介した「GPGPU専用のGPU製品」というのはこうした背景があって誕生しているわけである。
さて、なぜここまでGPGPUの世界がNVIDIA一強になってしまったのだろうか。これにはいくつかの理由が考えられる。
RADEONブランドを有し、プログラマブルシェーダ技術の進化に大きく貢献したはずのATIは、大手CPUメーカーのAMDに2006年に買収される。AMDはCPUメーカーでもあるため、HPC(High Performance Computing;ざっくりいえば科学技術計算のこと。その詳細は本連載前回を参照されたい)業界にはCPUを訴求したいという思惑を捨てきれず、GPGPUの方向へ大きく傾倒した戦略をとることができなかった……と筆者は見ている。
さらに、AMDは「そうしたHPC分野には、CPUとGPUを統合させた新構造のプロセッサが適しているはず」と未来の姿を見出していた。この着想を基にした新プロセッサは当初「Fusion」というプロジェクトネームで発表されたのち、実際の製品としてはAPU(Accelerated Processing Units)シリーズとして展開される。またAMDは、次世代APUシリーズに向けて、CPU管理下のメモリ空間とGPU管理下のメモリ空間を論理的に共有一体化させたGPGPUプラットフォームとしてHSA(Heterogeneous System Architecture)を提唱。
この流れは非常に有効そうに見えたのだが、初期のAPUは、どちらかと言えばエントリクラスからミドルクラスの性能を持った、一般ユーザー向けの普及帯PC向けソリューションとして訴求されていたため、HPC業界に振り向いてもらうことができなかった。歯に衣着せぬ物言いでいえば、最初期のAPUはCPU性能もGPU性能もHPCが求めるパフォーマンスに達していなかった……ということである。
若干、時代の流れを読み間違えたAMD(ATI)は、GPGPU向け戦略(≒近代HPC戦略)においてはかなり遅れをとってしまった感がある。
この「遅れ」を取り戻すべく、AMDは2015年前後あたりからGPGPU環境整備ヘの取り組みを積極的に行うようになり、2016年にAMD独自のプラットフォーム「ROCm」(Radeon Open Compute Platform)を発表している。以降、堅実的な開発と環境整備を続けことで(まだまだNVIDIAのCUDAプラットフォームほどではないが)、徐々にHPCの世界で存在感を強めつつある。近年では、AMDのRyzen CPUと、同社のGPGPU専用GPU製品Radeon Instinctの組み合わせで構成されたスパコンが米国のオークリッジ国立研究所(ORNL)と米国エネルギー省(DoE)に採用されたことが大きく報じられた。GPUの覇権争いは、GPGPUの世界でも、今後も続くとみて間違いない。
さて、最後に余談をひとつ。ATI買収をきっかけにしてAPU開発に傾倒し、GPGPU環境整備に遅れをとったAMDだったが、このAPUプロジェクトそのものは一定の成功を収めているということだけは付け加えておきたい。
そう、PlayStation®4、PlayStation®5、Xbox One、Xbox Series Xなどの近年の家庭用ゲーム機のメインプロセッサーは、すべてAMDのAPUなのである。
2020年11月に発売されたPlayStation®5にはAMDのAPUが搭載されている
あわせて読みたい記事
- これまでの5年、これからの5年――ゲームプラットフォームの現在・過去・未来を考える2020年12月21日 更新
- デジタル・アニメーションの過去・現在・未来第8回 AIによるアニメ制作の可能性(1)2020年11月6日 更新
- AAAとインディに分かれたコンソールゲーム市場PS5発売を前に新たな潮流について考える2019年12月24日 更新