体系 › LLM — 大規模言語モデル
·無料·論文·17分で読めます

推論時スケーリング — 「長く考える」モデルの原理

同じモデルでも長く考えさせると正答率が上がる。その原理を、途中式を書くCoT、何度も解いて多数決する自己一貫性、候補を選ぶ検証器、思考の長さ自体を強化学習で獲得したo1系まで1から解く。計算の置き場所が学習から推論へ移るとは何を意味するのか。

要点

  • 推論時スケーリングは、モデルの出力トークン列を作業スペースとして与え、難しい問題ほど多く計算させる手法である。
  • Chain-of-Thoughtは途中結果を出力に書き出すことで計算ステップを追加し、一定規模を超えたモデルでのみ効く。
  • Self-Consistencyは複数の経路をサンプルして最終的な答えの多数決を取り、PaLM-540BのGSM8Kで+17.9ポイント改善した。
  • Best-of-Nは検証器が最高点を付けた候補を選び、過程報酬モデル(PRM)は1ステップごとの正誤で訓練される。
  • 効果は計算量の対数に比例して逓減し、検証器の過剰最適化や知識不足、レイテンシとコストで頭打ちになる。
対象textタスクreasoning

Chain-of-Thought Prompting Elicits Reasoning in Large Language Models

一次資料 — この記事の根拠

論文の発表 2022-01-28→この解説の公開 2026-08-274年7か月後

Chain-of-Thought Prompting Elicits Reasoning in Large Language ModelsJason Wei, Xuezhi Wang, Dale Schuurmans ほか · 2022-01-28 · v6arXiv:2201.11903論文ページ·PDF
Self-Consistency Improves Chain of Thought Reasoning in Language ModelsarXiv:2203.11171論文ページ·PDF
Training Verifiers to Solve Math Word ProblemsarXiv:2110.14168論文ページ·PDF
Let's Verify Step by SteparXiv:2305.20050論文ページ·PDF
Large Language Monkeys: Scaling Inference Compute with Repeated SamplingarXiv:2407.21787論文ページ·PDF
Scaling LLM Test-Time Compute Optimally can be More Effective than Scaling Model ParametersarXiv:2408.03314論文ページ·PDF
DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement LearningarXiv:2501.12948論文ページ·PDF
原文の要旨(Abstract)を読む

We explore how generating a chain of thought -- a series of intermediate reasoning steps -- significantly improves the ability of large language models to perform complex reasoning. In particular, we show how such reasoning abilities emerge naturally in sufficiently large language models via a simple method called chain of thought prompting, where a few chain of thought demonstrations are provided as exemplars in prompting. Experiments on three large language models show that chain of thought prompting improves performance on a range of arithmetic, commonsense, and symbolic reasoning tasks. The empirical gains can be striking. For instance, prompting a 540B-parameter language model with just eight chain of thought exemplars achieves state of the art accuracy on the GSM8K benchmark of math word problems, surpassing even finetuned GPT-3 with a verifier.


将棋の長考と、暗算の即答

人間は難しい問題ほど長く考えます。詰将棋を前にした棋士は数分黙り込みますが、「3+4は?」なら即答します。かける時間を難しさに合わせるのは当たり前すぎて、意識すらしません。

言語モデルは長いあいだ、この当たり前を持っていませんでした。「1+1は?」でも「この未解決問題を解け」でも、1トークンを吐くのにかかる計算量はまったく同じです。層の数が固定だからです。24層のモデルはどんな入力にも24層分だけ計算して次の単語を出す。それ以上考えることも、手を抜くこともできません。

ここで試験を思い浮かべてください。「途中式は書くな、答えだけ書け」と言われたら、解けるのは暗算できる範囲までです。紙を渡された瞬間、3桁×3桁の掛け算も解けるようになる。能力が上がったのではなく、作業スペースが与えられただけです。推論時スケーリング(test-time scaling)は、この紙を言語モデルに渡す話であり、紙の正体はモデル自身の出力トークン列そのものです。

計算の置き場所は2つある

