有些问题需要串行的步数
「A 的老板的母校在哪个城市?」可以按老板、母校、城市逐步查。这说明中间结果可能有用,但不是计算下界:并行算法、不同表示和已有知识,都可能减少串行步骤。多位数加法也一样:常见做法是逐位进位,但这只是一种算法,不代表加法只能逐位计算。
在一次固定前向里,循环增加的是串行的网络计算深度,不是自动多出一步正确推理。下面刻意假设一次只能跟一条链接,用来演示预算变化;真实 attention 一次能汇总多个位置,不受“一层一跳”这个玩具规则限制。
理论和实验怎么说
- Giannou 等(2023)给出执行程序的构造,说明某种网络可以表达这些计算,不代表语言模型(language model, LM)只靠 next-token training 就会学会同样的程序。
- Yang 等(2023)研究特定的 in-context 学习任务,展示共享参数的效率;不能把这项实验推广成所有语言任务的压缩比例。
- Saunshi 等(2025)比较共享与不共享深度,在所测推理任务上观察到循环模型的参数效率。先看清比较中哪些东西相同:
$$D_{\text{shared}}=D_{\text{untied}}=kL,\qquad P_{\text{shared block}}=kP_{\text{layer}},\quad P_{\text{untied block}}=kLP_{\text{layer}}$$
这只是相同宽度、忽略额外组件时的参数账,不是准确率公式。该研究在困惑度(perplexity)和部分记忆任务上也观察到取舍,不能概括成“推理只看深度、不看参数”。

和 CoT 的关系
Chain-of-thought 靠生成中间 token增加计算;使用 KV cache 时,每一步是新位置经过整个网络,不是重算全部前缀。循环是在隐藏状态(hidden state)里继续更新,不必为每圈输出一个 token。两者可以一起用;看得见的 CoT 也不自动等于模型真实的决策过程。多生成 token 属于测试时计算(test-time compute)里的“串行”一轴,它和多采样的“并行”一轴怎样比较,见推理模型与测试时计算。
Saunshi 等的定理给出了 looped 模型模拟固定长度 CoT 的存在性构造,需要增加宽度、head 和占位 token。它不是“把任意现成 LLM 的权重循环起来就与 CoT 等价”,也没有保证训练会找到那组参数。
边界
更多计算可以帮助利用已有信息,但不会引入未提供的外部事实。比如题目缺了“老板毕业于哪所学校”,多转几圈不等于查到了它;需要检索(retrieval)或补充输入。至于参数到底能存多少知识,Ouro 的合成实验是一种测量,不是所有模型的容量定理,见代价与局限。
本页术语 4
- 语言模型 language model, LM
- 对文本序列建模,用上下文预测或生成后续内容
- 困惑度 perplexity
- exp(交叉熵),语言模型的常用指标
- 隐藏状态 hidden state
- 递归模型在时间步之间传递的压缩表示
- 检索 retrieval
- 从外部语料里找出相关内容