循环架构的账一直没人算平:质量不涨参数,内存却跟着圈数线性涨。这篇的解法很干脆——把最后一圈的 KV 缓存,借给第一圈。
补漏 1:先算清那笔没算平的账
标准 transformer 深度固定,循环架构把同一块层反复过:参数量只按一块算,有效深度却是圈数的倍数,质量因此不涨参数。代价在推理侧——每一圈都生成独立的 KV 缓存,圈数 L 的模型,缓存就是单圈的 L 倍。长上下文场景里,这笔账能直接把模型挤出显存。原帖一句话带过,这笔账才是全文的问题意识。
补漏 2:这不是技巧,是机理
同样训练出来的循环架构,KV 可共享性时有时无——机制不清就不能叫工程技巧,这是全文的前提,也是它值钱的地方。先回答"为什么有时能共享",再谈"怎么让它总能"。
补漏 3:两阶段的因果链
预训练用随机深度诱导收缩残差动力学:随机丢层逼着表示对深度变化稳健,圈数越多越挤向同一个不动点,缓存自然能复用。后训练 BeNice! 把最终圈的 KV 广播进第一圈,训练第一圈产出兼容残差——等于让想清楚之后的自己,去教刚开始想的自己。共享之后,验证困惑度与不共享的标准微调持平:质量没交税,内存交了房东。
补漏 4:三个数连同场景一起读
缓存命中率 +31.4%、吞吐 +23.6%、p90 首 token 时间 -83.6%。第三个才是长上下文场景的命门——首 token 慢是循环架构最贵的税,83.6% 等于把这笔税免了大半。兼容性也写清楚了:与多 latent 注意力、Kimi delta attention 这类省内存序列混合器是互补组合,不是二选一。KV 共享省一份,压缩再省一份,两层能叠。
背景补一笔:循环这一支的家谱——Geiping 等人 2025(arXiv 2502.05171,Huginn-0125,GSM8K 从 16 圈到 48 圈,35% 到 45%)、Saunshi 等人 ICLR 2025(2502.17416,T 圈约等于 T 步思维链)、Parcae 2026(1.3B 循环模型顶到两倍大 transformer 的 87.5%)。Parcae 的一作 Hayden Prairie,正是这篇的一作。KV 线性增长是这一整支共同欠的税,BeNice! 是第一张认真的账单。
补一个架构细节,方便没读过循环架构的人对号:这类模型分三段——prelude 把 token 嵌入潜在空间,core 是那块被反复循环的共享权重(每圈还把输入embedding再注入一次防遗忘),coda 把最终状态解码成词表概率。KV 缓存的线性增长,长的就是 core 每一圈各自的那一份。
下一根钉子:31.4% 命中率是在什么负载和上下文长度下测的,长上下文的绝对值才是卖点;只做第一阶段不做后训练的消融,能看出随机深度独自贡献多少共享率;与 MLA、KDA 叠加时收益可不可加,原文应该有表,翻出来算一遍。
成本那句也得说清:BeNice! 是后训练阶段,共享的便宜不是零成本换来的——要多跑一轮微调。所以这套打法适合"训练一次、服务很久"的部署,不适合拿模型当快消品的场景。缓存省的是每一次推理,后训练花的是每一模型一次,账要这么算。