大規模モデルの計算コストは、支払うタイミングで2つに分かれます。学習時の総計算量は、パラメータ数 NN と学習トークン数 DD からおおよそこう見積もられます。

Ctrain≈6NDC_{\text{train}} \approx 6ND
(1)

「学習の総計算量は、パラメータ1個・トークン1個あたり定数回の演算で決まる」という意味です。定数6は順伝播と逆伝播を合わせた演算回数から来ています。つまり NN はモデルが持つつまみの数、DD は読ませた文章の量で、どちらを2倍にしても学習の電気代は2倍になるということ。この式を軸に予算配分を論じたのがスケーリング則でした。

対して推論時の計算量は、処理トークン数 TT でほぼ決まります。

Cinfer≈2NTC_{\text{infer}} \approx 2NT
(2)

「1トークンあたりパラメータ数の約2倍の演算」という意味で、逆伝播がないぶん定数が小さい。つまり TT は読み書きしたトークンの本数で、モデルを1文字も変えなくても、長く書かせただけ請求額が伸びるということです。

決定的な違いは支払い回数です。学習費用は一度払えば全ユーザーで山分けされますが、推論費用はリクエストのたびに発生します。だから業界の努力は長らく推論を削る方向——量子化、蒸留、KVキャッシュ——に向いていました。推論時スケーリングはその逆張りで、TT を意図的に増やし、増えた計算で正答率を買います。

なぜトークンを吐くと賢くなるのか

ここが一番大事な理屈です。Transformerが1トークンを生成するとき使える計算は「層数 × 層あたりの計算量」で頭打ちです。つまり1トークン = 計算ステップ1回分。多段の推論が必要な問題は、この1回に収まりません。

ところが途中結果を出力に書き出してしまえば、次のトークンを作るときにそれを入力として読み直せます。書き出した瞬間、中間結果が外部メモリに保存され、しかも計算ステップが1回分増える。10トークン書けば実質10ステップ積み増したことになります。

これがChain-of-Thought(CoT、思考の連鎖)の正体です。「ステップバイステップで考えて」は精神論ではなく、計算ステップの追加購入命令です。CoT論文(Weiら 2022)で実証されたこと・されていないことの線引きはプロンプトエンジニアリングの科学で扱いました。重要なのは、CoTが一定規模を超えたモデルでのみ効く創発だった点です。小さいモデルに途中式を書かせると、もっともらしく破綻した式を書いてかえって精度が落ちます。紙を渡しても、書ける中身がなければ意味がない。

1本の鎖は、途中で切れる

CoTの弱点は推論経路が1本しかないことです。生成は確率的で、各ステップでモデルは分布からトークンを選びます。3ステップ目で符号を間違えれば、あとがどれだけ丁寧でも答えは外れる。しかも自信満々の口調のまま外れます。

たとえば「毎月3千円ずつ貯めて、途中で1万2千円使った。18ヶ月後の残高は?」という問題なら、正解に至る道は複数あります。18ヶ月分を先に足してから引いてもいいし、月ごとに残高を追ってもいい。どの道も同じ答えに着きますが、どの道を選ぶかは生成時に確率で決まります。そして選んだ道の途中で「3千円×18ヶ月」を5万2千円と書き損じれば、そこから先は全部その誤りの上に積み上がる。人間なら検算しますが、CoTは書いた式をそのまま正しいものとして次へ進みます。

どのくらいブレるかを決めるのが温度(temperature)です。0に近いと毎回いちばん確率の高いトークンだけを選ぶので、何度走らせても同じ答えが返る。上げると分布が平たくなり、2番手・3番手の道も選ばれます。次の図で、温度を動かしたときに分布がどう尖り、どう平たくなるかを確かめてください。この「平たさ」が、これから話す全手法の燃料になります。

FIG 1温度を下げると1本の道だけが選ばれ(何度サンプルしても同じ答え)、上げると複数の道が現れる。推論時スケーリングは、この多様性を計算に変換する

温度0で16回サンプルしても、返るのは同じ答えが16個です。費用だけ16倍払って情報は1個分。多様性がなければ、何度解かせても意味がない。逆に上げすぎれば途中式そのものが壊れます。ここに最初の調整つまみがあります。

