- 繰り返しサンプリングとverifierの組み合わせにより、弱いモデルが強いモデルの単発性能を上回りうる仕組みを説明できる
- coverageのべき乗則スケーリングと、その背後にある「難問のロングテール」という数学的構造を理解する
- ドメインごとの自動検証手法(形式証明・ユニットテスト・AIコンパイラ・翻訳等価性)とgeneration-verification gapの概念を説明できる
- outcome reward model (ORM) と process reward model (PRM) の違いを理解し、best-of-nやPRM誘導ビームサーチによる選択戦略を説明できる
- 並列サンプリング・逐次リビジョン・ARCHONのような推論アーキテクチャ探索が、テスト時計算をどのように体系的に配分するかを理解する
2.1推論時スケーリングという新しいパラダイム
LLMの開発は伝統的に三段階に分けて語られる。まず事前学習(pre-training)であり、これは数か月単位の時間と大量のGPUを要する最もコスト集約的な段階である。次にファインチューニングがあり、データ量は事前学習に比べて桁違いに少ない。そして最後が推論(inference)であり、従来はユーザーとモデルの一往復のやり取りとして「一度きり」で終わるものだった。本章が扱うのは、この推論の段階でモデルのパラメータを一切変更せずに性能を引き出す手法群、すなわちtest-time computeである。
出発点となるのが「Large Language Monkeys」論文である。前回扱った無限の猿定理を思い出してほしい。ここでのアイデアは単純で、同じ入力問題に対してLLMに一度だけ答えさせるのではなく、10回、100回、1000回と繰り返しサンプリングし、生成された複数の候補から正解を選び出すverifier(検証器)を用意する、というものである。
この繰り返しサンプリングとverifierの組み合わせにより、単体では弱いモデル(例えばLlama-3の8Bや7Bクラス)が、単発試行では遥かに高性能なGPT-4oのようなモデルを、数学・コーディング・質問応答など幅広い領域で上回ることが示された。モデルは実は答えを「知っている」ことが多く、一度の試行でそれを引き出せていないだけだ、という解釈が成り立つ。
2.2カバレッジのべき乗則とロングテール問題
この繰り返しサンプリングの効果は、SWE-benchのようなエージェント型ベンチマーク(ソフトウェアエンジニアがコードを編集しパッチを作成する作業を模したもの)でも確認されている。coverage(少なくとも1つのサンプルが正解する問題の割合)をサンプル数1から1000までプロットすると、DeepSeek V3のようなモデルは1000サンプルの時点でClaude 3.5やo1-previewを上回るcoverageに達する。コーディング問題であればユニットテストという明快なverifierが使えるため、これは弱いオープンソースモデルをエンドツーエンドで強いモデルに変換する自動化された方法になる。
前回学んだ事前学習のスケーリング則(データ量・計算量・パラメータ数からテスト損失を予測できるという関係式)に対応する形で、この講義では推論時スケーリング則を導入する。実験的に、coverage C はサンプル数 k に対して、係数 a, b をカーブフィッティングで求める指数的なべき乗則に従うことが分かった。この関係は、Llama-3、Gemma、Pythiaなど70Mから70Bパラメータという幅広いモデルサイズ・アーキテクチャで成立し、非常に小さいモデルでさえこの法則に従う点が興味深い。
なぜべき乗則が現れるのか。個々の問題については、pass@1の正解確率をpとすると、k回サンプリングして少なくとも1回正解する確率(pass@k)は 1 - (1-p)^k という単純な式で書ける。しかし問題集合全体で見るとべき乗則が観測される。数学的な検討の結果、この集合レベルのべき乗則が成立するための必要十分条件は、難問のロングテールが存在することだと分かった。実際にpass@1の分布を見ると、簡単な問題は1回の試行で解けるものが多い一方、複雑な問題になるほどpass@1が下がっていく長い裾(ロングテール)が観測され、この形状こそがべき乗則の背後にある構造である。
これまで企業は事前学習に数億〜数十億ドルを投じ、ファインチューニングにはそれよりずっと少なく、そして推論には(一往復のやり取りだったため)ほとんど計算資源を割かなかった。しかし今や、推論時により多くの計算を投じてモデルの能力を引き出す新しいパラダイムが生まれている。しかもこの推論計算はオフラインで実行できる——エージェントを問題に向けて放ち、トークンを生成させ続けて回答の質を上げていくことができる。
2.3検証可能性とGeneration-Verification Gap
繰り返しサンプリングが機能するには自動検証(verification)が不可欠である。答えの候補が大量にあっても、どれが正しいかを判定できなければ意味がない。検証のしやすさはドメインによって大きく異なる。数学の一部の問題では形式的証明(formal proof)ツールを使い、各証明ステップが正しいかを機械的にチェックできる。コーディングではユニットテストが使え、しかも「解を書く」より「テストを書く」方が簡単な場合が多いため、人間がユニットテストを用意してverifierとして使うことができる。
もう一つ興味深い方向性が「AIをコンパイラとして使う」というアプローチであり、講師の研究室で進めている案件でもある。例えばPyTorchのようなソースコードから、CUDAのような低レベルで高度にハードウェア最適化されたコードをLLMに生成させる場合、生成されたCUDAコードとソースのPyTorchコードの出力が任意の入力に対して一致するかを比較するだけで正しさを検証できる。この設定を測るベンチマークがKernelBenchであり、ここでもサンプル数を増やすほどcoverageが向上する同様の傾向が見られ、しかも「完璧な」verifierが標準的に使える点が特徴である。同様に、PythonとC++、あるいはJavaのような言語間の翻訳タスクでも、出力の等価性を比較的容易に測定できる。
一方、明快なverifierが存在しないドメインでは、多数決(majority voting)やモデルベースのランカーといった手法による性能と、真のcoverage(完璧なverifierがあれば得られたはずの性能)の間に大きな乖離が生じる。これをgeneration-verification gapと呼ぶ。多数決は10〜50サンプル程度で頭打ちになるのに対し、完璧なverifierを仮定した場合のcoverageはそれよりずっと高い水準まで伸び続ける。この差は、GSM8Kより難しいMATHデータセットのような、より複雑な問題設定でさらに顕著になる。原因は、最も難しい問題ほど正解が1000〜10000サンプル中でごく数回しか出現しないため、頻度に基づく多数決ではそもそも正解を拾い上げられないという構造にある。
この話題では活発な議論があった。ある学生は、verifierを1つではなく10〜20個程度アンサンブルする(1万個は計算コストの観点で非現実的)というアイデアを提示し、講師はこれを次回扱う「Weaver」という研究に接続した。別の学生は、正解を直接見抜くよりも「明らかに間違った答えを検出する」方が易しいドメインがあるのではないかと指摘し、講師はシミュレーションや他のツール・別モデルを使って誤答をフィルタする方向性に言及した。また、実際に人手でverifier(この場合はユニットテスト)の判定を確認したところ、正解率はおよそ9割台にとどまり、ユニットテストのカバレッジが不十分であればverifierそのものの質が結果を左右するという注意点も共有された。
2.4逐次リビジョンとReward Model
並列サンプリング(parallel sampling)は複数の答えを独立に生成する方法だが、テスト時計算をスケールさせるにはもう一つの軸がある。それが逐次リビジョン(sequential revisions)である。モデルに問題への最初のアプローチを出させたのち、それを見直し、改善し、追記させ続け、確信が持てるまで繰り返させてから最終的な答えを出力させる、という方式だ。講義では、この逐次リビジョンはプロンプトによって明示的に指示することを前提としつつ、最近の推論モデルは学習の中でこうした振る舞いを内部的に獲得しており、自らの回答を見直す挙動が自然に現れることにも触れられた。
これに関連して「Scaling LLM Test-Time Compute Optimally Can Be More Effective Than Scaling Model Parameters」という論文が紹介された。ここでは答えの選び方にも複数の方式があるとして、outcome reward model(ORM)とprocess reward model(PRM)が区別される。ORMは最終的な出力全体を見てそれが正しいかどうかのスコアを与えるよう学習された報酬モデルであり、PRMは解答生成過程の各ステップごとにスコアを与えるよう学習された報酬モデルである。例えば数学の問題を5ステップで解く場合、PRMは各ステップの妥当性を採点する。
最もシンプルな組み合わせがbest-of-nであり、n個の並列サンプルを生成し、ORMで最もスコアの高いものを選ぶ。より高度な使い方としてPRM誘導のビームサーチがある。例えば予算4サンプルのステップごとに4つの候補を生成し、PRMスコア上位2つを残して、そこからさらにサンプリングを続ける、という探索である。
PRMのスコアはトークン単位ではなく、「ステップ」単位で計算される点が確認された。ステップの定義は人間が意味的にまとまった単位(例えば1つの論理的な塊、あるいは1文)としてアノテーションし、それを教師信号としてモデルを訓練する。PRMも言語モデルをベースにファインチューニングされているため、対象タスクのサブセットで訓練すればそのタスクに対する性能は上がるが、言語モデルベースであるがゆえに新しいタスクへの一定の汎化も見られる、という点も議論された。そして、outcome-based reward modelによるbest-of-nと逐次リビジョンを組み合わせると、直感通りさらに結果が向上することも共有された。
2.5難易度依存の最適配分と事前学習との比較
この論文ではMATHデータセット(訓練約12,000問、テスト500問)とPaLMモデルを使い、問題ごとのpass@1性能に基づいて5段階の難易度ビンを定義し、逐次と並列の最適な配分が難易度によってどう変わるかを検証した。結果を見ると、多数決の精度は生成予算の増加とともに頭打ちになり、ORM(紫)、PRM(緑)を使った選択はそれを上回り、逐次リビジョンと並列サンプリングを慎重に組み合わせた設定(青)がさらに良い性能を示す。ただし、逐次と並列をどの比率で混ぜるのが最適かは、依然として未解決の研究課題として位置づけられている。
難易度ビン別に見ると、最も簡単な問題群では逐次トークンの比率が高い設定(濃い紫)が最高精度を達成する一方、難しい問題(バケット4、5)になるほど最適な逐次対並列の比率を言い当てるのが難しくなる。もう一つの重要な観察は、簡単〜中程度の問題では、追加のテスト時計算を投入する方が事前学習をスケールさせるより有利になりうる、という点である。推論トークン数と事前学習トークン数の比を横軸に取ると、簡単・中程度の問題ではこの比が正の方向に効くのに対し、最も難しい問題では、より多くの事前学習を経た大きなモデルの方がトークン効率の観点でなお優れているという結果が示された。
事前学習は一度で済むのに対し、推論時スケーリングは呼び出すたびに計算コストがかかる。それでもなお、最も難しい問題については、どれだけ大きなテスト時計算予算を割り当てても、より多くの事前学習を経た大きなモデルに敵わないという結果は重要である。誰もが大規模事前学習を行えるわけではない以上、多くの問題に対しては(毎回計算コストがかかっても)テスト時スケーリングが現実的な選択肢になる一方、最も難しい問題を解くにはやはり優れた事前学習済みモデルが必要であり続ける、という二重の結論が導かれる。
受講者からは、逐次と並列の使い分けに関する直感的な仮説が共有された。簡単な問題は正解に至る「経路」が多いため逐次的な深掘りが有効に働きやすく、逆に難しい問題は正解に至る経路が少ないため、より広く並列に探索する必要があるのではないか、という説である。さらに、chain-of-thoughtを木構造として展開し、各ステップの分岐を検証しながら不適切な枝を刈っていくという発想も提示され、これは後述するPRMを使ったビームサーチの考え方そのものであることが確認された。
2.6ARCHON — 推論アーキテクチャ探索フレームワーク
逐次と並列の混ぜ方を人手で試行錯誤する代わりに、これを推論アーキテクチャ設計問題として定式化したのが「ARCHON: An Architecture Search Framework for Inference-Time Techniques」である。ARCHONへの入力は、性能を最適化したい対象ベンチマーク群、1問あたりの推論呼び出し予算、利用可能な複数のLLM、そして複数の推論時テクニックである。これらを組み合わせて、与えられた予算の中で品質を最大化するアーキテクチャを見つけ出す最適化器がITAS(Inference-Time Architecture Search)であり、出力は各種モデルとテクニックを組み合わせた具体的なアーキテクチャそのものになる。
| 操作 | 内容 |
|---|---|
Generation | モデルからのサンプリング。複数回行えば繰り返しサンプリングそのものになる |
Fusion | k個の既存の回答をすべてモデルに提示し、それらを踏まえて1つの回答に統合・合成させる |
Critic | 与えられた回答の強みと弱みをモデルに記述させる |
Ranker | 複数の回答を品質順にモデルにランク付けさせる(プロンプトのみ、追加学習なし) |
Verifier | 回答を採点し、なぜそのスコアに至ったかの理由づけも合わせて返す |
| Unit Test生成/評価 | コーディングや数学問題向けにテスト自体を生成させ、さらにコードを実行せずモデル自身にテストとの整合を評価させる |
いずれの操作も、モデル自体を新たに学習し直すのではなく、プロンプトによる指示だけで実現されている点が特徴である。中でもFusionは意外なほど効果的な手法として紹介された。これは並列に生成した複数のサンプルを1つの最終回答に集約する点で、逐次的な更新の一種にも位置づけられる。
2.7深い推論アーキテクチャの効果とベイズ最適化
Fusionの効果を測るために、ある推論・質問応答系ベンチマークでのwin rateが比較された。ランダムに1つ選ぶ方式(最も弱い)に対し、モデル自身にランキングさせて最上位を選ぶ方式はそれを上回り、さらに正解を教えてくれる仮想的なoracle選択(完璧なverifierを想定)はそれを上回る。ところが、k個の回答をすべてモデルに見せて1つに統合させるFusionは、このoracle選択さえも上回ることが分かった。そして、まず上位k個をランキングで絞り込んでからFusionする方式が最良の結果を示した。この傾向は、1つのモデルだけで生成する場合だけでなく、2個、10個と異なるモデルを混在させてアンサンブルした場合にも同様に確認された。
さらに興味深いのは、これらの操作を何層にも重ねることで精度がさらに向上するという発見である。例えば複数モデルのアンサンブルに加え、Critic-Rankerの層を3段重ね、最後にFuserで統合するというアーキテクチャは、最良の単一モデルを1回だけ使う場合や、最良のモデルを8回使って1層のFusionだけを行う場合よりも、多くのタスクで大幅に高い精度を示した。これは深層学習において層を重ねるほどモデルが賢くなる現象と類比的であり、推論時の層を注意深く重ねることでも同様の効果が得られることを示唆している。
このように操作の組み合わせが膨大になる探索空間を扱うため、ARCHONはベイズ最適化を採用し、探索空間にはいくつかの制約を設けて絞り込んでいる。具体的には、各層で使う推論時テクニックは1種類に限定し、最初の層は必ずGeneratorとし、Criticは必ずRankerやFuserより前に置き、Unit Test生成の後には必ず評価(Evaluation)ステップを続ける、といった制約である。ベイズ最適化は貪欲探索やランダム選択よりも少ない試行回数(Archonが実際に呼び出すモデル構成の数)で優れたアーキテクチャに到達できる、サンプル効率の高い手法として紹介された。
最終的にARCHONはpass@1、つまり最後に1つだけ回答を出す設定を最適化する枠組みでありながら、オープンソースモデルのみを使っても、当時のフロンティアなクローズドソースモデルに匹敵、あるいはそれを上回る性能を多くのタスクで達成した。特定タスク向けに最適化したArchonだけでなく、複数タスクにまたがる汎用構成として最適化したArchonも同様に高い性能を示し、指示追従・推論・数学・コーディングを横断する平均で、GPT-4oやClaude 3.5 Sonnetをpass@1で平均14.1%上回った。
- 繰り返しサンプリング+verifierにより、パラメータを変えずに弱いモデルの実効性能を大幅に引き上げられる(Large Language Monkeys)
- coverageはサンプル数に対してべき乗則で伸び、この法則が成立する必要十分条件は問題集合中の「難問のロングテール」である
- 自動検証が容易なドメイン(数学の形式証明、コーディングのユニットテスト、CUDA等価性検証のようなAI-as-compiler)ではテスト時スケーリングの効果を余すことなく引き出せる
- 検証が容易でないドメインでは多数決とoracle coverageの間にgeneration-verification gapが生じ、特に難問では正解の出現頻度自体が低いため多数決が機能しない
- テスト時スケーリングには並列サンプリングと逐次リビジョンという直交する2つの軸があり、ORM/PRMによる選択とビームサーチで組み合わせられる
- 簡単〜中程度の問題ではテスト時計算の追加投入が事前学習のスケーリングより有利になりうるが、最も難しい問題では依然として大規模な事前学習済みモデルが優位である
- ARCHONが示すように、Generation・Fusion・Critic・Ranker・Verifierといった推論時操作を層状に重ねてベイズ最適化で探索することで、オープンソースモデルの組み合わせだけでフロンティアなクローズドモデルに匹敵・凌駕できる
講義の言葉
"By doing this repeated sampling and selecting the correct one among the generated candidates, we can significantly improve the performance of these inferior models and make them better than these larger and proprietary ones."
[02:01] 弱いモデルでも繰り返しサンプリングとverifierの組み合わせで強いプロプライエタリモデルを超えられるという、本章全体の出発点となる主張
"in order to have the scaling loss that we observe, there has to be the sufficient and necessary condition for it, is that we have a long tail of hard problems."
[09:38] coverageのべき乗則が成立する背後にある数学的構造(難問のロングテール)を端的に述べた一文
"Now we have a new paradigm where we can spend a whole lot more compute on inference and use that to increase the capability of model and this compute, the inference compute, can be done offline."
[11:41] 事前学習中心からテスト時計算中心へという、LLM開発におけるパラダイムシフトを明言した箇所
"It seems like these additional layers that we are adding here is actually just like in deep learning we are adding layers and pre-training and the model gets better."
[58:21] ARCHONにおける推論時操作の層状スタッキングが、深層学習の層を重ねる発想と類比的であるという章の締めくくりとなる洞察
用語集
- repeated sampling
- 同一の入力問題に対してLLMに何度も生成させ、複数の候補回答を得る手法
- coverage
- 生成した複数サンプルのうち少なくとも1つが正解する問題の割合。pass@kとも呼ばれる
- verifier
- 生成された回答が正しいかどうかを判定する検証器(形式証明・ユニットテスト・報酬モデル等)
- power law scaling (test-time)
- サンプル数kに対してcoverageが指数的なべき乗則に従って向上するという実験的関係
- generation-verification gap
- 多数決など簡易な選択手法による性能と、完璧なverifierを仮定した場合の真のcoverageとの間の乖離
- outcome reward model (ORM)
- 生成された回答全体を見て正しさのスコアを与えるよう学習された報酬モデル
- process reward model (PRM)
- 解答生成過程の各ステップごとにスコアを与えるよう学習された報酬モデル
- best-of-n
- n個の並列サンプルを生成し、報酬モデル等で最もスコアの高いものを選ぶ選択方式
- beam search (PRM誘導)
- 各ステップでPRMスコア上位の候補のみを残しながら探索を続けるサンプリング戦略
- fusion
- 複数の生成済み回答をすべてモデルに提示し、それらを踏まえて1つの回答に統合させる推論時操作
- ITAS (Inference-Time Architecture Search)
- 与えられた予算内で複数のモデル・推論時テクニックを組み合わせた最適なアーキテクチャを探索する最適化器
- Bayesian optimization
- 少ない試行回数で優れた設定を探索できる最適化手法。ARCHONの探索空間探索に用いられる
言及された研究・システム
| 名称 | 講義での文脈 |
|---|---|
| Large Language Monkeys | 繰り返しサンプリングとverifierによってカバレッジが向上することを示した本章の起点となる論文。無限の猿定理を援用した比喩で説明された |
| SWE-bench | ソフトウェアエンジニアのコード編集・パッチ作成を模したエージェント型ベンチマーク。DeepSeek V3が1000サンプルでClaude 3.5やo1-previewを上回る例として言及された |
| KernelBench | PyTorchからCUDAコードを生成するタスクのベンチマーク。出力の入出力一致という「完璧なverifier」が使える例として紹介された |
| Scaling LLM Test-Time Compute Optimally Can Be More Effective Than Scaling Model Parameters | 逐次リビジョン・ORM/PRM・並列と逐次の最適配分・難易度別のtest-time compute対pretraining scalingの比較を扱った論文として詳しく紹介された |
| Weaver | 複数のverifierをアンサンブルする研究として、次回(月曜)の講義で扱うと予告された |
| ARCHON (An Architecture Search Framework for Inference-Time Techniques) | 推論時テクニックとモデルの組み合わせをアーキテクチャ探索問題として定式化し、ITASというベイズ最適化ベースの探索器を提案した論文。TAが共著者であることも言及された |