导语:同一段代码,前面只增加无关Token,DeepSeek会改变答案吗?
同一段代码,前面只增加无关Token,DeepSeek会改变答案吗? 作者丨李娜
编辑丨岑峰
这是字节Seed在9月底一项研究中发现的现象。研究人员观察到,DeepSeek-V4-Flash基础模型会随着代码前方无关注释的长度变化,在正确答案“8”和错误答案“32”之间周期性切换。 (雷峰网(公众号:雷峰网))但这个存在于旧版基础模型中的异常,今天还能测出来吗?我们找来Seed论文使用的代码,通过DeepSeek官方API,对现役V4.1-Flash进行了两轮测试。结果与论文中的典型案例并不相同:固定采样的64组全部答对,另一轮测试中正确答案也始终占据预测概率首位,但它得到的概率却随着输入发生变化。为了降低长上下文的推理成本,DeepSeek V4采用了两种交替使用的注意力机制。- CSA(压缩稀疏注意力),将8个Token组成一个压缩窗口,每隔4个Token生成一条压缩记录,再从中筛选与当前问题最相关的信息。
- HCA(重度压缩注意力),压缩得更加激进,每128个Token只保留一条压缩记录,但会读取全部历史压缩记录。
两种机制承担不同的工作:前者尽可能保留细粒度的检索能力,后者以更高的压缩率提供全局信息。论文发现,DeepSeek V4系列的性能漂移与CSA和HCA的分块KV压缩有关。同一条信息只要前后挪动几个token,就可能落入不同的压缩位置,改变保留和检索的效果。研究人员将这种位置称为“相位”(Phase)。如果模型更擅长检索某些相位的信息,却容易忽略另一些相位,即使关键信息本身没有变化,模型也可能从答对变成答错。这就是所谓的“相位敏感性”。图:8 Token压缩窗口、4 Token步幅示意图为了验证这一现象,团队将实验扩展到128K上下文,让模型从1.6万条键值记录中寻找指定信息。结果,DeepSeek-V4-Flash-Base表现最好的位置分组准确率达69.9%,最差的只有29.7%,相差40.2个百分点,且波动周期与压缩步幅一致。Seed进一步基于Qwen3-0.6B架构训练了多组对照模型,尝试排除其他因素。研究人员去掉位置编码RoPE,周期性弱点依然存在;取消可学习的压缩门控,改用均匀平均,弱点也没有消失。当压缩步幅分别设为4、6、8、12时,准确率波动的周期也随之改变,而全注意力对照模型没有出现同样明显的现象。这些实验将问题指向了分块缓存压缩机制,而不只是某次代码补全的偶然错误。当然,40.2个百分点是特定基础模型在受控检索实验中的最好与最差位置差距,不能直接理解为DeepSeek在日常使用中的准确率下降。我们参考论文中的FP8代码补全实验,调用DeepSeek官方API,对现役V4.1-Flash进行了一轮测试。(Seed最初观察到答案翻转的模型是DeepSeek-V4-Flash-Base,目前已无法通过我们使用的官方API调用。)测试方法并不复杂:保持代码不变,只调整前面无关注释的长度,让模型反复补全同一道题。正确答案是“8”,论文中曾观察到模型有时更倾向于错误的“32”。为了尽量减少其他因素的影响,我们取用了论文指定版本的官方推理代码,截取到相同的补全位置。经过Tokenizer核对,代码前缀与论文一致,均为983个Token。接下来,我们在代码前方添加不同长度的无关内容,保持真正需要补全的代码不变。测试共采用四类填充方式,每类设置16种长度,从24个Token逐步增加到39个Token。这样一共得到64组输入,相邻两组的输入Token数只相差1个。 图:实测输入对照,根据保存的API请求整理,两组输入仅增加一个Token。在64次固定采样设置的测试中,模型全部补全为正确答案“8”,没有出现Seed论文中正确答案与错误答案之间的翻转。不过,模型答对了,并不意味着它每次对答案都有同样的把握。我们又进行了64次概率测量,记录模型对正确答案“8”和错误答案“32”的预测偏好。结果,“8”始终是概率最高的候选,但它得到的概率并不固定。在文档字符串这组测试中,仅把前方填充从24个Token增加到25个Token,P(8)就从83.33%升至92.29%。我们把四种填充方式分别统计,发现在这一轮测试里,奇数长度下,“8”的平均预测概率都高于偶数长度,差距在3.6至5.8个百分点之间。不过,这些变化还不能说明我们复现了Seed发现的周期性弱点。虽然四类填充都呈现出奇数长度平均概率更高的现象,但并不是每组相邻输入都遵循这一规律。我们还对8组输入进行了重复测量,发现即使输入完全相同,模型给“8”的概率也会波动,最大相差约5.35个百分点。此外,概率测试中有6次随机生成了错误答案“32”,但这几次模型仍然认为“8”更可能出现,只是最终采样选中了“32”,并不意味着预测偏好发生了逆转。因此,这组实测没有观察到Seed论文中的答案偏好翻转,但记录到了不同填充长度下的概率变化。考虑到我们测试的是更新的V4.1-Flash,而且尚未完全排除填充内容和接口波动的影响,还不能把这种变化归因于缓存压缩架构。我们没有在此次测试中观察到答案翻转,但这不意味着V4.1已经完全消除了这一问题。Seed论文也曾在V4.1的部分测试条件下发现周期性的预测偏好变化。不同的输入设置和模型调用方式,都可能影响最终结果。不过,从长上下文检索实验来看,DeepSeek的新版本确实出现了明显改善。Seed论文显示,V4-Flash基础模型最好与最差相位的准确率相差40.2个百分点,经过后训练后缩小至19.1个百分点;到了9月发布的V4.1-Flash,这一差距进一步降至6.1个百分点。值得注意的是,V4.1并没有放弃缓存压缩,反而进一步提高了压缩效率。DeepSeek将部分压缩路径的步幅从4个Token缩小至2个Token,并采用新的Causal Encoder–Decoder(CED)架构,结合跨层缓存复用、低精度KV存储等技术继续降低成本。根据DeepSeek官方数据,相比上一代,V4.1的KV Cache显存需求降至四分之一,持久化缓存存储需求降至八分之一。图2|不同版本在最好和最差相位上的准确率差异(据Seed论文数据制图)2025年2月,Seed参与的FlexPrefill研究尝试根据输入内容动态选择需要计算的注意力位置;今年9月,另一项PISA研究又提出通过分层检索降低稀疏注意力的计算开销。值得注意的是,FlexPrefill作者之一Yiyuan Ma,也是此次发现DeepSeek周期性弱点论文的通讯作者。Source:https://www.leiphone.com/category/yanxishe/46BrtW83OYjXUx0b.html