何度も解いて、多数決を取る

複数の経路をサンプルできるなら、次の手は自然です。N本解かせて最終的な答えの多数決を取る。これがSelf-Consistency(自己一貫性、Wangら 2022)です。理屈は確率の周辺化で、知りたいのは「答え aa の確からしさ」であって途中の道筋 rr ではありません。

P(a∣x)=∑rP(a,r∣x)P(a \mid x) = \sum_{r} P(a, r \mid x)
(3)

「問題 xx に対する答え aa の確率は、aa に至るあらゆる道筋 rr の確率を全部足したもの」という意味です。つまり、答えの確からしさを決めるのはいちばん確率の高い1本の道ではなく、そこに着く道が何本あるかの合計だということ。CoTの貪欲デコードはこの総和のうち確率最大の1本だけを見て答えを決めている。道が違えば答えも違うのに、1票しか数えていません。

直感で言えば、正解にたどり着く道は何本もあるが、間違え方はバラバラに散るからです。正解は一点に集まり、計算ミスの結果は毎回違う値になって票が割れる。自己一貫性の論文は、PaLM-540BでのGSM8K(小学校レベルの文章題)の正答率がCoT単独から+17.9ポイント改善したと報告しています。モデルは1バイトも変えていません。

同じ直感から限界も読めます。誤りが相関していると多数決は効きません。モデルが系統的な誤解を持っていれば、N本すべてが同じ間違いに収束する。票が割れるのは「たまたまのミス」だけで、「そもそも知らない」は治りません。

誰が正解を選ぶのか(検証器)

多数決は、最終的な答えを照合できる問題にしか使えません。「42」なら比較できますが、「この関数をリファクタリングして」の出力同士は文字列比較のしようがない。そこで検証器(verifier)が要ります。生成モデルとは別に解答を採点するモデルを用意し、N個の候補から最高得点の1つを選びます。

y^=arg⁡max⁡i∈{1,…,N}V(x,yi)\hat{y} = \arg\max_{i \in \{1,\dots,N\}} V(x, y_i)
(4)

「N個の候補解のうち、検証器 VV の点数が最も高いものを最終回答にする」という意味で、この方式をBest-of-Nと呼びます。つまり V(x,yi)V(x, y_i) は「ii 番目の答案に採点者が付けた点数」、arg⁡max⁡\arg\max は「その点数が最高だった答案の番号を返せ」という記号です。答案をN枚書かせて、採点者がいちばん丸を付けた1枚だけを提出する、ということ。検証器を本格導入したのはCobbeら(2021)、GSM8Kを作った論文でもあります。同じ予算をモデルの追加学習に使うより、検証器+複数生成に使うほうが効率が良いという結論でした。

検証器には2種類あります。ORM(結果報酬モデル)は最終的な答えの正誤だけで訓練し、PRM(過程報酬モデル)は推論の1ステップごとに正誤ラベルを付けて訓練します。Let's Verify Step by Step(Lightmanら 2023)はこの2つを比較してPRMの優位を示し、PRM800K——約80万件のステップ単位の人手ラベル——を公開しました。PRMを使ったBest-of-NはMATHの代表的な部分集合で78.2%を解いたと報告されています。

PRMが強い理由は信用割当の一語です。ORMは「間違った推論で偶然正解に着いた解答」にも満点を与えてしまいますが、PRMは壊れた箇所を名指しできるのでそのごまかしが通りません。スコアの素直な集約はステップごとの正しさの積です。

V(x,y)=∏t=1TptまたはV(x,y)=min⁡tptV(x,y) = \prod_{t=1}^{T} p_t \quad\text{または}\quad V(x,y) = \min_{t} p_t

「ptp_t は tt 番目のステップが正しい確率。全ステップの積、あるいは最も自信のないステップの値を解答の点数とする」という意味で、「1箇所でも壊れていれば全体が壊れる」という推論の性質をそのまま式にしたものです。つまり積のほうは「全ステップを連続で通してはじめて合格」、min のほうは「いちばん危なっかしいステップの出来が、その答案の実力」という採点方針の違いだと読めます。

