Test-Time Compute
Test-time compute(推論時計算とも呼ばれます)とは、モデルを再学習させることなく回答品質を高めるために、推論時にLLMをより長く「考えさせる」、つまりより多くの推論トークンを生成させたり、複数のチェーンを走らせたり、多くの候補をサンプリングして最良のものを選ばせたりする手法です。2024~2025年にOpenAIのo1とDeepSeek-R1によって広まり、推論を学習の問題から実行時のつまみへと変えました。
Test-time compute(推論時計算とも呼ばれます)とは、モデルを再学習させることなく回答品質を高めるために、推論時にLLMをより長く「考えさせる」、つまりより多くの推論トークンを生成させたり、複数のチェーンを走らせたり、多くの候補をサンプリングして最良のものを選ばせたりする手法です。2024~2025年にOpenAIのo1とDeepSeek-R1によって広まり、推論を学習の問題から実行時のつまみへと変えました。
なぜ重要なのか
LLM時代のほとんどの期間、モデルを賢くする唯一の方法は、より多くのデータでより大きなモデルを学習させることでした。Test-time computeは、その依存関係を打ち破りました。OpenAIのo1は、同じベースモデルでも、回答前に10~30倍多くのトークンを使って推論させれば、数学、コーディング、論理のベンチマークで、はるかに大きな非推論モデルに匹敵またはそれを上回ることを示しました。これは推論の予算配分を捉え直すものです。「払える限り最大のモデルを使う」のではなく、チームは今や「このクエリにどれだけの思考の対価を払いたいか」を問うようになりました。推論の経済性が変わり、それとともに製品設計も変わりました。なぜなら、推論品質はリクエスト単位で調整可能になったからです。
仕組み
より長い思考の連鎖(chain-of-thought): モデルは、目に見える回答の前に、数百から数千の内部的な推論トークンを出力します。より多く考えるほど、より良い回答になります。
複数サンプル(self-consistency): N個の異なる回答を生成し、モデルが最も頻繁に到達するものを選びます。数学ではシンプルかつ効果的です。
木探索/ビームサーチ: 複数の推論の枝を並列で探索し、悪いものを刈り込み、有望なものを伸ばします。
プロセス報酬モデル: 2つ目のモデルが各推論ステップを採点し、主モデルをより良い経路へと導きます。OpenAIのプロセス監視で使われています。
検証器ガイド探索: 多くの候補を生成し、外部の検証器(ユニットテスト、数学チェッカー、LLMジャッジ)を走らせ、最良のものを返します。
Best-of-N + リランク: よりシンプルなバリエーション。16~64個の候補を生成し、報酬モデルでリランクし、トップのものを返します。
トレードオフ
あらゆるtest-time computeの手法は、精度を遅延とコストで買います。
遅延: 推論なしなら500msで済む応答が、重いtest-time computeでは5~30秒かかることがあります。
コスト: 推論トークンは、他のあらゆる出力トークンと同じだけのコストがかかります。1万の思考トークンを伴うo1の回答は、シンプルなGPT-4oの回答の約30~50倍のコストになります。
収穫逓減: 精度対計算量の曲線は平坦になります。1,000から10,000の推論トークンへの増加は、10,000から100,000への増加よりも効果があります。
常に役立つわけではない: 単純な事実の参照や気軽な雑談は、推論の恩恵を受けません。「天気は?」にo1を強制するのはお金の無駄です。
使いどころ
数学と形式論理: test-time computeは大いに役立ちます。推論モデルはGSM8K、MATH、AIMEでベースモデルを20~40ポイント上回ります。
テスト付きのコード生成: 生成し、テストを走らせ、反復します。検証器ガイド探索が真価を発揮します。
多段階の計画立案: エージェントの意思決定、複雑な指示、多制約の最適化。
重要度の高い単発のクエリ: 医療、法律、金融など、正しい回答に5秒と0.30ドルを払うことが、間違いのコストに比べて安く済む領域です。
使うべきでない場面
1秒未満の予算のチャットUX: 遅延がユーザー体験を著しく損ないます。
大量処理のワークロード: トークンが20~50倍に膨れ上がると、高ボリュームのエンドポイントは採算が合わなくなります。
単純な検索や要約: 一発の回答で十分であり、長く考えても役に立ちません。
自由形式の創作: 熟考が増えると、出力が硬く感じられます。
推論モデル vs 通常モデル
| 観点 | 通常(GPT-4o、Claude 3.5) | 推論(o1、R1、Claude Opus 4.6 thinking) |
|---|---|---|
| 応答速度 | 高速 | 低速 |
| トークンコスト | 低 | 高 |
| 数学/論理 | まずまず | 優秀 |
| 創作 | 強い | 時に硬い |
| チャットUX | 理想的 | 過剰 |
| 最適な用途 | ほとんどのリクエスト | 難しいクエリ |
モデルルーティング、つまり単純なクエリを高速なモデルに、難しいクエリを推論モデルに送ることは、本番での標準的なパターンです。
よくある間違い
あらゆる場所で推論モデルを使う: ほとんどの回答を改善しないまま、コストと遅延を急速に膨らませます。
思考トークンに予算の上限を設けない: 上限のない推論トレースは、1つのクエリで数千ドルを食い尽くすことがあります。
キャッシュを無視する: 推論トレースはしばしば繰り返しが多くなります。プロンプトキャッシングでコストを大幅に削減できます。
評価を飛ばす: チームは推論=より良い、と思い込みます。自分たちの特定のドメインでは、そうでないかもしれません。コミットする前にベンチマークしましょう。
思考トークンと出力を混同する: ユーザーは、求めない限り推論トレースを見るべきではありません。それは内部の独り言です。
Sources: