世界を動かす技術を、日本語で。

AlphaEvolve:Gemini搭載の高度なアルゴリズム設計用コーディングエージェント

概要

  • AlphaEvolve はGoogleが開発した進化的コーディングエージェントであり、 大規模言語モデル(LLM) と自動評価器を組み合わせて、アルゴリズムの発見と最適化を実現することが目的。
  • Geminiモデル の創造的問題解決能力と自動評価フレームワークを活用し、GoogleのデータセンターやAIトレーニングなどで実用的な成果を上げている。
  • 数学・計算機科学 の根本的な課題解決や、マトリックス積アルゴリズムなどの新規発見にも寄与。
  • AlphaEvolve の成果はGoogleのインフラ全体に波及し、効率・持続可能性・研究速度を向上させている。
  • 今後はさらに多様な分野への応用が期待されており、アカデミア向けのEarly Access Programも計画中。

AlphaEvolve:大規模言語モデルと自動評価器によるアルゴリズム進化エージェント

AlphaEvolveの概要と特徴

  • AlphaEvolve は、Googleが開発した 進化的コーディングエージェント であり、アルゴリズムの発見・最適化を自動化することを目指す提案。
  • Gemini Flash (高速で多様なアイデアを探索)と Gemini Pro (深い洞察と提案)という2種類のLLMを活用し、創造性と品質を両立すること。
  • 自動評価器がプログラムの 正確性・品質 を客観的な指標で評価し、進化アルゴリズムで最良案を選抜・改良すること。
  • 数学や計算機科学など、 進捗が定量的に測定できる分野 に特に有効であること。

Googleインフラへの応用と効果

  • データセンターハードウェア設計AIトレーニング など、Googleの計算基盤全体でAlphaEvolveが発見したアルゴリズムを導入すること。
  • 効率向上がAI・計算インフラ全体に波及し、よりパワフルで持続可能なデジタルエコシステムを構築すること。
データセンターのスケジューリング最適化
  • Borg (Googleの大規模オーケストレーションシステム)の効率を高めるヒューリスティックをAlphaEvolveが発見し、グローバルで 0.7%の計算資源回復 を実現すること。
  • 人間が読めるコードで提供されるため、 解釈性・デバッグ性・予測性・展開の容易さ も確保すること。
ハードウェア設計支援
  • マトリックス積用の 算術回路 において、不要なビットを除去するVerilogコードの改良案を提案し、TPU(Tensor Processing Unit)に統合すること。
  • チップ設計者とAIの 協調的設計プロセス を促進し、ハードウェア開発を加速すること。
AIトレーニングと推論の高速化
  • 大規模マトリックス積を効率的に分割する新手法を発見し、 Geminiのトレーニング時間を1%短縮、カーネル最適化の工数を数週間から数日に短縮すること。
  • GPU命令レベル の最適化にも成功し、FlashAttentionカーネルで 最大32.5%の高速化 を達成すること。

数学・アルゴリズム分野での新規発見

  • 最小限のコードスケルトン から新しい勾配ベース最適化手法を設計し、マトリックス積アルゴリズムで既存最良記録を更新すること。
  • 4×4の複素行列積で Strassenの1969年アルゴリズム を上回る成果を出すこと。
  • 数学解析・幾何・組合せ論・数論など 50以上の未解決問題 に挑戦し、75%で最先端解法を再発見、20%で既知の最良解を更新すること。
    • 例: kissing number問題 で11次元における新たな下限(593個の球配置)を発見すること。

今後の展望と利用拡大

  • 特定分野のアルゴリズム発見 から、より複雑で現実的な課題への適用へ進化すること。
  • People + AI Researchチーム と連携し、ユーザーインターフェースの開発とEarly Access Programの準備を進めること。
  • アルゴリズム化・自動検証可能な課題 であれば、材料科学・創薬・サステナビリティ・ビジネス応用など幅広い分野への展開が期待されること。

関連資料・お問い合わせ

  • 詳細は white paperGoogle Colab で確認すること。
  • Early Access Program への関心登録フォームを通じて申し込むこと。

開発・協力者

  • AlphaEvolveの開発は Matej BalogAlexander Novikov らを中心としたチームが担当すること。
  • 多数の研究者・エンジニアが助言・サポートで協力すること。

まとめ

  • AlphaEvolve は、AIと自動評価を組み合わせた新世代のアルゴリズム発見・最適化エージェントとして、計算科学・産業応用・基礎研究の多様な分野で変革をもたらす可能性があること。

Hackerたちの意見

その論文は進化の部分についてあまり詳しく説明していないね。普通、進化的アルゴリズムには、解が互いに交配できるクロスオーバーの要素が含まれているんだけど。そうでなければ、ヒルクライミングやビームサーチに分類した方がいいよ。