生成を増やすだけでは足りない

Large Language Monkeys(Brownら 2024)は、この分野の力学をきれいに分離しました。N本サンプルして「少なくとも1本が正解している割合」をカバレッジ(pass@N)と呼びます。彼らの観測は、カバレッジがNの対数に対しておおむね直線的に伸びること。論文では、SWE-bench Liteでの正答率が1本のとき15.9%、250本サンプルで56%に届いたと報告されています。

罠はここです。カバレッジは「正解が候補の中にある」としか言っておらず、「正解を選び出せる」ではない。テストが走るコード生成や検算できる数学では自動検証がそのまま選択に使えますが、判定手段のない領域では両者の差は開く一方です。本丸は生成ではなく選択であり、検証器の研究が中心に居座っているのはこのためです。

探索する — 木にすると爆発する

多数決やBest-of-Nは、経路を最後まで走らせてから比べます。もっと早く見切りをつけたいのが木探索です。Tree of Thoughts系の手法は、部分的な思考を「状態」、続きの候補を「枝」とみなし、有望な枝だけを残して深く進みます。ただし素朴にやると爆発する。分岐数を bb、深さを dd とすると全探索の状態数は bdb^d で、b=5b=5、d=10d=10 なら約1000万です。

FIG 2n を動かし、線形軸と対数軸を切り替えてみてください。分岐の累乗は少し深くしただけで桁が変わる。木探索が幅の制限(ビーム)を必ず要求する理由であり、推論時スケーリングの図が横軸を対数で描く理由でもある

だから実務の木探索は必ず幅を固定します。各深さで上位 kk 本だけ残すビーム探索ならコストは k⋅dk \cdot d の線形。代償は、評価器が序盤で誤判断すると正解の枝を切り落とすことです。探索の質は評価器の質に等しいという、Best-of-Nと同じ結論に戻ってきます。

Snellら(2024)は、同じ推論予算をBest-of-N・ビーム探索・逐次的な自己修正のどれに配分すべきかは問題の難易度で変わると主張しました。易しめの問題は1本の解を少しずつ直す逐次修正が、難しい問題は初手から別の筋を探索するほうが効率的。難易度に応じて切り替える「計算最適」な戦略なら単純なBest-of-Nより少ない計算で同じ精度に届き、FLOPsを揃えた比較では小さいモデル+推論時計算がより大きいモデルを上回る場合があると報告しています。

考え方そのものを学習させる(o1系)

ここまでの手法には共通点があります。全部モデルの外側にあることです。プロンプトも温度も検証器も探索木も、モデルを包む足場であって、モデル自身は何も変わっていません。

2024年9月にOpenAIが発表したo1は、この足場を内側に入れました。強化学習で「長い思考列を生成すること自体」を最適化したモデルで、ユーザーは特別なプロンプトを書きません。実務上の特徴は2つ。思考部分(reasoning tokens)は課金対象だが非公開であること、そして「考える時間を増やすほど精度が上がる」曲線が横軸を対数にして示されたことです。

同系統をオープンウェイトで公開したのがDeepSeek-R1(2025年1月)です。示唆に富むのはR1-Zeroで、教師あり微調整を経ずに純粋な強化学習だけで訓練したところ、学習が進むにつれて思考列が自然に長くなっていったと報告されています。「長く考えろ」と教えたのではなく、正解率という報酬を追った結果、モデルが自分で「もっと考える」に到達した。同じ論文は、R1-ZeroのAIME 2024のpass@1が15.6%から71.0%へ上がり、多数決を併用すると86.7%になったとも報告しています。内側の長考と外側の推論時スケーリングは排他ではなく、足し算になる。

どこで頭打ちになるか

1. 対数の逓減。 効果が計算量の対数に比例するなら、次の1ポイントを買うのに前回の2倍払うということです。伸びしろは常にあるが、どこかで採算が合わなくなります。

