Stanford CS329A: AIエージェントのためのテスト時計算スケーリング
テスト時計算スケーリングの概要
テスト時計算スケーリングは、モデルのパラメータを変更したり追加のファインチューニングを行ったりすることなく、AIモデルのパフォーマンスを向上させることを可能にします。従来のLLM開発は、事前学習(高い計算量、長い期間)とファインチューニング(より低い計算量)に焦点を当てていますが、テスト時スケーリングは計算予算を推論段階にシフトさせ、既存のモデルからより良い回答を引き出すことに重点を置いています。
並列サンプリングとカバレッジのべき乗則
繰り返しの並列サンプリングは、モデルに同じ入力問題を複数回問い、検証器(verifier)を使用して正しい回答を選択することを含みます。このアプローチにより、より小規模で劣ったモデル(例:Llama 3-8B)が、特定のタスクにおいて、より大規模でプロプライエタリなモデル(例:GPT-4o)を凌駕することが可能になります。
推論のためのスケーリング則
研究は、カバレッジ(少なくとも1つのサンプルによって解決される問題の割合)とサンプル数 (k) の関係が、指数的なべき乗則に従うことを示しています。これにより、エンジニアは、さまざまなモデルサイズやドメインにおいて、特定のカバレッジ目標を達成するために必要なリソースを予測することができます。
困難な問題のロングテール
このべき乗則の挙動は、問題の難易度の分布によって引き起こされます。ほとんどの問題は「pass@1」で解決されますが、モデルがめったにしか解決できない複雑な問題の「ロングテール」が存在します。サンプル数を増やすことで、最も困難な問題に対するこれらの稀な正しい解決策に到達する確率が高まります。
生成と検証のギャップ
モデルは、大規模なサンプルセット内で正しい回答を生成できることがよくありますが、その回答を特定する能力は、生成と検証のギャップとして知られる別の課題です。
検証可能なドメインと検証不可能なドメイン
- 検証可能なドメイン: コーディング(ユニットテスト経由)、数学(形式的な証明経由)、または言語翻訳(等価性チェック経由)では、完璧またはほぼ完璧な検証器が存在します。例えば、CUDAコード生成において、出力はソースのPyTorchコードの出力と比較することで検証できます。
- 検証不可能なドメイン: 自動化された検証器がないドメインでは、多数決 (majority voting)(最も頻繁な回答を選択する)のような手法は、すぐにプラトーに達し、困難な問題に対する稀な正しい回答を捉えることができません。LLMベースの報酬モデルであっても、現在の検証能力とモデルの真のカバレッジの間に、大きなギャップが残ることがよくあります。
テスト時計算を最適化する:並列 vs. 逐次
単純な繰り返しのサンプリングを超えて、計算量は、逐次的な修正とガイド付き探索を通じてスケーリングできます。
逐次的な修正
並列な試行の代わりに、モデルは初期のアプローチを生成し、それを反復的に修正します。この逐次的なアプローチにより、モデルは問題を異なる角度から見て、その論理を洗練させることができます。
結果報酬モデル vs. プロセス報酬モデル
- 結果報酬モデル (ORM): 回答の最終的な回答をスコア付けします。
- プロセス報酬モデル (PRM): 生成プロセスの各個別のステップにスコアを付けます。PRMは、ビームサーチ (beam search) をガイドするために使用できます。ここでは、モデルはステップごとのスコアに基づいて、最も有望な推論論理のパスを拡張します。
事前学習 vs. テスト時スケーリング
簡単および中程度の難易度の問題については、テスト時計算を増やすことは、事前学習のトークンを増やすことよりも計算効率が高い場合が多いです。しかし、最も困難な問題については、より広範な事前学習を行ったより大規模なモデルが、多大なテスト時計算予算があっても、依然としてパフォーマンスの優位性を維持しています。
Archon: 推論時アーキテクチャ探索
Archonは、推論スケーリングをアーキテクチャ設計の問題として扱うフレームワークであり、ベイズ最適化を使用して、与えられた計算予算に対してモデルと技術の最適な組み合わせを見つけるためのものです。
推論時操作
Archonは、いくつかの主要な操作を利用します:
- Generation: 標準的なLLMからのサンプリングリング。
- Fusion: 複数の候補回答に基づき、LLMに単一の最終的な回答を合成させること。
- Critic: モデルを使用して、回答の長所と短所を記述させること。
- Ranker: モデルに候補を品質によってランク付けさせること。
- Unit Test Generation: 解のソリューションの正解性を検証するためのテストを生成すること。
Archonからの主要な結果
- 深いアーキテクチャ: 批判 (critiques)、ランカー (rankers)、およびフューザー (fusers) の複数の層を積み重ねる(「深い」推論アーキテクチャを構築する)ことで、精度が大幅に向上します。
- パフォーマンスの向上: これらのアーキテクチャを最適化することで、オープンソースモデルは最先端のクローズドソースモデルに匹敵、またはそれを上回ることが可能です。Archonは、推論、数学、およびコーディングタスクにおいて、GPT-4oおよびClaude 3.5 Sonnetに対して、pass@1精度の平均 14.1%の向上 を報告しました。
- 一般化: 特定のタスクに最適化されたアーキテクチャは、多様なベンチマークにおいて良好なパフォーマンスを発揮する汎用的なシステムとして設計することも可能です。