你有没有过这样的体验——面对一道数学题,脑子里飞速转了好几个念头,但真正写下来的只是其中几个关键步骤?
现在的 AI 恰恰相反。它必须把每一个推理步骤都写成文字,才能继续往下想。这就像一个人必须把脑子里闪过的每个念头都大声说出来,才能进行下一步思考。
效率低,而且不自然。
NF-CoT(Normalizing Flow Chain-of-Thought)提出了一种新范式:让 AI 在连续空间里"默默思考",只在需要输出答案时才回到文字世界。
CoT 的困境
链式思维(Chain-of-Thought)是大模型推理的核心技术。简单说就是"一步步想",把复杂问题拆成中间步骤。
但 CoT 有个根本性的限制:推理必须通过文字 token 进行。 每一步推理都要先变成文字,模型才能基于这些文字继续推理。
这带来三个问题:
- 慢:每个推理步骤都要生成多个 token,推理越长越慢
- 冗余:很多推理步骤是"半成品",还没想清楚就被迫写成文字
- 受限:文字是离散的、线性的,但思维可以是连续的、并行的
之前的尝试包括 Coconut(把推理藏在隐状态里)和 LaDiR(用扩散模型做隐式推理),但各有局限:Coconut 的隐状态是确定性的,无法表达推理路径的不确定性;LaDiR 需要迭代去噪,且没有原生的似然建模。
归一化流:给连续思维一个"合法身份"
NF-CoT 的核心创新是把**归一化流(Normalizing Flow)**嵌入大模型的因果流中,让连续思维和文字输出共享同一个自回归框架。
归一化流是什么?简单说,它是一种可逆的神经网络,能把复杂的数据分布映射到简单的高斯分布,同时精确计算似然。这意味着:
- 可以采样:从高斯分布采样,通过流的逆变换,得到一个连续思维向量
- 可以打分:给定一个连续思维向量,精确计算它的概率
- 可逆:正向和反向都能算,没有信息损失
NF-CoT 把推理过程重新定义为:
问题 → [连续思维向量 e₁, e₂, ..., eₖ] → 文字答案
其中每个 eᵢ 是一个连续向量,由归一化流生成,而不是文字 token。这些向量在模型的因果流中占据和文字 token 相同的位置,但维度更紧凑、信息密度更高。
训练:把文字推理"蒸馏"成连续思维
NF-CoT 的训练过程很巧妙:
- 先有文字 CoT:用传统的链式思维数据作为监督信号
- VAE 编码:把文字推理步骤编码成连续向量,学习一个连续思维空间
- 归一化流建模:用条件归一化流学习 p(e₁:ₖ | 问题),即给定问题生成连续思维向量的分布
- 端到端似然优化:连续思维和文字答案共享同一个 LLM 骨干,联合优化似然目标
关键在于,归一化流提供了精确的似然计算,这让 NF-CoT 可以直接用策略梯度(Policy Gradient)在连续推理空间中做强化学习优化——不需要把推理写成文字,就能奖励好的推理路径。
推理:左到右采样,一步到位
推理时,NF-CoT 的流程是:
- 给定问题
- 从左到右依次采样连续思维向量 e₁, e₂, ..., eₖ(每个向量由归一化流基于前面的上下文条件采样)
- 基于所有连续思维向量,自回归地生成文字答案
整个过程是因果的、自回归的,和传统的 CoT 推理流程完全一致,只是中间的"思考步骤"从文字变成了连续向量。
实验结果
在 MBPP、MBPP+、HumanEval、HumanEval+ 和 LiveCodeBench v6 上:
- NF-CoT 的通过率超过显式 CoT 和之前的隐式推理基线
- 中间推理成本大幅降低(连续向量比文字 token 紧凑得多)
- 支持似然采样和策略梯度优化,这是之前隐式推理方法做不到的
为什么这件事值得关注?
NF-CoT 解决了一个长期存在的矛盾:我们想让模型在连续空间里推理(更高效、更灵活),但又不想放弃自回归语言模型那套成熟的采样、评分、解码接口。
归一化流恰好是连接这两个世界的桥梁——它既能在连续空间里建模概率分布,又能提供精确的似然计算,让连续思维"合法地"融入语言模型的因果流。
这就像给一个只会说英语的人装了一个"内心独白系统"——他可以在脑子里用更高效的方式思考,但需要表达的时候,仍然用英语说出来。思考的过程不需要被任何人听到,但思考的质量反而更高了。
不是每个念头都需要写成文字。有些思考,默默进行就好。
讨论回复
0 条回复还没有人回复,快来发表你的看法吧!
推荐
智谱 GLM-5 已上线
我正在智谱大模型开放平台 BigModel.cn 上打造 AI 应用,智谱新一代旗舰模型 GLM-5 已上线,在推理、代码、智能体综合能力达到开源模型 SOTA 水平。