字节跳动 Seed 团队近期的一项研究揭示了 DeepSeek-V4 模型中一个令人费解的现象,即所谓的“神鬼二象性”。研究人员发现,模型的表现并非稳定不变,而是会随着输入信息的位置发生剧烈波动。仅仅在输入中添加几个无关紧要的字符,模型的答案就可能从正确变为错误,这种变化并非偶然,而是呈现出一种周期性规律。
在针对代码补全的测试中,研究人员利用 DeepSeek-V4-Flash-Base 模型处理一段 FP8 量化函数。任务要求模型补全最后一个 Token,正确答案应为 8,但模型却经常给出 32。为了探究原因,研究团队在代码前添加了一串装饰性的等号,却不改变代码逻辑或答案本身。结果令人震惊:随着等号数量的增加,模型的回答在正确与错误之间反复横跳。具体表现为,当填充长度模 4 的余数为 0 或 1 时,模型倾向于错误答案 32(概率高达 71.3%);而当余数为 2 或 3 时,模型则倾向于正确答案 8(概率高达 91.5%)。
为了验证这一现象的普遍性,Seed 团队将测试扩展到了长上下文领域,特别是经典的“大海捞针”任务。他们在 128K Token 的上下文中设置了 1.6 万个键值对,并调整目标信息相对于压缩窗口边界的位置。结果显示,DeepSeek-V4 系列模型的检索准确率呈现出显著的周期性起伏。不同位置之间的准确率差距最大可达 40.2 个百分点。虽然随着版本迭代(如 DeepSeek-V4.1),这种差距有所缩小,但周期性波动依然存在。
深入分析后,Seed 团队将矛头指向了 DeepSeek-V4 采用的长上下文优化技术——分块 KV Cache 压缩。这项技术旨在通过将 Token 分块并压缩来节省内存和计算资源。然而,问题恰恰出在这个压缩过程中。研究人员将信息在窗口内的位置称为“相位”,并发现模型对不同相位的信息存在系统性的差异,即“相位敏感性”。这意味着,即使关键信息位于同一个压缩窗口内,只要其相对位置发生微调,模型的检索能力就会发生改变。
进一步的研究揭示了更深层的原因:模型内部形成了“相位专门化”。不同的注意力头在处理压缩窗口内不同位置的信息时,表现能力各不相同。部分头擅长处理某些位置的信息,而另一些头则在其他位置表现更佳。这种内部分工虽然有助于信息检索,但也导致了某些位置成为模型的薄弱环节。
为了确认这一发现,Seed 团队基于 Qwen3-0.6B 架构从头训练了一批模型,并对比了分块压缩与全注意力模型的表现。结果证实,所有采用分块压缩的模型都出现了与压缩步长对应的周期性波动,而全注意力基线模型则表现稳定。这一波动主要受压缩步长控制,且不依赖于特定的位置编码或复杂的权重设置。
这种位置偏差在常规的 Benchmark 测试中往往被平均分掩盖,难以被察觉。Seed 团队建议,在评估采用分块压缩技术的模型时,不应仅关注整体检索准确率,还应针对不同相位进行专项测试。尽管这种位置带来的性能偏差确实存在,但在长上下文推理对内存和计算资源要求极高的背景下,KV Cache 压缩技术仍然具有不可替代的现实价值。所幸的是,随着后训练和架构的迭代,模型对位置偏差的敏感度正在逐步降低。
