AIの心臓部

問いが来るのを、答えを持って待つ。CUDA誕生の物語

2006年、ゲーム用チップの会社が、誰も求めていない「計算」に賭けた。それが今、AIの9割を動かしている。

2006年、ゲーム用チップの会社が、誰も求めていない「計算」に賭けた。それが今、AIの9割を動かしている。

2006年、ある半導体会社が、奇妙な決断をした。

自分たちが作っているのは、ゲームの映像を描くためのチップだ。
売れている。順調だ。
株主も、顧客も、それで満足している。

なのに、その会社は、
ゲームとは何の関係もない「計算」のための仕組みに、
巨額の金をつぎ込み始めた。

誰も、それを求めていなかった。
使う人も、ほとんどいなかった。

それでも、その会社は10年以上、赤字を出し続けながら、投資をやめなかった。

その仕組みの名前を、CUDAという。

そして今、世界のAIの9割は、その上で動いている。

これは、誰も見向きもしなかった種が、
世界一の大木になるまでの、物語だ。

GPUとは、そもそも何か

物語の前に、一つだけ準備をしておく。

NVIDIAが作っていたのは、GPU(画像処理装置)という部品だ。
パソコンやゲーム機の中で、画面の映像を描く役割を持つ。

CPU(中央処理装置)と何が違うのか。

CPUは、賢い職人だ。
複雑な仕事を、一つずつ、順番に、正確にこなす。

GPUは、大勢の作業員だ。
一人ひとりは単純なことしかできない。
でも、何千人もが、同じ作業を一斉にやる。

画面の映像は、何百万もの点(ピクセル)でできている。
その点一つひとつに「この色を塗れ」と指示するのは、
賢い職人が一人でやるより、大勢の作業員が一斉にやるほうが、圧倒的に速い。

だからゲームには、GPUがいる。

ここまでは、誰でも知っていた話だ。

問題は、その次だった。

「この大勢の作業員、映像以外にも使えないか」

2000年代の初め、スタンフォード大学に、一人の大学院生がいた。

Ian Buck(イアン・バック)。

彼は、あることに気づいた。

GPUがやっているのは「何百万の点に、同じ計算を一斉にする」ことだ。

でも考えてみると、
世の中には、「大量のデータに、同じ計算を一斉にする」仕事が、山ほどある。

  • 天気の予測。
  • 分子の動きのシミュレーション。
  • 金融の計算。
  • そして(当時はまだ誰も気にしていなかったが)AIの学習。

映像を描くのと、これらの計算は、
構造が同じだった。

だったら、GPUに映像以外の計算をさせられないか。

彼は「Brook(ブルック)」という、
GPUに一般の計算をさせるための、プログラム言語を作った。

これが、CUDAの原型だった。

NVIDIAは、それを拾った

2004年、NVIDIAはBuckを採用した。

そして、Brookの発展形として、
GPUを「計算機」に変えるための仕組みの開発を始めた。

ここで、一つ重要なことを言っておきたい。

当時のNVIDIAは、ゲーム用チップの会社だった。
売上の柱は、ゲーマー向けのグラフィックボードだ。

GPUを「科学計算に使う」なんて話は、
本業から見れば、完全に脇道だった。

普通の経営者なら、こう言っただろう。

「面白い研究だが、本業に集中しよう」

でも、NVIDIAの創業者、ジェンスン・フアンは、そうしなかった。

彼は、この脇道に、本気で賭けた。

2006年11月、種が蒔かれる

2006年11月、NVIDIAは「GeForce 8800」というGPUを発表した。

ゲーマーにとっては、新しい高性能グラフィックボードだった。
でも、その中身は、それまでのGPUとは根本的に違っていた。

GeForce 8800の内部設計は、
「映像を描く」ためだけでなく、
「一般の計算をする」ことを最初から想定して作られていた。

その設計の裏には、超並列スーパーコンピュータのアーキテクトだったJohn Nickolls(ジョン・ニコルズ)がいた。
スパコンの思想を、部分的にGPUの中に持ち込んだのだ。

そして翌2007年6月、
GPUに計算をさせるための道具一式が、無料で配布された。

その名が、CUDAだ。

「Compute Unified Device Architecture」の略。
直訳すれば「統合された計算装置の設計」。

ゲームのチップが、この日、計算機になった。

ただし、世界はまだ、それに気づいていなかった。

誰も使わなかった

ここからが、この物語の一番大事なところだ。

CUDAは、無料だった。
性能も、悪くなかった。

それでも使う人は、ほとんどいなかった。