「進化戦略」アルゴリズムもあって、これは一般的な突然変異や交叉を使わずに、候補者の集団(探索サンプル)を使って、基本的に勾配の風景を近似するんだよね。

それは、一般的な意味での進化的アルゴリズムではない気がする。

AlphaEvolveは、TransformerベースのAIモデルにおけるFlashAttentionカーネルの実装で最大32.5%のスピードアップを達成したみたいだね。約75%のケースで、私たちの知る限りでは最先端のソリューションを再発見したらしい。そして、20%のケースでは、AlphaEvolveが以前の最良のソリューションを改善したんだって。これってすごい結果だよね。どんな改善があったのか、具体的に知りたいな。例えば、その「最大32.5%のスピードアップ」って、変なエッジケースでの話で、他はあんまりスピードアップしなかったのかな?ベンチマークを見てみたい!

GPUにはキャッシュ階層があって、キャッシュに最適にヒットさせるためのブロックサイズを合わせるのが大きな勝利なんだ。これって、デフォルトではなかなか得られないことが多いんだよね。重要なカーネルの数と重要なGPUの数、そしてそれを適切に調整するための努力の総和が、人々がオープンソースで他のために無料でやることに対しての意欲を超えているからさ。カーネルの融合やAPIの境界もあって、明確さやシンプルさのために最適でない選択を強いられることもあるしね。これはすごい結果だけど、魔法でもないし、ズルでもないよ!

AlphaEvolveはAIのパフォーマンスと研究のスピードを加速させています。大きな行列の掛け算をより扱いやすいサブプロブレムに分割する賢い方法を見つけることで、Geminiのアーキテクチャにおけるこの重要なカーネルを23%も速くし、Geminiのトレーニング時間を1%短縮しました。

最近、こういう数字を読むのは本当に適当だと思ってる。FAが32.5%のスピードアップを達成した?すごいね。それなら、Flash AttentionのリポジトリにPRとして提出すればいいじゃん。もっと詳しく読めるところある?

シンギュラリティを待っている人たちへ、これはまるでSFからそのまま抜け出してきたような一文です:> 「チップデザイナーの標準言語に修正を提案することで、AlphaEvolveはAIとハードウェアエンジニアの協力的なアプローチを促進し、未来の専門チップの設計を加速させます。」

これは、コンパイラの中間表現の(デバッグテキスト形式の)上で動作するということを意味しています。

正直言って、これが私の心をつかんだ部分だよ: > AlphaEvolveは、Googleのデータセンター、チップ設計、AIトレーニングプロセスの効率を向上させた — その中には、AlphaEvolve自体の基盤となる大規模言語モデルのトレーニングも含まれている。シンギュラリティの人たちは、AIが人間よりも自分自身を改善することについて何十年も話してきたし、それが超知性の急成長につながるって言ってたけど、ついにそれが現実になったね。

もちろんだけど、このアプローチは、しっかりとした評価指標がある関数の最適化を探るときにしか通用しないってことを忘れないでね。一般的な「知能」のための評価関数は書けないからね…

特異点はずっと存在してたんだよ。あの「愚かさの頂上」にあって、ダーウィン賞が保管されてる場所だね。AIは実際には擬似知能に過ぎなくて、過信の頂点を覗くための自動リフトみたいなもんだ。

クールだけど、誤解しないでほしいのは、これって基本的にGoogleのCo-Scientistと似てるんじゃない?複数のモデルがループして、文脈を行き来しながら検証してるっていう。根本的にはLLMのシステムで、実行はすごいけど、根本的には新しいわけじゃないよね。LLMはコードの「最適化」や、人間が見逃しがちなパターンや冗長性を検出するのに確かに役立つけど、この発表はGoogleからのまた別の洗練された、盛り上がりを狙ったブログ投稿に感じる。さらに混乱してきてるのは「Alpha」ブランドの使い方だね。もともとはAlphaGoやAlphaFoldみたいな、パフォーマンスや方法論に明確な飛躍があった突破口のためのものだったのに、今は洗練されてるけど、同じレベルのインパクトには達してないシステムに使われてる。追記: 説明の中で評価者を見落としてたけど、Co-Scientistにも評価方法が適用されてるよ。「AI共同科学者は、テスト時の計算スケーリングを活用して、出力を反復的に推論、進化、改善する。主要な推論ステップには、新しい仮説生成のための自己対戦に基づく科学的議論、仮説比較のためのランキングトーナメント、品質改善のための「進化」プロセスが含まれる。」

「Googleの共同科学者」って何?そんな名前のプロジェクトがいくつもあるの?

二つの異なるチームが、実質的には同じものを作っている二つの異なる製品を開発するって、Googleらしいことだよね。

