Paper Note · Latent Reasoning

NF-CoT:把 Chain-of-Thought 迁移到可采样的连续潜变量空间

NF-CoT 的关键不是简单把思考藏进 hidden state,而是用 normalizing flow 给连续思考补回显式 CoT 原本拥有的接口:左到右生成、概率采样、精确似然、KV-cache 友好和可接入 GRPO 式强化学习。它更像一次“reasoning trajectory 的概率建模改造”,而不是单纯节省 CoT token 的压缩技巧。

64论文主设置中的 continuous thought slots
+13.0Qwen3-8B-Base 平均 pass@1 提升
1.92×相对 LaDiR 的端到端推理加速
70.1Unified + RL 后五项代码评测平均 pass@1

核心判断

显式 CoT 的缺点很明显:它冗长、低带宽、昂贵,还强迫模型把内部语义更新逐字转成自然语言。但它有一个经常被低估的优点:文本 CoT 天然适配自回归语言模型的训练、采样、打分和 RL 接口。每个中间 token 都有 logprob,可以 KV-cache 解码,可以 sample 多条路径,也可以纳入 policy-gradient 目标。

许多 latent reasoning 方法试图摆脱文本,却同时丢掉了这些接口。Coconut 类 hidden-state feedback 高效但偏确定性;diffusion latent 方法有随机性但采样慢,likelihood 也不自然;soft token / embedding mixture 仍然强绑定词表空间。NF-CoT 的真正贡献,是把 continuous thoughts 重新做成一个概率模型:既不是不可控 hidden state,也不是迭代 denoising latent,而是一串可以像 token 一样左到右生成和评分的连续变量。

不是隐藏 CoT

它并不只是把文字思考藏起来,而是定义连续 thought trajectory 的条件分布。

不是普通压缩

VAE 压缩只是前置目标空间;normalizing flow 负责把该空间重参数化为 LLM 可建模的 causal thought space。

不是纯效率技巧

节省 token 成本重要,但更关键的是 exact likelihood 让 latent thoughts 可以参与监督训练与 RL 后训练。

最重要的 insight

NF-CoT 把“思考”从自然语言 token 迁移到 continuous action space,但没有放弃语言模型最有价值的接口。它试图回答的问题不是“LLM 能不能不用文字思考”,而是“如果不用文字思考,还能不能采样、打分、训练、RL 和高效解码”。

问题背景:latent CoT 为什么难

从概率视角看,CoT 可以被理解成 prompt 和 answer 之间的中间变量。给定问题 \(q\)、答案 \(x_{1:N}\)、文本推理链 \(d_{1:L}\),显式 CoT 相当于把直接预测 \(p(x\mid q)\) 改成经过中间路径的条件预测:

\[ p_{\theta}(x_{1:N}\mid q)=\sum_{d_{1:L}}p_{\theta}(d_{1:L}\mid q)\,p_{\theta}(x_{1:N}\mid q,d_{1:L}) \]

文本 CoT 的问题是它把内部计算塞进离散、串行、面向沟通的 token channel。模型可能只需要一个粗略语义方向、一个不完整假设或一个算法选择,却必须先把它写成一串语言 token,然后才能继续。这会带来推理成本、延迟和表面形式绑定。

连续 CoT 的直觉是把 \(d_{1:L}\) 换成更短、更高带宽的连续变量 \(e_{1:K}\in\mathbb{R}^{K\times D}\)。但问题随即出现:连续变量如果没有可计算概率分布,就无法像 token 一样训练和 RL;如果靠 diffusion 生成,又会失去一次左到右解码和 KV-cache 友好的优势;如果只是循环 hidden state,则很难得到多条可评分的 reasoning trajectory。

四类 CoT 范式的取舍
范式中间推理表示优势核心代价
Explicit CoT自然语言 token自回归、可采样、可评分、可 RL冗长、低带宽、强绑定表面语言
Coconut / hidden feedbackhidden state 或 embedding feedback高效、接近原模型内部表示多为确定性路径,缺少显式 trajectory distribution
LaDiR / diffusion latentVAE latent + diffusion 生成连续且随机,可表示 latent trajectory迭代 denoising 慢,精确 likelihood 不自然
NF-CoTnormalizing-flow continuous thoughts随机采样、精确似然、左到右、KV-cache 友好依赖 CoT 压缩目标,解释性和跨任务泛化仍需验证

机制拆解:从文本 CoT 到 LLM-facing continuous thoughts

