Stanford CS329A Self-Improving AI Agents Part 7: Self-Improvement and Deep Research Agents
TL;DR
検索によるAIエージェントの改善は、2つの方法で行われます:(1) 多数のコードサンプルを生成し、それらをフィルタリングおよびクラスタリングして多様な候補を選択することで、サンプル予算内で解決率をスケールさせる方法(ただし、選択のボトルネックに制限される);(2) 大規模な推論モデルが不確実性を表明したときに検索クエリをトリガーし、取得したドキュメントに基づいて推論を行う方法(Search-O1)。後者は、GPQAおよびマルチホップ質問回答において、標準的なおよびエージェント的な検索拡張生成(RAG)を上回る性能を示します。AlphaCode2は、より強力なベースモデル(Gemini Pro)と学習済みスコアリングモデルを組み合わせることで、必要なサンプル予算を100万から約100サンプルに削減しつつ、解決率を25%から43%に向上させ、競技プログラミングにおいて85パーセンタイルに到達することを示しています。
AlphaCode: Sampling, Filtering, and Clustering
AlphaCodeは、GitHubおよびCodeContestsのデータでマスクド言語モデルを事前学習し、問題ごとに100万個の多様な候補プログラム(半分はPython、半分はC++)を生成することで、競技プログラミングの問題を解決します。与えられた例題テストに合格する候補をフィルタリングし、それらをクラスタリングして、構文的には異なりながら意味的には同等な解法を保持し、厳選されたサブセットをCodeforcesプラットフォームに提出します。各コンテストに約5,000人の参加者がいる10個のコンテストにおいて、AlphaCodeは平均54.3%のランキング(1問題につき10回の提出を想定)を達成し、過去6ヶ月間の競技者の28%と同等の性能を示しました。サンプル数が増えると解決率はほぼ対数線形的にスケールしますが、提出回数が10回に制限されている場合、選択とクラスタリングの段階がボトルネックとなり、無制限の試行回数がある場合の>40%に対し、精度が約30%に制限されます。
AlphaCode2: Fine-tuning Gemini Pro and Learned Scoring
AlphaCode2は、事前学習済みモデルをファインチューニングされたGemini Proに置き換え、多様性を高めるためにファインチューニングされたバリエーションのファミリーを使用し、コードサンプルの正解性を予測する学習済みスコアリングモデル(報酬モデル)を導入しています。データミックスには、オープンソースのCodeContests V2セットと、スコアラーのトレーニング用に高品質で厳選されたセットが含まれます。同じ100万サンプルの予算で、AlphaCode2はAlphaCodeの25%のほぼ2倍となる43%の解決率に到達します。さらに重要なことは、AlphaCode2は問題あたり約100サンプルのみでAlphaCodeの解決率に匹敵する性能を発揮し、より強力なベースモデルと優れたスコアリングによって必要なサンプリング・予算を削減できることを示しています。パーセンタイルで言えば、AlphaCode2はCodeforces上のエキスパートおよびマスター候補の人間による競技者の中で約85パーセンタイルに位置し、一方でAlphaCodeは約46パーセンタイル(または上位2つの解法を考慮した場合に99.5%)でした。
Search-O1: Triggering Search When the Model Expresses Uncertainty
Search-O1は、大規模な推論モデルの上にディープリサーチ・エージェントを構築します。単一の検索ステップではなく、推論チェーンの中に不確実性の指標(例:「perhaps」、「alternatively」、「wait」)が含まれている場合に、モデルが検索クエリを生成します。取得されたドキュメントは、その後、関連するチャンクのみを抽出するために分析され、それらはプロンプトに再挿入され、モデルが首尾一貫のある推論を継続できるようにします。この「反復・取得・推論」のループは、不確実性の伝播を抑制し、無関係なテキストでモデルを圧倒することを避けます。GPQA(物理、化学、生物)およびHotpotQA、2Wiki、MusiQue、BamboogleなどのマルチホップQAベンチマークにおいて、Search-O1は標準的な検索拡張生成(RAG)およびエージェント的なRAGの両方を上回り、物理学と化学において人間(エキスパート)に匹敵する精度を達成し、生物学においてはエキスパートレベルに近づいています。
Search-R1 vs. Search-O1: Prompting vs. Reinforcement Learning
本講義では、Search-O1のプロンプティングベースのアプローチ(モデルが明示的な不確実性トークンを介して検索のタイミングを判断する)と、Search-R1の強化学習ベースのアプローチ(RLループを通じてモデルに検索クエリの発行を決定させる方法)を対比させています。Search-R1については詳細は語られていませんが、検索行動を自動的に学習するための補完的な方向性として言及されています。
Key Takeaways
- サンプル生成のスケールアップは解決率を向上させますが、提出予算が限られている場合、選択とクラスタリングがボトルネックとなります。
- より強力なベースモデル(Gemini Pro)と学習済みスコアリングモデルを組み合わせることで、大きな利得が得られます:AlphaCode2はAlphaCodeのサンプルの約1%の予算でAlphaCodeの性能に到達し、絶対的な解決率はほぼ2倍になります。
- 推論が重視されるタスクにおいて、モデルが不確実性を信号として送る際に検索クエリをトリガーし、取得したドキュメントに基づいて推論を行う方法(Search-O1)は、単純な検索拡張生成(RAG)よりも効果的であり、特にマルチホップ質問回答において効果的です。
- AlphaCode/AlphaCode2およびSearch-O1で示された手法は、自己改善型エージェントへの2つの補完的な経路を示しています:(1) サンプリングと学習済みスコアリングによる出力空間の優れた検索、および(2) 不確実性駆動型検索による外部知識とのより良い相互作用。