AI-Nativeシリーズ · 学習工学
2004年、最も重要なAI論文には「AI」の文字が一度も出てこない
1分でわかる要点
2004年、GPUはすでにCPUを力で凌駕していた。だがそれをプログラムするには、三角形の言葉を話す必要があった。Brook for GPUsは、streams、kernels、reductionsという三つの抽象化で鍵を開けた。そして開かれた倉庫は、CUDA(2006年)となり、続いてゲーム用カード二枚によるAlexNet(2012年)、そしてAI時代へとつながっていく。イメージするならこうだ——眠っている計算力は施錠されたドアの向こうにあり、抽象化こそがその鍵である。Sara Hookerの「ハードウェア・ロッタリー」は、この法則に名前を与えた。あなた自身の道具にも、施錠された倉庫があるはずだ。

2004年、スタンフォード大学の研究者七人が、グラフィックカードについての論文を発表した。念のため検索してみたが——この論文には「neural」「artificial intelligence」「machine learning」「deep learning」という言葉が、一度も登場しない。それでも、この論文は私のフロンティアAI読書リストの№2に位置する——AIと明言する論文のほとんどすべてより上位にだ。このページを読み終える頃には、あなたもその順位に納得してくれるはずだと思う。
馬力全開の倉庫に、ドアがない
2004年当時、ゲーマーのPCに載ったグラフィックカードは、隣に座るCPUよりもすでに多くの生の演算能力を叩き出していた。だがその力はすべて、シェーダーアセンブリとグラフィックスAPIの向こうに閉じ込められていた——それを使うには、自分の計算をレンダリング処理に偽装するしかなかったのだ。Brookの著者たちは率直にこう述べている[1]:
点火装置が三角形の鍵しか受け付けない倉庫を想像してほしい——エンジンは山ほどあるのに、誰も始動できない。これは彩りを添えるために私が考えた比喩ではない。この論文が存在する理由そのものなのだ。
① 鍵のかかった倉庫——高い方の棒は最初からそこにあった。檻が外れた瞬間に何が起きるかを見てほしい
鍵を開けた三つの言葉
Brookの一手は、より速いハードウェアではない。語彙そのものだった。アブストラクトからの引用そのままに[1]:
そして貢献部分からは[1]: "Through the use of streams, kernels and reduction operators, Brook abstracts the GPU as a streaming processor."(訳:ストリーム、カーネル、リダクション演算子を用いることで、Brookは GPU をストリーミング・プロセッサとして抽象化する。) A stream(ストリーム)とは、並列レーンを流れるデータのことだ。kernel(カーネル)とは、流れてくるすべてのものに適用される一つの関数のことであり、reduction(リダクション)とは、その奔流をひとつの答えに畳み込む処理のことだ。この三つの言葉で言い表せる問題であれば——行列の乗算などはまさにそれを流暢に語る——三角形の存在に触れることさえなく、倉庫のエンジンを走らせられる。同じ論文がその証拠を示している。Brookのプログラムは"up to seven times faster than their CPU counterparts."(訳:CPU版に比べて最大7倍高速。)[1] この図は本物のインクだ——この論文全体のアイデアを、私はペンキャンバスの上で手描きし、それを図自体のレンダラーが書き出した。
② 動きとして見る同じ図——3本の青いストリームが1本のオレンジ色のストリームになる。カーネルは動かず、動くのはデータのほうだ
この論文が灯した導火線
実在の人物をたどってみよう。Brookの筆頭著者はIan Buckだ。論文発表後、彼はNVIDIAに移り ——そこでCUDAを生み出し、今では同社のハイパースケール・HPCコンピューティング事業を 率いている[2]。CUDA(2006年)は、Brookの語彙が産業規模に育ったものだ。 その6年後、2人の大学院生がゲーミング用ハードウェアでニューラルネットワークを訓練した。 ImageNetを業界が唖然とするほどの差で制し、AI史上もっとも意味深い「やれやれ」とともに論文を 締めくくった——原文のまま引用する[3]:
もう一度読んでほしい。ディープラーニング時代の幕を開けたこの論文は、ハードウェアのアップグレード 要求で締めくくられている。新しい理論ではない、より洗練された事前知識でもない——答えは、より高速なGPUを待つことだった。それは、Brookが8年前、AIという言葉を一度も使わない論文の中で解錠しておいた 倉庫のエンジンにほかならない。
Brook:鍵 2006
CUDA:産業への扉 2012
AlexNet:ゲーミング用カード2枚 現在
AI時代の家賃請求書
③ 導火線——「もう三角形を描かせないでくれ」から兆パラメータの訓練実行まで、22年
その裏にあるルール——インサイダーが名付けた
Sara Hooker(Google Brain、後にCohere For AIの責任者)は、2020年にこのパターンに 恒久的な名前を与えた。彼女の要旨から原文のまま引用する[4]:
彼女の論理は諸刃の剣であり、そこにこそ、単なるスローガンではないインサイダーの洞察が 宿っている。ニューラルネットワークそのものが、何十年も負け続けてきた古いアイデアだったのだ ——必要なハードウェアがまだ存在しないまま、失敗の烙印を押されていた。BrookとCUDAは 単に計算を高速化しただけではない。どのアイデアが「正しい」ことになるかを変えたのだ。 私の 苦い教訓(The Bitter Lesson)についてのエッセイを読んだ人なら、ここが接点だとわかるはずだ。Suttonは 計算資源に乗った汎用手法が長期的には勝つと言う——Hookerはそこに但し書きを添える:ただし、誰かがわざわざ解錠してくれた計算資源に限る、と。苦い教訓(The Bitter Lesson)が時代の潮流を名づけたのだとすれば、Brookはその港を築いた。
④ 抽象化の梯子 — 一段上がるごとに、その下の段は見えなくなる。見えなくなること自体が功績なのだ
パターン: ハードウェアとソフトウェアの共同設計——能力が使いやすさを追い越したとき、最もレバレッジの効く仕事は次のベンチマークではなく、抽象化そのものだ。Brookの著者たちはGPUを速くしたわけではない。彼らはGPUを語れるものに変えた.
アンチパターン: 自分の問題をハードウェアの母語で表現すること——2004年なら三角形、今なら現行アクセラレータが評価する形に研究アイデアを無理やり合わせることだ。それがハードウェア・ロッタリーの暗部であり、倉庫の側が何を考えることを許すかを決めてしまう。
メカニズム: 仮想化だ。ストリーム/カーネル/リダクションはデータ並列性のための最小完全言語を構成する。だからこそ、これに適合する問題なら何であれ——2004年の画像分割から、いつまでも終わらない行列乗算まで——シリコン自体は一切変えずに、グラフィックス用シリコンの上へ写像できる。
今週、自分だけの「鍵のかかった倉庫」を見つけよう(SMARTパート)
具体的に: 持っているのに実際には動かせていない計算力とツールを棚卸ししよう——デスクトップで遊んでいるGPU、月に二回しか呼び出さないのに料金だけは払っているAPI、作者本人しか触れないエージェントスタック。実行可能に: 最大のものについて、Brook流の一文を書いてみよう。「[すでに話せる言葉]を拡張し、[鍵のかかった能力]を[自分が推論できる名詞]に変える」——それがスペックになる文だ。」——それがスペックになる。測定可能性: 先週まで使えなかった人が、今週にはそれを使いこなして何かを世に出していれば勝ちである。Brook自身の基準も、非グラフィックス開発者が7倍速いコードを走らせることだった[1]. 期限: 棚卸しは一晩、その一文は10分、抽象化は四半期を要する。関連性: Hookerのロッタリーは今もチケットを引き続けている。次のAlexNetも、今この瞬間、誰かの三角形型イグニッションの向こうに閉じ込められている。
このページの作られ方(証拠、手短に)
私の allin-anything ルーターへ投げた一文:"learn the Brook for GPUs paper deeply, with an animation for each key idea, and sketch its stream-through-kernel pipeline by hand."(訳:Brook for GPUs論文を深く学び、主要なアイデアごとにアニメーションを作り、そのストリーム→カーネルのパイプラインを手描きでスケッチせよ) 3つの機能ユニットがそれぞれ応答し、信頼を得る前に各自のテストスイートを緑にした——ティーチバック・ループ、アニメーション制作のリンター、そしてpenechoキャンバス(ピン留めされたコミットで200件のテスト)だ。上記のインクを生み出したのは、その自前のエクスポーターである。ここにある引用はすべて一次資料から取得し、一字一句照合済みだ。この連鎖がただ一つ止まったのは、機械が担わないステップ——公開ボタンを押す瞬間——であり、それは私自身の手によるものだった。証拠——終了コード、ピン留めされたコミット、実行ジャーナル——はリポジトリに置いてある[5].
参考文献(各リンクは公開時に検証済み)
- Buck, I., Foley, T., Horn, D., Sugerman, J., Fatahalian, K., Houston, M. & Hanrahan, P. (2004). Brook for GPUs: Stream Computing on Graphics Hardware。SIGGRAPH 2004——すべての引用はPDFから一字一句そのまま (公開時に取得・照合済み)。プロジェクトページ: graphics.stanford.edu/projects/brookgpu.
- NVIDIA Newsroom。 Ian Buck — bio —— Brookの筆頭著者、CUDAの生みの親、VP, Hyperscale and HPC Computing。
- Krizhevsky, A., Sutskever, I. & Hinton, G. (2012). ImageNet Classification with Deep Convolutional Neural Networks。NeurIPS——「two GTX 580 3GB GPUs」と 「waiting for faster GPUs」の一節はPDFから一字一句そのまま。
- Hooker, S. (2020). The Hardware Lottery。 arXiv:2009.06489 — 定義はアブストラクトから逐語引用。
- この実行の証跡——ルーターの判定、各organのテスト数、終了コード、AutoRunnerのジャーナル——は
github.com/wjlgatech/allin-anything
に(ウォークスルー:article-to-animated-understanding)。ライブデモ:
allin-anything-demo.vercel.app。リード文の「ゼロ言及」主張についての語数証跡:
grep -ciBrook論文本文に対して 「neural」「artificial intelligence」「machine learning」「deep learning」→ 0, 0, 0, 0。
Paul Jialiang Wu · agentic-portfolio-lovat.vercel.app · FM-osフロンティアAI読書リスト 論文№2、all-inで学ぶ · リスト次点:AlexNet——導火線が火薬に届く