モデルの「深い思考」とは何か
計算用紙のたとえで Thinking を理解し、推論と画面に表示される要約を区別して、深い推論が役立つ場面を学びます。
AI チャットを使っていて、「深い思考」というボタンを見たことがあるかもしれません。質問を送った後、すぐには答えずに「Thinking」と表示されることもあります。
前のレッスンでは、モデルは入力から次のトークンを予測すると説明しました。それなのに、なぜ「思考」するのでしょうか。
まず計算用紙のたとえで仕組みを理解し、その後で通常の回答との違いを見ていきましょう。
1. 計算してから答える
イベントの準備中に、次の問題を解くとします。
予算は合計 1,000 人民元。会場費は 450 人民元、材料費は 230 人民元、食事代は 1 人 25 人民元です。最大で何人を受け入れられますか?
割り切れない数字があるので、暗算では間違えやすい問題です。紙に手順を書いて計算すると、より確実です。
- 固定費を引く: 1,000 − 450 − 230 = 320 人民元。
- 人数を計算する: 320 ÷ 25 = 12.8。人を 0.8 人に分けることはできないので、最大 12 人です。
- 結果を確認する: 450 + 230 + 12 × 25 = 980 人民元。予算内に収まります!
モデルの「深い思考」、つまり Thinking も、これに似ています。
OpenAI o1 や DeepSeek-R1 のような専用の推論モデルが登場する前、早くも 2022 年には、GPT-3.5 / GPT-4 時代などの初期の LLM を対象とした研究で、プロンプトに次の指示を加える効果が見つかっていました。
モデルが指示に従って手順を書き出すことで、最終回答の正答率を上げられたのです。
2. 深い思考とは、プロンプトを 1 つ加えるだけなのか
初期のプロンプトエンジニアリングの研究は正答率を上げましたが、推論能力の問題を根本から解決したわけではありません。プロンプトだけでは、毎回正しい方法を選び、誤りを見つけ、別の方法で計算し直せるとは限りません。手順をすべて書いても、最初の一歩で間違うことがあります。「確認します」と何度も言いながら、問題を見つけられないこともあります。
つまり、モデルに中間の手順を多く生成させ、その手順を使って計算を続け、最終回答を出してほしいのです。生成の仕組みは変わらず、トークンを 1 つずつ出力します。中間の手順をより多く生成するよう求めているだけです。
プロンプトで今回の答え方は指示できますが、モデルの動作規則そのものを変えることはできません。そこで研究者は、学習を通じて計算用紙の使い方を教えられないかと考えました。
3. 事後学習
前のレッスンでは、事前学習と事後学習という 2 つの段階に触れました。後者は、まだ説明していません。
事後学習では、事前学習を終えたモデルをさらに調整し、特定の課題をよりうまくこなせるようにします。多くの本を読んだ人が、目的に合わせた練習を始めるイメージです。
主な方法も人の学習に似ています。お手本を学ぶ方法と、自分で問題を解く方法です。
1 つ目:ほかの人のやり方を見る。
「質問と回答例」の組を用意し、そのお手本でモデルを学習させます。通常、教師ありファインチューニング、略して SFT と呼びます。
予算の問題なら、質問と模範解答を両方与えます。
質問:予算は合計 1,000 人民元。会場費は 450 人民元、材料費は 230 人民元、食事代は 1 人 25 人民元です。最大何人ですか?
回答:固定費を引くと、1,000 − 450 − 230 = 320 人民元です。人数を計算すると、320 ÷ 25 = 12.8。人を 0.8 人に分けることはできないので、最大 12 人です。12 を式に戻すと、450 + 230 + 12 × 25 = 980 人民元。予算を超えません。
学習中も、モデルは回答例の次のトークンを予測し、その回答例と照合してパラメーターを調整します。多くのお手本によって、適切な答え方を選びやすくなります。先生が「この種類の問題は、こう解く」と実演するようなものです。
2 つ目:自分で試し、結果から改善する。
モデルに課題を試させ、その出来に点数を付け、その点数を使ってパラメーターを調整する方法もあります。
これを強化学習、略して RL と呼びます。お手本を学ぶ方法と違い、まずモデル自身が答えを生成し、その後でフィードバックを受けます。
引き続き予算の問題で、強化学習を説明します。
4. 強化学習
ステップ 1:モデルに試させる。
学習中、同じ質問に対して複数の回答を生成できます。生成にはランダム性があるため、異なる結果が出ることがあります。
この簡略化した例では、まず「計算メモ+最終回答」の形式を指定します。前半には計算や確認を書き、後半で答えを出します。公開された DeepSeek-R1-Zero の研究でも、推論と回答を分ける方法が使われました。
| 試行 | 中間の計算メモの例 | 最終回答 |
|---|---|---|
| A | 残りは 320 人民元。320 ÷ 25 = 12.8。四捨五入して 13 人。 | 最大 13 人。 |
| B | 1 人なら確実に予算内なので、1 人にする。 | 最大 1 人。 |
| C | 残りは 320 人民元。320 ÷ 25 = 12.8。予算を超えないよう切り捨てて 12 人。確認すると、12 人は 980 人民元、13 人は 1,005 人民元で予算超過。 | 最大 12 人。 |
| D | 食事に使えるのは 320 人民元なので、12 人分。 | 最大 12 人。 |
ステップ 2:点数を付ける。
計算で確認できる正解は、最大 12 人です。そこで、簡単な採点規則を使えます。最終回答が「最大 12 人」なら 1 点、それ以外の人数なら 0 点です。
| 試行 | 点数 | 理由 |
|---|---|---|
| A | 0 | 13 人では 1,005 人民元かかり、予算を超える |
| B | 0 | 1 人は予算内だが、最大人数ではない |
| C | 1 | 最終回答が正しい |
| D | 1 | 最終回答が正しい |
C と D は同じ点数です。報酬の対象は、長い計算メモを書くことではなく、問題を解くことだからです。この規則なら、計算メモを書かずに正解しても 1 点にするべきです。これは正しい結果に報酬を与える仕組みを簡略化した例です。実際の学習では、形式など別の基準に報酬を与える場合もありますが、ここでは扱いません。この講座では概要を押さえれば十分です。詳しく知りたい方は論文をご覧ください。
過程を採点する方法もあります。OpenAI は 2023 年に、過程の監督に関する研究を公開しました。中間の手順へのフィードバックで報酬モデルを学習し、それを使って数学の解答候補を選びました。
過程の採点では、各手順の質を評価するため、より細かな点数を付けられます。この例なら C の点数が高くなります。当時 DeepSeek-R1 がこの方法を使わなかったのは、中間の手順が重要でないからではありません。DeepSeek は、その採点が難しく費用もかかると判断しました。これは学習方法の取捨選択であり、過程の採点が機能しないという主張ではありません。
ステップ 3:点数に基づいてパラメーターを調整する。
学習を何度も繰り返して、モデルのパラメーターを少しずつ調整します。
大事なのは、強化学習では 1 問だけでなく、多くの問題を使うことです。結果だけの採点で同点になる試行があっても、問題が十分に多ければ差が出ます。問題を分解し、確認し、修正する特定の方法が安定して正解につながるなら、その生成パターンが徐々に強化されます。目的は、問題の解き方を改善することです。
5. 深い思考と通常の回答の違い
深い推論は役立ちますが、「1 + 1 は?」のような簡単な質問には大げさかもしれません。待ち時間が増え、使うトークンも増えます。トークンとは何かで説明した、入力と出力のトークン料金を覚えていますか。計算メモにもトークンが必要です。
そのため、多くの製品には、深い推論を使うかどうかを選ぶスイッチがあります。たとえば DeepSeek には「Deep Thinking」のスイッチがあります。
すべての製品が同じ仕組みではありません。ChatGPT には代わりに effort の設定があり、Light や Medium などの段階があります。
ここで 2 点、補足します。
Effort は推論に使う資源を調整し、通常は推論トークン数に影響します。思考の長さを固定したり、最終回答を長くしたりする指定ではありません。High では、より多く計算し、詳しく分析できます。人にたとえるなら、丁寧に計算する余裕を与えることであり、1,000 語の下書きを要求することではありません。
「37 × 48 はいくつですか?」を考えましょう。低い effort なら、次のように答えるかもしれません。
高い effort なら、次のようになるかもしれません。
目的は、回答を長くすることではありません。最終回答はどちらも「1776」だけで構いません。違いは、答える前により多く計算するかどうかです。 推論モデルは追加の推論トークンを使って問題を分解し、別の方法を検討できます。それらのトークンは最終回答ではありません。
一般に Low では計算を少なくし、分析を簡単にします。使うトークンが少なく、速く動きます。High は通常、より多くのトークンと時間を使います。ただし、絶対ではありません。ChatGPT など一部のモデルは、課題の難しさにも応じて推論を調整します。高い effort でも、簡単な質問ならトークンをあまり使わない場合があります。
6. これが何に役立つのか
深い推論と effort の段階を理解すれば、課題に応じて、使うかどうかと適切な段階を選べます。すべての質問に必要なわけではなく、高い effort がよりよい回答を保証するわけでもありません。
モデルの料金が上がるほど、深い推論と effort の設定をよく選び、無駄を減らしましょう。