UCバークレーやスタンフォードがGEPA発表:高コストな強化学習なしでLLMを最適化
UCバークレー、スタンフォード大学、Databricksの研究チームが新たな最適化手法「GEPA」を発表した。従来の強化学習のような数値スコアによる大量の試行錯誤を排し、自然言語のエラートレースをモデル自身が分析してプロンプトを進化させ、試行回数を最大35分の1に削減する。

大規模言語モデル(LLM)を特定業務向けに最適化しようとすると、これまでは強化学習を使って何万回も試行錯誤させ、数字のスコアで正解を探らせるのが一般的でした。
しかし、このやり方はコストと時間がかかりすぎます。UCバークレー、スタンフォード大学、Databricksの研究チームは、そうした強化学習の常識を覆す新しい最適化手法「GEPA」を発表しました。
GEPAはモデルを盲目的に試行錯誤させるのではなく、LLM自身の自然言語理解力を使って実行ログを分析させ、プロンプトを自律的に進化させます。既存手法を上回る精度を叩き出しながら、必要な試行回数を最大35分の1に削減しました。
スコア評価をやめ、自然言語の反省文で直す
近年の企業向けAIは、単一のLLMを呼び出すだけでは済みません。複数のモデル、外部データベース、コード実行環境などを数珠つなぎにした「複合AIシステム」が主流になっています。
こうしたシステムをDeepSeek-R1などで注目されたGRPOのような強化学習で最適化しようとすると、サンプル効率の悪さが大きな壁になります。「10点中7点」といった単純な数値の報酬しか得られないため、パラメータを正しく導くまでに何万回、何十万回もの試行(ロールアウト)を重ねる必要があります。
論文の共著者でUCバークレー博士課程のLakshya A Agrawal氏は、多くの企業にとって強化学習はコストと複雑さの面で現実的ではなく、結局は人手によるプロンプト調整に頼らざるを得なかったと指摘します。さらに、最高性能の商用モデルはファインチューニングすらできないケースが大半です。
そこでGEPA(Genetic-Pareto)は、システムが実行した推論ステップ、ツールの呼び出し履歴、コンパイラのエラーメッセージなど、すべてテキスト化できる点に着目しました。
GEPAはプロンプト群を遺伝的アルゴリズムのプールのように扱います。実行に失敗すると、LLMにそのログ全文を読ませ、何が問題だったのかを自然言語で診断させます。たとえばコンパイルエラーを見たLLMが、プロンプト内に特定のライブラリバージョンを指定すべきだと判断し、指示文を自動で書き換えていきます。
単独1位を選ばないパレート選択
もう一つのポイントが「パレート選択」です。
全体の平均スコアが一番高いプロンプトだけを残していくと、局所的な最適解(局所解)に閉じこもりやすくなります。GEPAは、特定の問題にだけ抜群に強い「スペシャリスト」なプロンプトを複数保持し続けます。
平均点が低くても特定の難問をクリアできるプロンプトを残し、多様な候補から変異を繰り返すことで、幅広い入力に対して汎用的に動くプロンプトへと育て上げます。
Agrawal氏によると、この一連の鍵を握るのは「フィードバックエンジニアリング」、つまり高価な試行からいかに濃密な学習シグナルを抽出できるかという点にあります。
なぜ重要か
私たちは、GEPAが近年の過度な強化学習ブームに対する極めて実用的なカウンターになると考えています。
AIエージェントや業務ワークフローを組んでいる開発者にとって、自前でGPUクラスタを用意して強化学習の基盤を組むコストは高すぎます。GEPAを使えば、ファインチューニングが封じられている最高峰の商用モデルであっても、API利用料を抑えながらシステム全体の精度を大幅に引き上げられます。
試行回数が最大35分の1に減るということは、外部ツールの実行コストやAPI課金、開発の待ち時間がそのまま劇的に削られることを意味します。プロンプトの手動調整に消耗しているチームなら、すぐにでも検証する価値があります。
一方で課題もあります。GEPAがうまく機能するかどうかは、ツールやシステムがどれだけ詳細で有益な実行ログを返せるかに完全に依存しています。エラーの原因がテキストとして残らないシステムでは、LLMも反省のしようがありません。それでも、中身の見えない数値スコアに頼るより、モデル自身にエラーログを読ませて指示文を直させるアプローチのほうが、はるかに理にかなっているように見えます。
情報源 (1)
- venturebeat.com(新しいタブで開きます)原文venturebeat.com