NF-CoT 的 pipeline 可以拆成五步。训练时,它从显式 CoT 文本中提取连续 target;推理时,它不再运行 VAE 编码分支,而是直接在 LLM-facing thought space 中采样连续变量,再继续生成答案。

显式 CoT

训练样本包含 prompt、文本 rationale 和最终答案。

VAE 压缩

frozen encoder 把文本 CoT 压成固定长度连续 latent \(e\)。

Flow 重参数化

可逆浅层 flow 把 \(e\) 变成更适合 LLM 自回归建模的 \(u\)。

共享 causal stream

LLM 同时处理 prompt、continuous thoughts 和 answer tokens。

答案生成 / RL

NF head 评分 latent,LM head 评分文本,联合构成 policy。

1. VAE target:把文本 rationale 压成连续变量

论文先使用一个 frozen CoT encoder,把显式文本推理链 \(d_{1:L}\) 压缩成 \(K\) 个连续 slots。实验主设置是 \(K=64\),维度与 Qwen3-8B hidden size 对齐。这里要注意:NF-CoT 的 latent thoughts 并不是完全自发涌现的“非语言思考”,而是从显式 CoT supervision 蒸馏出来的连续表示。

2. Shallow flow:把 VAE latent 变成可建模的 thought space

VAE latent \(e\) 主要为文本压缩服务,不一定适合 prompt-conditioned autoregressive generation。NF-CoT 引入可逆变换:

\[ u_{1:K}=F_{\theta}(e_{1:K};q) \]

这里 \(u\) 是 LLM-facing continuous thought space。因为 \(F_{\theta}\) 是 normalizing flow,理论上 \(e\) 与 \(u\) 信息等价;浅层 flow 不是压缩器,而是重参数化器。这个选择让模型既能继承 VAE 对文本 CoT 的压缩能力,又能把生成任务放到更适合 causal LLM 的空间里。

3. Deep flow:把 LLM backbone 变成连续 thought 的自回归密度模型

在 \(u\)-space 中,NF-CoT 定义一个左到右的条件高斯密度:

\[ p_{\theta}(u_{1:K}\mid q)=\prod_{i=1}^{K}\mathcal{N}\left(u_i;\mu_{\theta}(q,u_{\lt i}),\operatorname{diag}(\sigma^2_{\theta}(q,u_{\lt i}))\right) \]

LLM 在 continuous-thought 位置输出 \(\mu_i\) 和 \(\sigma_i\),在 answer-token 位置输出普通 token logits。也就是说,同一个 causal backbone 上挂了两种 head:NF head 负责连续变量,LM head 负责离散文本。

Unified 版本为什么更强

Dual-Path 版本把 latent-flow 路径和答案生成路径分开,容易出现训练目标、latent interface 与推理 trajectory 不一致。Unified 版本把 continuous thoughts 和 answer tokens 放进同一条 causal sequence:同一个 latent prefix 既被 NF head 评分,也被 LM head 用来预测答案,因此训练目标更贴近推理时实际路径。

“精确似然”到底精确在哪里

normalizing flow 的核心价值是可逆变换带来的 change-of-variables 公式。对条件 flow 而言,如果 \(z=f^{-1}_{\theta}(y;c)\),那么:

\[ p_{\theta}(y\mid c)=p(z)\left|\det J_{f^{-1}_{\theta}}(y;c)\right| \]

NF-CoT 用这个性质计算原始 VAE continuous CoT target 的 likelihood:

\[ \log p_{\theta}(e_{1:K}\mid q)=\log p_{\theta}(u_{1:K}\mid q)+\log\left|\det J_{F_{\theta}}(e_{1:K};q)\right| \]

这就是论文中“exact likelihood”的具体含义:不是说模型推理一定正确,也不是说 latent 就是人类可读思维,而是说在该连续变量模型下,latent trajectory 的 log-density 是 tractable 的,可以直接放进监督训练和 policy-gradient 目标里。

对 latent thought

NF head 给出连续高斯条件密度,加上 flow 的 log-determinant,可以精确计算 latent target 的负对数似然。

对 answer token

LM head 仍然使用标准自回归 cross entropy,条件上下文包含 prompt 与已采样的 continuous thought prefix。

最终监督目标可以写成:

\[ \mathcal{L}_{\mathrm{sup}}=\lambda_{\mathrm{flow}}\mathcal{L}_{\mathrm{flow}}+\lambda_{\mathrm{text}}\mathcal{L}_{\mathrm{text}} \]

