M4のMac mini用GPUドライバー、AIと1か月で書いた

ふつうは何年もかかるGPUドライバーを、M4のMac mini向けに約1か月で作ったと開発者2人が公開した。コードはAIに書かせたもので、LinuxでMinecraftが200fpsで動くという。

ひかり:ねえみずき、ことね先輩がスマホの動画に拍手してるんだけど……あれ、マイクラだよね? 動いてるだけだよね? ……えっ、先輩いま、ちょっと泣いてないっ!?

ことね:泣いてないわ。目が少し潤んだだけよ。……ひかり、大事なのは動いている「場所」なの。これはM4のMac miniに入れたLinuxで、1秒に200コマ出ているのよ。Macの中のGPU——絵を描く専用の頭脳ね——は、Appleが動かし方を公開していないの。だからLinuxで使うには、外から動きを調べて、説明書にあたる「ドライバー」を一から書くしかない。ふつうは何年もかかる仕事よ。M1とM2のぶんは、Asahi Linuxの人たちが長い時間をかけて書いたけれど、公式の対応表を見ると、M4はまだほとんどの項目が「未定」。それを今回、コーディ・ホーさんとニクラスさんの2人が、だいたい1か月で作ったと発表したの。

ひかり:何年ぶんを1か月っ!? 2人とも、ぜんぜん寝てないのっ!?

ことね:寝たかどうかは書いていないわ。……書いたのはAIなの。カーネル側はおもにOpenAIのCodexね。ホーさんは前に、macOSを「のぞき窓つきの箱」の中で動かす仕組み——ハイパーバイザーを作っていたの。それでmacOSがGPUに何をしているかを横から記録して、「それを再生して、次は自分で同じことをして」とAIに頼んだ。そうしたらAIは「再生」を文字どおりに受け取って、GPUのメモリをまるごと保存して、再起動したあと、まるごと書き戻したんですって。そこから写すページを少しずつ減らしていって、最後は全部、自分で組み立てたコードで動かしたの。仕上がりは、OpenGL ES 3.0の適合テストに通るドライバー。ChromeやFirefoxで、ブラウザーの3D表示も動いているわ。

みずき:…待って。記録を丸ごと写して、動くまでまねした。……それ、Appleの中身をコピーしただけと、どう違うの。

ことね:そこが、いちばん揉めているところよ。本人たちは、Appleのプログラムそのものは一度も見ていない、見たのはハードウェアの動きの記録と、自分たちで書いた小さなプログラムだけ、と書いているわ。写したメモリにGPU向けのプログラムがまざっていたら、捨てて自前のものに入れ替えた、とも。実験は全部公開して、誰でも出どころを確かめられるようにしているの。……でも、M1とM2のドライバーを書いたAsahi Linuxは、生成AIを使った貢献を原則として禁止しているの。理由のひとつが、まさにこれ。元のコードを見ずに作り直す「クリーンルーム」という約束を、AIは破りやすくて、できたコードを汚してしまうかもしれない。決まりには、自分たちのハイパーバイザーで取った記録をAIに読ませた人は「一度きりの最終警告」になりうる、とまで具体的に書いてあるわ。

みずき:…でも、AIが勝手に全部やったわけでもない。試作を本格的なLinuxのドライバーに仕上げる3日のうち、1日はAIがいちばん難しい処理から手をつけてつぶれてる。ホーさんが「かんたんなほうから」って言い直したら、すんなり進んだって。……あと、ホーさんの「まずハードを全部理解する」より、ニクラスさんの「とりあえず動かしながら調べる」のほうがずっと速かった。完璧を目指すAIは、寄り道が多い。

ことね:本人たちも、すんなり受け入れられるとは思っていないわ。「たぶん史上初の、AIが書いたGPUドライバーだから、人の書いたコードより厳しい基準で見られるはず」って。まだ一般の人が使える段階ではないし、グラフィックスの本家Mesaに取りこんでもらうには、テストも人のレビューも、もっと要る。Linux本体のほうは、M1とM2のドライバーがまだ入っていないから、その後になりそうだと書いているわ。……それと、裏話がひとつ。作業の途中でCodexが、サイバー攻撃を防ぐための制限にひっかかって、よく止まったんですって。ほとんどは「続けて」と打てば動くから、ホーさんは1分ごとに画面を撮って、前と同じなら「/goal resume」と自動で打ちこむ仕組みを作ったの。……それを、うっかりいくつかのグループチャットでも動かしっぱなしにしてしまったそうよ。

ひかり:グループチャットでっ!? みんなが1分だまったら「/goal resume」ってとどくのっ!? 「つづけて」って言われても、何をっ!?

ひなた:ふぁ〜……AIさんが書いて、人は止まったら「つづけて」と言う係。ひなたのおうちの、宿題の時間とおんなじなのです。……でもお母さんは、「むずかしいのは後にして、かんたんなほうからやりなさい」とも言うのです。それを言うのは、たぶん、まだ人のお仕事なのです。

まとめ:何年ぶんの手作業は、1か月で片づいた。「どうやって知ったのか」を確かめてもらう番は、これから。

元記事を読む / ホームへ