論文からの引用ですが、「特に、2つの4×4行列を掛け算する場合、ストラスセンのアルゴリズムを再帰的に適用すると、49回の掛け算で済むアルゴリズムが得られ、これは任意の体で動作します...AlphaEvolveは、48回の掛け算を使って2つの4×4複素数行列を掛けるアルゴリズムを見つけた最初の方法です。」ナイーブな行列の掛け算をすると、同じ作業を何度もしている感覚がありますが、その重複した作業が具体的に何を含むのかを定量化するのは難しいです。例えば、2つの集合の和のサイズを計算することに例えてみましょう:総サイズ = size(A) + size(B) - size(intersection(A, B)) 交差部分を2回カウントしてしまったので、その分を引かなければなりません。もし最初から2回カウントするのを避けられたらどうでしょう?それは簡単で、各集合を一度ずつ繰り返しながら、すでに見た要素を追跡すればいいのです。ストラスセンのアルゴリズムは、後で必要な計算を追跡しています。これはすべて動的プログラミングを思い起こさせます。私が興味深いと思うのは、追加の節約が複素数を必要とするように見えることです。ナイーブなアプローチでは、複素平面で何かが再び過剰にカウントされているに違いありません。

ストラスセンのアルゴリズムについていくつか誤解があるみたいだね。1. これはアルゴリズム設計における分割統治法の標準的な例であって、動的計画法のアプローチじゃないよ。(どうやってそれを動的計画法の問題に変換するのか、全然想像できないけど。)2. ストラスセンのアルゴリズムは複素数行列を必要としないからね。すべて実数でできるよ。

これは素晴らしいね。でも、これらの進展はどれくらいの incremental なものなのかな?ランダムに一つ選んでみた(B.2 -- 二番目の自己相関不等式)。それから、以前の最先端を生み出した論文を調べてみた(https://arxiv.org/pdf/0907.1379)。そしたら、著者たちが「Mathematica 6」を使って数値探索を行うことで上限を見つけたことが分かった(p.4)。著者たちはこれを二次的な貢献と見なしていたし(p.2)、もっと良いものを見つけるのは全然可能だけど、その努力に見合うほどの価値はないと主張していた。「すべてを厳密に行うことは可能だが、離散化から生じる誤差を制御する必要があり、その文書化自体が最小限の利益を考えると努力する価値がない」と言っている(p.5)。だから、少なくともこのケースでは、AlphaEvolveによって生み出された進展はかなり incremental なものだったみたいだね(それでもクールだけど!)。

あなたの話を聞いただけでも、もう「努力する価値がない」ってわけじゃないみたいだね。「努力」がかなり減ったから、これはこれで重要なことだと思うよ。

人間にとっては時間の無駄だけど、AIを使えばその「チャンス」を全部こなせるから、かなりの差が出るよね。だって、雑用は全部自動化できるからさ。

これが離陸の始まりじゃないなら、何がそうなんだって感じだよ。

進化手続きについての詳細がほとんどないことに驚いてるよ。>AlphaEvolveでは、進化データベースがMAPエリートアルゴリズム[71]と島ベースの集団モデル[80, 94]の組み合わせにインスパイアされたアルゴリズムを実装しているんだ。「インスパイアされた」って、かなり重い意味を持ってるよね。このMAPエリートをやるための変異の次元はどうやって選ぶの?この二つのアルゴリズムはどうやって組み合わせるの?そのインスピレーションの幅はどれくらい広いの?これらの質問の答えに多くの秘密のソースが隠れている気がするのに、進化手続きがどう機能するかについてはたったの一段落しかなくて、ほとんど何も教えてくれないくらい曖昧なんだよね。

面白いことに、alphaevolveはすでに1年間使われていたみたいで、今になってやっと公開されたんだね。この論文には、Gemini 2.0(プロとフラッシュ)を使っているって書いてあって、Gemini 2.5をトレーニングするためにGemini 2.0が使われたって状況になってる。これを伝説の「自己改善フィードバックループ」って呼ぶかどうかは分からないけど、ある程度はそういう感じがするね。それに、Alphaevolveが1年間開発されていたのか、それとも1年間生産されていたのかっていう疑問も出てくる。今となっては、どんなAI研究の宝物を見つけたかを共有するのを控えるのも理解できるね。

もし頭脳があって、コンピュータやハードウェアを制御できるなら、フィードバックループの発生を防ぐものは何もないよね。DeepMindは今の時点で、特別な位置にいると思う。

それは本当に自律性の問題だね。人間のレビューなしで自分自身を変更できるのか?もしできるとしたら、その変更がいつか止まってしまうことがないってどうやって証明するの?ここで見ているのはコーダーのアシストツールだけで、長い目で見て不可解な解決策がどれだけ役立つのか分からない。結果的にわけのわからないコードベースになるんじゃない?それが目的なのかな?