这也解释了为什么 NF-CoT 比许多 latent reasoning 方法更容易接入现有训练框架:它不是一个不可微、不可评分的“内部思考模块”,而是一个显式概率模型。

训练与推理:关键是训练期复杂、推理期直接

训练期:两阶段 curriculum

论文使用两阶段训练。第一阶段冻结 LLM backbone,只训练 shallow flow blocks 和 continuous-thought projection 层,让随机初始化的 flow interface 先对齐 pretrained LLM 空间;第二阶段再解冻全部参数做端到端联合训练。消融显示,如果跳过第一阶段,HumanEval、HumanEval+ 与 LiveCodeBench v6 都会下降。作者的解释是:未校准的 NF 分支过早把大梯度打到 pretrained backbone,尤其影响最终 transformer layer。

这个 curriculum 的工程含义很清楚:当你往成熟 LLM 里插一个新的连续 action interface 时,不能让 backbone 一开始就替随机接口背锅。先把接口校准好,再共同优化。

推理期:跳过 VAE 和 shallow blocks,直接采样 \(u\)

推理时,NF-CoT 不再需要文本 CoT,也不运行 VAE encoder。模型给定 prompt 后,在 \(u\)-space 中左到右采样 continuous thoughts,然后切换到 LM head 继续生成答案。由于 thoughts 和 answer tokens 在同一个 causal stream 中,采样 latent 时建立的 KV cache 可以继续用于 answer decoding。

这正是它相对 diffusion latent 方法的效率来源:LaDiR 需要 30 步 denoising 来生成 latent trajectory,而 NF-CoT 像生成 token 一样生成 64 个 continuous thought slots,没有迭代去噪链。

推理语义

NF-CoT 的连续 thought 不是“先生成一段隐藏草稿,再重新读一遍草稿”。它更像在标准 autoregressive decoding 中插入一段 soft-token reasoning prefix,后续答案生成直接继承这段 prefix 的 KV cache。

为什么它能接 GRPO:latent thoughts 也是 policy actions

NF-CoT 最有价值的部分之一,是它把 continuous thought trajectory 纳入 policy likelihood。对采样到的 latent-answer trajectory \((\tilde{u}_{1:K},\hat{x}_{1:\hat{N}})\),policy logprob 可以分解成:

\[ \log\pi_{\theta}(\tilde{u},\hat{x}\mid q)=\log p_{\theta}(\tilde{u}_{1:K}\mid q)+\log p_{\theta}(\hat{x}_{1:\hat{N}}\mid q,\tilde{u}_{1:K}) \]

第一项来自 NF head 的连续高斯 likelihood,第二项来自 LM head 的 token likelihood。于是 unit-test reward 这类 verifiable feedback 不只更新最终答案 token 的分布,也可以更新“哪些 latent reasoning path 更可能通向正确答案”。

论文使用 GRPO-style objective:同一 prompt 下采样一组 trajectories,根据执行 reward 做组内标准化 advantage,再对整条 latent-answer trajectory 做 policy gradient。这个设计把 RL 的动作空间从“只选择下一个 token”扩展为“先选择一条连续思考轨迹,再选择答案 token”。

Token-space RL 与 NF-CoT latent-space RL 的差异
维度Token-space GRPONF-CoT latent-space RL潜在影响
动作答案 token 或显式 reasoning token连续 thought slots + 答案 tokenreward 可以影响内部解法选择
多样性来源token sampling temperature / top-platent Gaussian noise + answer sampling更可能改变算法策略,而非只改表面措辞
训练信号token logprob ratiolatent trajectory likelihood + token likelihood允许对 reasoning path 做 policy optimization
风险mode collapse、长度偏置、模板化latent distribution 也可能塌缩或继承 CoT/VAE 偏差仍需 pass@k、结构多样性和 held-out verifier 监控

关键证据:性能、效率、多样性与鲁棒性

主结果:Qwen3-8B-Base 上平均 pass@1 明显提升

论文在 MBPP、MBPP+、HumanEval、HumanEval+、LiveCodeBench v6 上评估代码生成。Qwen3-8B-Base 平均 pass@1 为 55.8;LaDiR 为 61.6;NF-CoT Dual-Path 为 65.2;NF-CoT Unified 为 68.8;Unified 加轻量 RL 后达到 70.1。这个结果说明:在作者设定下,收益不只是来自“更多 CoT 数据的 SFT”,因为同 backbone 的 Standard SFT 在四个共享非 LCB benchmark 上提升明显小于 NF-CoT。

