内容提要
DeepSeek-V4.1 借鉴 YOCO,提出 CED 结构:decoder 的全局 KV 由 encoder 末态投影得到;prompt 中多数 token 只计算前 20 层,激活参数约 8B,而 decode 阶段使用全部 40 层,约 16B。为补充 decoder 滑窗 KV,采用 Decoder SWA Bounded Replay,仅回放最后 128 个 token,属于近似重建,但开销远低于精确重建。
延伸解读
CED 与 YOCO 的关键差异
CED 在 YOCO 基础上做了三处改动:decoder 每层保留滑窗注意力,使最近 128 个 token 的 KV 经过全部 40 层计算,获得全深度局部信息;encoder 从第 2 层起加入全局注意力,拥有自己的 3 份全局 KV,提升总容量;全局 KV 采用压缩和稀疏读取。这些改动让 CED 的提前退出不再精确,需要额外回放来近似重建 decoder 的滑窗 KV。
回放开销与近似代价
精确重建 decoder 滑窗 KV 需要让最后 2560 个 token 过 20 层,在短 prompt 场景下开销可能数倍于 encoder 本身。Decoder SWA Bounded Replay 只回放最后 128 个 token,将滑窗截断在回放段内,大幅降低开销,但重建结果与完整前向不相等。论文认为有效感受野远小于理论值,且训练时模拟了回放,因此影响可忽略,但未给出具体数字。
8B 与 16B 激活参数的含义
8B 和 16B 是同一份权重在不同阶段的激活参数量。prefill 时,不在最后 128 个 token 内的 prompt token 只计算前 20 层,激活约 8B;最后 128 个 token 和 decode 阶段的新 token 需要过全部 40 层,激活约 16B。模型本身没有变小,只是 prefill 时大部分 token 提前退出,减少了计算量。
需要留意的局限与混淆点
CED 的提前退出不再与完整前向等价,回放得到的滑窗 KV 是近似的,论文在局限性中提及未测边界情况下可能能力下降。此外,CED 不是 T5 式 encoder-decoder,40 层全部因果,无 cross-attention;decoder 的全局 KV 只有一份,并非每层一份;回放的 128 个 token 不重算 encoder,但新内容短于 128 时部分 token 的 encoder 输出来源论文未说明。
Q&A
DeepSeek-V4.1 的 CED 结构是什么?它和 YOCO 有什么关系?
CED(Causal Encoder-Decoder)是 DeepSeek-V4.1 借鉴 YOCO 提出的结构。decoder 的全局 KV 由 encoder 末态投影得到,prompt 中多数 token 只计算前 20 层,激活参数约 8B,而 decode 阶段使用全部 40 层,约 16B。
为什么 DeepSeek-V4.1 在 prefill 时可以让大部分 prompt token 只算前 20 层?
因为 decoder 的全局 KV 全部由 encoder 末态(第 19 层输出)投影得到,不依赖 token 在 decoder 各层的隐藏态。后面的 token 在 decoder 里只会读到 prompt token 的滑窗 KV,而滑窗 KV 只影响最后 128 个 token,所以更早的 token 算完 encoder 就可以停。
CED 在 YOCO 基础上改了哪三处?
第一,decoder 每层保留滑窗注意力,加深生成 KV 的计算深度;第二,encoder 也有全局注意力,提高 KV cache 总容量;第三,全局 KV 是压缩过、稀疏读的,每个 query 只读 512 条。
Decoder SWA Bounded Replay 是什么?为什么需要它?
Decoder SWA Bounded Replay 是 V4.1 用来近似重建 decoder 滑窗 KV 的方法。因为 CED 的提前退出不再精确,需要补上 decoder 最后 128 个 token 的滑窗 KV。精确重建需要让最后 2560 个 token 过 decoder,开销太大;回放只取最后 128 个 token 送进 decoder 的 20 层,开销远低于精确重建。
DeepSeek-V4.1 的 8B 和 16B 激活参数量分别对应什么阶段?
8B 对应 prefill 时不在最后 128 个 token 里的 prompt token,它们只过 20 层,激活参数约 20×374M + embedding 0.66B ≈ 8B。16B 对应 decode 阶段,每个新生成的 token 过全部 40 层,激活参数约 40×374M + embedding 和 LM head 1.3B ≈ 16B。
CED 的提前退出和 YOCO 的提前退出有什么不同?代价是什么?
YOCO 的提前退出是精确的,输出不变;CED 为了让 decoder 保留滑窗注意力,放弃了精确性。回放得到的 decoder 滑窗 KV 和完整前向的结果不相等,这是近似重建。代价是可能在没有测到的边界情况下造成能力下降,论文在局限性中提到了这一点。