NF-CoT:LLMの「思考」は、文章で書かなくても進められるのか
今日取り上げたいのは、2026年6月4日UTCにarXivへ投稿された論文「Latent Reasoning with Normalizing Flows」です。テーマはかなり直球で、LLMの推論を支えてきたChain-of-Thought、つまり途中式や考え方を文章として出す仕組みを、連続ベクトル空間の「潜在的な思考」に置き換えられないか、という研究です。(arxiv.org)
まず、背景からいきましょう。Chain-of-Thoughtは、モデルに「一歩ずつ考えさせる」ことで数学、コード、複雑な推論の性能を上げてきました。ただし弱点もあります。すべての中間計算をテキストとして逐次出力するので、トークン数が増える。遅くなる。しかも、本来は曖昧で連続的かもしれない内部計算を、人間向けの文章にいったん変換しなければならない。論文はここを「離散的・逐次的・コミュニケーション向けのトークン列に推論を押し込んでいる」と見ています。(arxiv.org)
NF-CoTの発想は、その中間思考を文章ではなく、連続状態として生成することです。面白いのは、単に隠れ状態をぐるぐる回すのではなく、normalizing flowを使って「連続的な思考の確率分布」を扱えるようにしている点です。論文ではTARFlow風のnormalizing flowをLLM本体に組み込み、連続思考の位置はNF headが、最終的なテキストは通常のLM headが生成する、という構成を取っています。これにより、左から右への自己回帰生成、確率的サンプリング、KV cacheとの互換性、さらに潜在思考の尤度計算を同時に保とうとしています。(arxiv.org)
ここが今回の肝です。従来の「言葉で考えるAI」では、推論を長くすればするほど、外に出す文章も長くなる。NF-CoTは、推論の一部を内部の高密度な連続表現に移して、最後に答えだけを文章化する方向です。たとえるなら、黒板に全計算を書くのではなく、頭の中で計算してから必要な結論だけ板書する。ただし、その「頭の中」を完全なブラックボックスにせず、normalizing flowによって確率モデルとして扱えるようにする、という設計です。
性能面では、プロジェクトページにコード生成ベンチマークの比較が示されています。同じQwen3-8B-Baseを土台にした比較で、Baseの平均スコア55.8、拡散型のLaDiRが61.6、NF-CoT Unifiedが68.8、さらにRLを加えた版が70.1と報告されています。MBPP、MBPP+、HumanEval、HumanEval+、LiveCodeBench v6を含む比較なので、少なくともコード生成という検証しやすい領域ではかなり強い結果です。(nf-cot.vercel.app)
もう一つ興味深いのは、pass@kの挙動です。NF-CoTはMBPP+でpass@1が72.1とされ、これはベースモデルのpass@128にほぼ並ぶ水準です。さらにk=128では87.5まで伸びたと報告されています。HumanEval+でも78.3から97.5へ上がる。つまり、潜在空間で複数の「考え方」をサンプリングすることで、異なる正解実装を探索できている、という読み方ができます。(nf-cot.vercel.app)
ただし、ここで冷静に見たい点もあります。第一に、主な検証対象はコード生成です。コードはテストで正誤を判定しやすく、RLの報酬も設計しやすい。法律文書、医療判断、長文調査、対話方針のような曖昧なタスクで同じ効果が出るとは、まだ言えません。第二に、プロジェクトページ自身も、デコードされたlatent CoTは「質的なプローブ」であって、内部推論の忠実な自然言語説明ではないと注意しています。これは重要です。見える説明と、実際にモデルが使った内部計算がさらに分離していく可能性があるからです。(nf-cot.vercel.app)
この研究の本当の意味は、「もっと長く考えさせる」競争から、「どの表現空間で考えさせるか」への移行にあります。テキストのChain-of-Thoughtは、人間にとって読める代わりに低帯域です。潜在思考は高帯域で効率的かもしれない代わりに、監査しにくい。今後のLLMエージェントでは、ユーザーに見せる説明、内部で使う推論、外部ツールで検証する証拠を分けて設計する必要が出てくるでしょう。
NF-CoTは、すぐに既存モデルを置き換える決定打というより、「推論を文章として出すことは本当に必要なのか」という問いを、実装とベンチマークで前に進めた研究です。LLMの思考は、読むものから、測るもの・制御するものへ少しずつ変わり始めています。