论文主表中的同 backbone 方法对比
方法BaseMBPPMBPP+HumanEvalHumanEval+LCB v6Avg.
Qwen3-8B-BaseQwen3-8B-Base60.553.878.268.617.755.8
LaDiRQwen3-8B-Base66.859.587.473.221.361.6
NF-CoT Dual-PathQwen3-8B-Base77.566.282.977.721.665.2
NF-CoT UnifiedQwen3-8B-Base83.972.185.878.323.768.8
NF-CoT Unified + RLQwen3-8B-Base85.473.386.780.225.170.1

Pass@k:latent sampling 似乎真的在探索不同解法

论文报告 MBPP+ 上 NF-CoT 的 pass@1 为 72.1,已经接近 base model 的 pass@128 约 72.0;NF-CoT 自身到 pass@128 可达 87.5。HumanEval+ 上,NF-CoT 从 78.3 提升到 97.5。这说明它不是简单把单个最优模板概率抬高,而是保留了多样采样空间。

更有意思的是,作者比较 token-space GRPO 和 NF-CoT latent-space RL:token-space GRPO 低 k 区域提升,但高 k 更容易饱和;NF-CoT + RL 则同时提升 pass@1 并保持 pass@k 上升趋势。这个结果支撑了一个重要假设:在 latent space 做 policy refinement,可能比直接在 token space 做 RL 更不容易压扁解法分布。

效率:与 diffusion latent 相比,主要省在 latent generation

HumanEval 推理效率对比
方法Latent 生成答案解码总时间Samples/sFLOPs/sample
NF-CoT Unified173.5s152.1s325.6s8.0619.9T
NF-CoT Dual-Path232.3s147.7s380.0s6.9021.6T
LaDiR468.2s157.1s625.3s4.2049.3T

作者报告 NF-CoT Unified 相比 LaDiR 端到端快 1.92×,per-sample FLOPs 约少 2.48×;训练阶段 sample throughput 约高 2.85×,总 FLOPs 约少 6.66×。这些数字与方法机制一致:LaDiR 的成本来自多步 denoising,NF-CoT 的成本来自一次自回归 latent pass。

定性案例:latent 不只是改变量名,而是改变算法路线

论文 Appendix 中给出 HumanEval 例子:同一个 fibfib 问题,NF-CoT 不同 latent samples 可以导向 rolling three-state DP、显式 tabulation list、recursive memoization 三类通过测试的实现;encrypt 问题中,也能导向 alphabet-index lookup 或 ASCII modulo arithmetic。作者还用 AST 结构相似度比较 passing programs,NF-CoT 的平均 intra-prompt similarity 低于 base model,说明多样性不只是自然语言 reasoning 的表面变体。

鲁棒性:扰动 latent 改变形式多于改变功能

论文还做了 latent perturbation:对 sampled continuous-CoT trajectory 加高斯噪声。随着噪声强度增大,cosine similarity 明显下降,exact-text match 大幅下降,但 pass@1 基本保持在相近区间。这支持一个判断:learned continuous-CoT 更像分布式控制变量,局部扰动会改变实现形式或策略细节,不一定破坏功能正确性。

术语解释与概念边界

Chain-of-Thought模型在最终答案前生成的中间推理轨迹。它可以提升复杂任务表现,但文本形式成本高、解释忠实性也不天然成立。
Latent CoT把中间推理从自然语言 token 换成连续向量、hidden state 或 soft embedding。核心难点是如何保留可采样、可评分和可训练的概率接口。
Normalizing Flow一类可逆生成模型,通过把复杂数据分布映射到简单 base distribution 来获得精确 likelihood 和直接 sampling。
TARFlow / STARFlow面向高维结构数据的 Transformer autoregressive flow 家族。NF-CoT 借鉴其 deep-shallow 设计,把 flow 放进 LLM causal stream。
Exact Likelihood这里指在定义好的 continuous latent model 下,trajectory density 可以精确计算;不等于 high likelihood 就代表推理正确。
KV Cache自回归解码中缓存历史 key/value,避免每步重算前缀。NF-CoT 的 latent thoughts 与答案处在同一 causal stream,因此可以继承这个效率优势。
GRPOGroup Relative Policy Optimization。同一 prompt 下采样一组输出,用组内 reward 相对值构造 advantage,常用于 verifier-based reasoning RL。
Pass@k采样 k 个候选时至少一个通过测试的概率。它不仅测单样本质量,也反映采样分布是否覆盖多种正确解法。