理由は簡単だ。
必要としている人が、いなかったのだ。

科学計算をする研究者は、スパコンを使っていた。
一般のプログラマーは、GPUで計算をするなんて発想がなかった。
AIは、まだ「冬の時代」で、注目されていなかった。

CUDAは、答えのない問いに対する、答えだった。
誰も問いを持っていないのに、答えだけが先にあった。

普通なら、ここで撤退する。
「需要がないなら、やめよう」それが、まともな経営判断だ。

10年、赤字に耐える

でも、フアンは撤退しなかった。

彼は、一つの方針を決めた。
GeForce 8シリーズ以降、NVIDIAのすべてのGPU製品を、CUDA対応にする。

これがどういうことか。

ゲーマー向けのチップ全部に、
ゲームには不要な「計算用の回路」を載せ続ける、ということだ。

コストは上がる。
ゲーマーは、その分の性能を使わない。
株主から見れば、無駄な投資にしか見えない。

それでも、フアンは、この方針を貫いた。
無償提供にもかかわらず使う人がほとんどいない中で、
10年以上にわたって、毎年数百万ドルの損失に耐え続けた。

10年。

一つの事業が10年間赤字を出し続けたら、
普通の会社では、担当者が何人クビになってもおかしくない。

しかも、この間のNVIDIAは、順風満帆ではなかった。
2006年前後には、ノートパソコン向けチップの欠陥問題で、
修理とリコールに約2億ドルを支払うという痛手も負っている。

本業が苦しいときに、
儲からない脇道への投資を、やめない。

これは、経営判断というより、
信念に近いものだったと思う。

なぜ、やめなかったのか

フアンが見ていたものは、何だったのか。

今から振り返れば、簡単に言える。
「AIの時代を予見していた」と。

でも、たぶん、それは正確じゃない。

2006年に、ChatGPTを予見できた人は、誰もいない。
深層学習が世界を変えると確信していた人も、ほぼいなかった。

フアンが見ていたのは、もっとシンプルなことだったと思う。

「大量のデータに、同じ計算を一斉にする」仕事は、これから絶対に増える。

どの分野かは、わからない。
いつ来るかも、わからない。
でも、必ず来る。

そのとき、GPUが「計算機」として使える状態になっていれば、
そこに来た需要を、全部取れる。

問いが来るのを、答えを持って待つ。

それが、彼の賭けだった。

「使いやすさ」に、賭けた

もう一つ、CUDAの設計思想で重要なことがある。

CUDAは、「C言語」で書けるように作られた。

C言語は、当時のプログラマーなら誰でも知っている、標準的な言語だ。

つまり、CUDAを使うために、
新しい言語を一から学ぶ必要はなかった。
知っている言葉で、GPUに命令できた。

これは、地味だが、決定的だった。

技術が普及するかどうかは、性能で決まらない。
「使うまでの面倒くささ」で決まる。

どんなに速くても、使うのが大変なら、誰も使わない。
少し遅くても、簡単に使えるなら、みんな使う。

CUDAは、GPUという難しい部品を、
普通のプログラマーが普通に使える形で、差し出した。

その「敷居の低さ」が、後に効いてくる。

種は、静かに根を張っていた

2007年から2011年ごろにかけて、CUDAは目立たない場所で、少しずつ広がっていった。

  • 大学の研究室。
  • 物理や化学のシミュレーション。
  • 金融機関の一部。

派手なニュースにはならない。
売上にも、ほとんど貢献しない。

でも、その間に、大事なことが起きていた。

CUDAで書かれたプログラムが、少しずつ、蓄積されていった。
CUDAを使える研究者が、少しずつ、増えていった。
CUDAを教える教科書や、授業が、少しずつ、生まれていった。

これは、後から一気に作れるものじゃない。
時間をかけて、ゆっくりとしか、積み上がらない。

誰も見向きもしなかった種は、
地上に芽を出さないまま、
地下で、静かに根を張り続けていた。

そして、2012年が来る

10年近く、誰も使わなかった仕組み。
赤字を出し続けた、脇道の投資。

それが、一夜にして、世界の中心になる日が来る。

2012年、ある画像認識のコンテストで、
一つのAIモデルが、圧倒的な差で優勝した。

そのモデルは、NVIDIAのGPUとCUDAの上で、学習されていた。

問いが、ついに来たのだ。

答えを持って待ち続けた者のところに。

次回は、その日の話をする。
雪だるまが転がり始めた、2012年の話を。

← コラム一覧

他のコラム