2. 検証器の過剰最適化。 Nを大きくするほど、検証器の穴を突く候補が候補集合に入る確率が上がります。正しい解ではなく、検証器が高く採点しやすい形の解が選ばれ始める。グッドハートの法則そのもので、Nを増やしたのに精度が下がったら、まずこれを疑います。

3. 難易度依存。 長考が効くのは「材料はあるが1回のパスでは組み立てきれない」問題です。知識が欠けていれば、長く考えた分だけもっともらしい嘘が精緻になるだけ。これはLLM評価の観点でも厄介で、途中式が整っているほど採点者(人間もLLMも)が騙されます。

4. レイテンシとコスト。 出力トークンが増えれば課金が増え、KVキャッシュも膨らむ。同時に捌けるリクエスト数が落ちるので、単価だけでなくスループットにも効きます。

コードで見る(擬似コード)

from collections import Counter

def majority_vote(model, x, n=16, temperature=0.8):
    answers = [extract_answer(model.sample(x, temperature=temperature))
               for _ in range(n)]
    return Counter(normalize(a) for a in answers).most_common(1)[0][0]

def best_of_n(model, verifier, x, n=16, temperature=0.8):
    cands = [model.sample(x, temperature=temperature) for _ in range(n)]
    return max(cands, key=lambda y: verifier.score(x, y))

def weighted_vote(model, verifier, x, n=16, temperature=0.8):
    """合わせ技: 同じ答えに集まった票を、検証器スコアで重み付けする"""
    score = Counter()
    for y in (model.sample(x, temperature=temperature) for _ in range(n)):
        score[normalize(extract_answer(y))] += verifier.score(x, y)
    return score.most_common(1)[0][0]

normalize を軽く見ないでください。「42」「42個」「答えは42です」が別の票として数えられた瞬間、多数決の効果は消えます。実務で自己一貫性が「効かなかった」と報告されるケースの相当数は、推論ではなく答えの抽出と正規化の問題です。

現場ではこう使う

誰がいつ触るか。 LLMアプリのエンジニアが「精度が足りないが、上位モデルへの切り替えは高すぎる」場面で最初に検討する手段です。評価担当なら、ベンチマークのスコアを読むときにその数字がpass@1か、多数決込みか、Best-of-Nかを必ず確認します。この3つは同じモデルで大きく変わるので、条件を揃えない比較表は読む価値がありません。

実際に触るパラメータ名。

知らないと事故になる落とし穴。

設計レビューで問われる形。 「同じ予算を、より大きいモデルに使うか、推論時計算に使うか」。答えの筋道は検証可能性の一点です。自動で正誤を判定できる領域(テストが走る、検算できる、コンパイルが通る)なら、推論時計算はカバレッジがそのまま性能に変わるので分がいい。判定手段がない領域では候補が増えても選べず、検証器の精度が天井になります。まず検証をどう作るかを決めてから、Nを決める——この順序が要点です。

まとめ

参考文献

  1. Jason Wei, Xuezhi Wang, Dale Schuurmans, Maarten Bosma et al.. (2022-01-28) Chain-of-Thought Prompting Elicits Reasoning in Large Language Models. arXiv:2201.11903論文ページ·PDF
  2. Self-Consistency Improves Chain of Thought Reasoning in Language Models. arXiv:2203.11171論文ページ·PDF
  3. Training Verifiers to Solve Math Word Problems. arXiv:2110.14168論文ページ·PDF
  4. Let's Verify Step by Step. arXiv:2305.20050論文ページ·PDF
  5. Large Language Monkeys: Scaling Inference Compute with Repeated Sampling. arXiv:2407.21787論文ページ·PDF
  6. Scaling LLM Test-Time Compute Optimally can be More Effective than Scaling Model Parameters. arXiv:2408.03314論文ページ·PDF
  7. DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via Reinforcement Learning. arXiv:2501.12948論文ページ·PDF

本記事は上記論文の本文にもとづいて執筆しています。数値・主張は原典を優先してください。

運営: TechAthletes · 編集方針 · 出典の付け方 · 訂正の記録

コメント

コメントにはログインが必要です