边界与风险

不要把 NF-CoT 误读成“可解释性已解决”

作者在回复中提到 continuous thoughts 可 invert / decode 成文本用于 inspection,但论文 Appendix 明确说 decoded latent CoTs 是 qualitative probes,不是 faithful natural-language explanations。Flow 的可逆性保证的是 \(e\) 与 \(u\) 的信息等价,不保证 VAE decoder 输出的文字就是模型真实思维。

1. 代码生成不等于通用 reasoning

NF-CoT 当前证据主要来自代码任务。代码生成有天然 unit tests、pass@k 诊断和多种等价实现,因此特别适合 latent trajectory sampling 与 execution-guided RL。数学证明、多跳知识问答、开放式规划、科学推理是否同样收益,需要额外验证。

2. 它仍然依赖显式 CoT 与 VAE target

NF-CoT 不是从零发现纯粹内部推理空间。它先把显式 CoT 文本压缩为 VAE latent,再学习其 prompt-conditioned distribution。因此,原始 CoT 数据质量、VAE bottleneck、固定 latent slots 和文本 rationale 的偏差都会影响最终模型。

3. Exact likelihood 不是 correctness oracle

normalizing flow 提供的是 density,不是正确性判别器。高 likelihood latent 可能只是训练分布常见,不一定导向正确答案;低 likelihood latent 也可能对应创新解法。最终 correctness 仍然依赖 answer generation、verifier 和泛化评测。

4. 开源前结果需要复现

发布帖中写明代码和模型尚待开放。代码 benchmark 对 prompt wrapping、数据污染、采样协议、baseline 调参和执行环境都很敏感。主结果在开源复现前应视为强信号而不是最终定论。

5. Latent RL 也可能塌缩

论文展示 NF-CoT + RL 在 pass@k 上未明显 collapse,但这不是理论保证。若 reward 过窄、verifier 可被 hack、latent temperature 过低或 PPO/GRPO clipping 不当,continuous thought distribution 仍可能集中到少数模板。

工程 / 研究启发

把 reasoning budget 从 token 数改成 latent slots

如果 NF-CoT 方向成立,未来 reasoning model 的预算不一定只表现为输出更长 CoT。系统可以分配固定数量或动态数量的 continuous thought slots,让模型在内部做高带宽计算,对外只输出简洁答案。这会改变成本、延迟、可见 CoT、隐私与安全策略。

Test-time search 可以先搜索 latent,再生成 token

传统 best-of-k 多在 token 空间采样答案。NF-CoT 暗示另一种路线:先采样不同 latent reasoning trajectories,再由同一个 answer decoder 生成候选,并用 verifier 选择。这种 upstream stochasticity 更可能改变算法路线,而不是只改措辞、变量名或解释风格。

RL 后训练可以优化“想法分布”

在普通 token RL 中,reward 主要改变答案 token 分布;在 NF-CoT 中,reward 可以同时改变 \(p(u\mid q)\) 和 \(p(x\mid q,u)\)。这使 RL 更接近训练一个隐式 problem-solving policy:哪些内部连续轨迹更可能带来可验证成功,哪些应该降低概率。

Latent reasoning 系统需要新的可观测性

如果模型越来越多地在不可读 continuous space 中推理,监控不能只看最终答案。工程系统需要记录 latent likelihood、latent temperature、trajectory diversity、pass@k 曲线、结构化输出多样性、decoded-probe consistency 和 verifier disagreement。否则“隐藏思考”会把错误从可见文本挪到不可见空间。

面向实践的判断

NF-CoT 最适合优先尝试在有 verifier 的任务上:代码、形式化数学、工具调用规划、可执行数据分析、可单元测试的 agent 环境。没有 verifier 的开放式任务可以借鉴其接口设计,但不要期待 latent likelihood 自动替代正确性评估。

证据边界与资料索引

本文基于公开 X 发布线程、项目页、arXiv 论文正文与 STARFlow 公开介绍整理。性能、效率、消融和案例分析来自作者论文与项目页报告;代码和模型在材料发布时尚未开放,因此本文没有把实验结果视为已独立复现结论。社交平台内容可能随时间变化,最终技术细节应以论文版本、项目页和后续开源仓库为准。