今回の論文
今回取り上げるのは、Shibo Haoらによる「Training Large Language Models to Reason in a Continuous Latent Space」です。2024年12月にarXivで公開され、COLM 2025に採録された、LLMの潜在空間推論を扱う論文です。公開元はarXiv、URLは https://arxiv.org/abs/2412.06769 、研究分野はLLMの推論手法です。
選んだ理由は、推論を長い文章として出力する前提そのものを見直しているからです。Coconutは「思考を必ず単語列にする必要があるのか」と問い、モデル内部の連続ベクトルを次の思考状態として再利用します。推論モデルの待ち時間、探索の失敗、思考トークンの設計を考えるうえで、実装に直結する発想があります。
どんな技術か
CoconutはChain of Continuous Thoughtの略で、LLMが途中の思考を自然言語トークンに復号せず、最後の隠れ状態を次の入力埋め込みとして直接渡す推論手法です。通常のChain-of-Thought(CoT)は「AだからB、次にC」と単語を一つずつ出しますが、Coconutはその途中を連続値のベクトル、すなわちcontinuous thoughtとして進めます。
最終的な答えは通常どおり言語で出力します。しかし答えに至る内部ステップでは、語彙の一つを早期に選んで固定しません。そのため論文では、複数の候補経路を同時に保持してから絞り込む、幅優先探索(BFS)に似た振る舞いが観察されたと報告しています。
課題
LLMが複雑な問題を解くとき、CoTは有力な手法です。一方、推論を言語化することには二つの制約があります。第一に、自然な文章にするためのトークンまで生成するため、実際の計算に寄与しない出力が増えます。第二に、次の単語を一つ選んだ時点で推論経路がほぼ固定され、最初の分岐を誤ると戻りにくくなります。
特に、グラフ上の経路探索、複数条件の計画、ツール呼び出し順序の検討では、「途中で候補を一つに決めない」ことが重要です。CoTを長くすれば考える量は増やせますが、生成トークン、待ち時間、途中の誤った前提も増えます。言語は人へ説明するには優れていますが、モデル内部の探索表現として常に最適とは限りません。
この課題は、推論の可読性だけでなく、アプリのレイテンシと品質に関わります。たとえば業務エージェントが実行計画を毎回長文で書き出すと、遅くなるだけでなく、早い段階で選んだ不適切な手順に引きずられることがあります。
用語解説
- 隠れ状態(hidden state)
- Transformerが各入力位置を処理して得る連続ベクトルです。語そのものではなく、文脈・候補・関係を数値として表します。Coconutでは最終層の隠れ状態を「次の思考」として再利用します。
- 埋め込み(embedding)
- 入力トークンをモデルが処理できるベクトルへ変換した表現です。通常は単語IDから作りますが、Coconutは前の計算で得た隠れ状態を次入力の埋め込み位置へ置き換えます。
- Chain-of-Thought(CoT)
- 答えの前に中間推論を自然言語で順に生成させる方法です。本論文の比較対象であり、明示的で読みやすい反面、各ステップで一つの単語列へコミットします。
- カリキュラム学習
- 簡単な形から徐々に難しい形へ学習を進める方法です。Coconutは通常のCoTを学習した後、言語の思考ステップを少しずつcontinuous thoughtへ置換します。この段階設計が学習成立の鍵です。
- 幅優先探索(BFS)
- 一つの経路を深く掘る前に、同じ深さの複数候補を広く調べる探索法です。Coconutは文字どおりBFSアルゴリズムを実行するのではありませんが、潜在表現が複数候補を保つという分析を説明する比喩として重要です。
技術の仕組み
Coconutの中心は、言語モードと潜在モードを切り替える点です。質問を読み、答えを出す部分は通常のLLMと同じです。その間にだけ、出力ヘッドで単語を選び直す経路を省きます。
隠れ状態を次の入力に戻す
標準的な自己回帰LLMでは、隠れ状態を語彙分布へ変換し、選んだトークンを埋め込みに戻して次の計算へ渡します。Coconutはこの「隠れ状態 → 単語 → 埋め込み」の往復を、思考中だけ「隠れ状態 → 次の入力埋め込み」に置き換えます。
ある質問の直後に連続思考を1個入れるなら、最後の隠れ状態をそのまま追加入力としてモデルへ再投入します。これを複数回繰り返した後、通常のトークン生成へ戻して答えを出します。連続思考には単語正解の損失を置かず、後続の説明・最終解答を正しく予測するために、全体を微分可能なまま学習します。
CoTから段階的に移行する学習
いきなり質問と答えだけで学習しても、モデルは有効な潜在推論を見つけにくいことが論文のアブレーションで示されています。そこで最初の段階では、問題、言語化された推論手順、答えからなる通常のCoTデータで学習します。
次の段階からは、推論手順の先頭1ステップをcontinuous thoughtで置換します。さらに進むと先頭2ステップ、3ステップと置き換え、各言語ステップを何個のcontinuous thoughtで代替するかはハイパーパラメータcで決めます。論文は質問と潜在思考部分の損失をマスクし、残る言語ステップと答えへのクロスエントロピーで学習します。人間向けの説明を圧縮するのではなく、未来の答えを予測しやすい内部状態を育てる設計です。
潜在的な候補保持と終端
ProsQAの分析では、最初のcontinuous thoughtの後に復号した確率分布に複数の次候補が残り、次のcontinuous thoughtで有望な候補へ集中する傾向が見られました。言語CoTのように最初の一語を確定してしまうより、早い段階の誤選択を避けられる可能性があります。
潜在思考をいつ終えるかは実装上の問題です。論文では終了を判定する二値分類器と、固定長にパディングする方法を比較し、同程度に機能したため、主実験では固定長を採用しています。つまり本手法は推論長を自律的に最適化する完成形ではなく、思考スロット数を設計・評価する必要があります。
実験と結果
論文は、算数文章題のGSM8K、論理推論のProntoQA、著者らが作成した探索性の高い論理推論データセットProsQAで評価しました。主なベースモデルはGPT-2で、GSM8Kの学習用データは385,620件、ProntoQAは9,000件、ProsQAは17,886件です。比較対象は、明示的CoT、推論手順なしのNo-CoT、CoTを内部化するiCoTなどです。
GSM8Kでは「思考なし」より大幅に改善
GSM8Kでは、6個のcontinuous thoughtを使うCoconutが正答率34.1%を記録し、推論手順を使わないNo-CoTの16.5%を上回りました。論文は、連続思考を連鎖させることで、推論に使える実効的な深さを増やせると解釈しています。
ただし、GSM8KでCoconutが通常のCoTを一律に上回ったわけではありません。重要なのは、言語として生成するトークンを減らした条件で、精度低下を比較的抑えた点です。算数のように中間計算の表現が重要な課題では、可読なCoTには依然として強みがあります。
探索が必要な論理問題で優位
ProsQAは、有向非巡回グラフ(DAG)の関係を自然言語で示し、正しい経路を探索する課題です。CoTは存在しない辺を作る「Hallucination」や、別の到達先へ進む「Wrong Target」が起きやすい一方、continuous thoughtを多く使うほどCoconutの最終正答と正しい推論過程の割合が上がったと報告されています。
ProntoQAとProsQAでは、CoconutはCoTより少ない生成トークンで高い精度を示しました。これは「全ての推論を短くできる」証明ではなく、分岐と戻りが多い合成論理タスクで、連続表現が探索の表現力を持つことを示す検証です。
読み取るべき点
実験は小型のGPT-2中心で、現代の大規模推論モデル、実運用のコード生成、外部ツールを使うエージェントまで直接検証したものではありません。それでも、潜在思考を増やすとGSM8Kの性能が改善し、cを0から1、2へ増やす実験で性能が上がったことは、テキスト出力量だけでは測れない推論計算の置き場があることを示唆します。
何に使える?
CoconutをそのままAPI型LLMへ後付けすることはできません。隠れ状態を扱えるモデル内部の変更と再学習が必要です。その前提で、潜在思考の設計は次の用途に応用の余地があります。
探索型の計画モデル
複数の制約を満たす作業順序、ゲームの方策、依存関係グラフの解決など、途中の選択を誤ると戻りにくい問題です。候補を文章として即座に確定せず、内部状態に保持する設計は、明示的な木探索やリランキングと組み合わせる研究・実装の出発点になります。
レイテンシに制約がある推論機能
チャットで長い思考文を見せる必要がなく、最終の分類・判定・短い回答だけを返す機能では、思考をテキスト化しない価値があります。ただし実際に高速化するかは、連続思考の反復回数、モデルサイズ、バッチ処理、デコードコストを含む計測で確認してください。
ハイブリッド型のAIエージェント
エージェントでは、ユーザーに見せる計画と内部で試す候補を分離できます。安全上・監査上必要な実行計画、ツール引数、根拠は構造化して明示的に残し、候補探索の一部だけを潜在処理へ寄せる、という使い分けです。論文はエージェント検証をしていないため、ここは将来の応用案ですが、可読性と探索効率のトレードオフを設計するヒントになります。
開発や事業へのヒント
この論文からすぐ実装できる本質は、全ての中間処理をユーザー向けの文章にしないことです。自社で基盤モデルを学習しない場合でも、推論パイプラインを「機械用の内部表現」と「説明・監査用の出力」に分けて設計する価値があります。
思考ログと実行状態を分ける
RAGやエージェントでは、内部検討を長文ログとして会話履歴へ蓄積しがちです。代わりに、候補スコア、検索ID、制約充足フラグ、実行状態を構造化して持ち、ユーザーには必要な根拠だけを短く説明する設計を検討できます。Coconutと同一ではありませんが、「言語化は通信・説明のため、状態は別表現で保持する」という考えを安全に応用できます。
探索失敗を指標にする
最終正答率だけでなく、最初の計画を最後まで引きずった割合、分岐後の復帰率、存在しない根拠の生成率を測ってください。ProsQAで分析されたHallucinationやWrong Targetは、ツールエージェントなら不正な操作案・誤った依存関係に対応します。探索が必要な製品ほど、この失敗の内訳が改善点を教えてくれます。
研究導入は小さな検証から始める
オープンな小型モデルで、CoT、短いCoT、内部状態を再利用する試作を同じデータで比較すると、潜在推論が効く問題の形を把握できます。まずは合成グラフ探索や制約充足のように正解判定が明確な課題で試し、API呼び出しを伴う本番エージェントへ飛びつかないことが現実的です。
限界
最大の限界は、continuous thoughtが人間には読めないことです。CoTも必ずしも忠実な説明ではありませんが、潜在状態では途中判断の監査、誤答分析、デバッグがさらに難しくなります。高い説明責任が必要な判断では、最終回答とは独立した根拠抽出・検証を用意すべきです。
また、論文の成功にはCoTデータから段階的に移るカリキュラムが必要でした。質問と正解だけから学ぶCoconut without curriculumはNo-CoTを改善しませんでした。高品質な推論手順データへの依存、学習段階・c・潜在長の調整、再学習コストが導入障壁になります。
実験は主にGPT-2と合成論理データセットで行われています。大規模モデル、自然な日本語、長いコード、実際の業務データで同じ効果が出るとは限りません。さらに、連続思考もモデルのforward passを繰り返すため、生成トークンが減ることとGPU計算が必ず減ることは別です。エンドツーエンドの待ち時間、メモリ、精度、説明可能性を用途別に評価する必要があります。
よくある質問
Q. CoconutはCoTを完全に置き換える技術ですか?
A. いいえ。論文は探索の強い論理課題での利点と、精度・生成トークンのトレードオフを示していますが、GSM8Kでは通常のCoTを一律に上回っていません。人へ解法を説明する必要がある場面では、可読なCoTや別の根拠提示が必要です。
Q. APIで使っているLLMにCoconutを追加できますか?
A. できません。Coconutは隠れ状態を取り出して次の入力埋め込みに使うため、モデル内部へのアクセスと学習が必要です。API利用のアプリでは、構造化状態の管理、検索候補のスコアリング、短い出力設計など、考え方を間接的に取り入れることになります。
Q. なぜ最初から潜在思考だけで学習しないのですか?
A. 論文では、質問と答えだけから学ぶ方式はNo-CoTより良くなりませんでした。通常のCoTで解法の足場を学ばせ、言語ステップを少しずつ連続思考に置換することで、後続の答えを予測しやすい内部状態を獲得させています。
Q. continuous thoughtがBFSを実行していると断言できますか?
A. 断言はできません。論文は中間状態を復号して候補確率を調べ、複数候補を保持して後に集中する振る舞いをBFSに似たものとして分析しています。これは内部表現の一つの解釈であり、汎用的な明示的探索アルゴリズムの実装を保証するものではありません。
Q. 実運用では何を最初に評価すべきですか?
A. 正答率だけでなく、推論時間、生成トークン、GPU計算量、誤った候補からの復帰率、説明・監査に必要な根拠を出せるかを分けて測るべきです。特に潜在処理は途中が読めないため、外部の検証器やルールによる最終チェックを先に設計してください。
今日の学び
この論文は、LLMが推論を言語トークンとして一つずつ出すことで、不要な生成と早すぎる経路確定が起こる課題を扱いました。Coconutは、最後の隠れ状態を次の入力へ直接戻し、CoTから段階的に置換する学習で連続潜在空間の思考を育てます。
得られるヒントは、推論システムの内部状態と人に見せる説明を同じ形式にしないことです。すぐにCoconutを導入できなくても、探索候補・制約・実行状態を構造化し、最終回答の品質と監査性を別々に評価する設計は、RAGやAIエージェントの開発に活かせます。