暂无菜单项

DeepSeek同一道题为何一会儿对一会儿错?字节Seed找到4 Token周期弱点

发布于
12

导读:分块KV Cache压缩让长上下文更省显存,却可能让信息因所处“相位”不同而被区别对待;最高40.2个百分点的差距,藏在平均分看不见的位置。这不是“DeepSeek随机失灵”的简单故事,而是长上下文效率与信息保真之间一次很具体的工程取舍。

同一道代码补全题,代码逻辑、问题和正确答案都没变,只在最前面增减几个没有实际含义的字符,模型给出的答案概率却会明显翻转。字节Seed团队把这种与压缩窗口相对位置有关的现象命名为Phase Sensitivity,相位敏感性。

DeepSeek相位敏感性与Token位置变化的主题视觉
DeepSeek相位敏感性与Token位置变化的主题视觉。

01 / 先看结论:弱点不是随机的,而是按压缩步长周期出现

论文研究的是采用分块KV Cache压缩的长上下文模型。模型把连续Token按窗口压成更少的缓存条目,以降低显存和注意力计算成本。问题在于,同一条信息落在压缩窗口里的不同位置时,后续被检索出来的难度可能不同。

研究团队把Token相对压缩窗口边界的位置称为“相位”。如果压缩步长是4,那么信息会处在4种相位之一;实验发现,性能波动的周期也会接近4个Token。换成步长6或8,波动周期也跟着变化。

字节Seed团队相位敏感性研究论文首页
字节Seed团队相位敏感性研究论文首页。
观察对象 最大位置差异 说明
DeepSeek-V4-Flash-Base 40.2个百分点 128K键值检索,不同相位准确率差异
DeepSeek-V4-Pro-Base 34.8个百分点 基础模型仍有明显周期波动
V4 Flash / Pro后训练版本 19.1 / 14.8个百分点 后训练显著缓解,但没有完全消失
DeepSeek-V4.1-Flash-0910 6.1个百分点 新版差异继续缩小,周期约2个Token

不要误读:40.2个百分点是特定128K检索实验中不同信息位置之间的最大差异,不是DeepSeek V4所有任务的整体准确率下降40.2%。

02 / 多两个Token,代码补全概率为什么会反过来?

团队从DeepSeek-V4-Flash-Base的代码补全行为入手。测试片段与FP8类型转换有关,最后一个Token的正确答案应为“8”,错误候选是“32”。研究人员只在代码前加入由等号组成的装饰性文档字符串,然后逐步改变前缀长度。

装饰性前缀长度改变DeepSeek代码补全答案概率的实验
装饰性前缀长度改变DeepSeek代码补全答案概率的实验。

在论文展示的一组位置中,错误答案“32”的平均概率达到71.3%,正确答案“8”只有26.4%;换到另一组位置后,正确答案“8”的平均概率升至91.5%,错误答案降到7.2%。

变化以4个Token为周期重复:填充长度模4余0或1时更偏向错误答案,余2或3时更偏向正确答案。内容没有变,改变的是关键信息相对压缩窗口的位置。

03 / 128K“大海捞针”:同一条信息换位置,最多差40.2个百分点

单个代码案例可能只是偶然,因此团队又构造了约128K Token、包含约1.6万个键值对的检索任务。键值关系、提问和总长度保持不变,只调整目标信息相对压缩窗口边界的位置。

DeepSeek V4系列在不同信息位置上的长上下文检索准确率
DeepSeek V4系列在不同信息位置上的长上下文检索准确率。

DeepSeek-V4-Flash-Base与Pro-Base都出现明显的周期曲线。后训练版本的波动减小,新版V4.1-Flash进一步缩小差异,说明训练与架构迭代可以缓解相位敏感性,但平均分依旧可能遮住某些位置的薄弱点。

更关键的是,这并不只是“键和值刚好被窗口切开”的边界问题。即使关键信息完整落在同一个压缩窗口里,不同相位之间仍可能出现明显差异,说明问题发生在信息如何写入压缩缓存、以及之后如何被读出的整个过程中。

04 / KV Cache为什么要压缩?因为长上下文实在太贵

大模型生成每个新Token时,需要读取历史Token对应的Key和Value。上下文越长,KV Cache占用的显存越大,注意力计算也越重。代码仓库、长文档和持续数小时的Agent轨迹,很容易把缓存推到部署瓶颈。

分块压缩会把连续Token聚合成更少的缓存条目。例如步长为4时,大致每4个位置产生一个压缩条目。这样可以显著减少长程缓存和检索候选数量,让超长上下文更接近可部署状态。

方案 优势 代价
全注意力 / 不分块压缩 保留更细粒度的位置与内容信息 长上下文显存和计算成本更高
分块KV Cache压缩 缓存更小,长程注意力更高效 可能引入周期性相位弱点
后训练与新版架构 可以显著缩小相位差异 仍需逐相位评测,不能只看均分

05 / 从头训练对照模型:周期跟着步长走

为了排除某个DeepSeek模块或位置编码单独造成问题的可能,团队基于Qwen3-0.6B架构从头训练多组模型,只改变KV Cache压缩方式,并设置全注意力模型作为对照。

全注意力与不同分块KV Cache压缩设置的周期性对照实验
全注意力与不同分块KV Cache压缩设置的周期性对照实验。

结果显示,接受测试的分块压缩模型都会出现与压缩步长对应的周期变化;全注意力基线没有同等程度的周期波动。调整窗口大小时,主周期主要跟随压缩步长,而不是简单跟随窗口宽度。

即使移除RoPE位置编码,或把可学习压缩权重替换为简单平均,现象依旧存在。这说明相位敏感性不是某个单一组件的偶发故障,而可能是分块压缩设计普遍需要面对的副作用。

06 / 模型内部出现了“相位专门化”

研究人员进一步对注意力组件做因果干预,观察移除不同层和注意力头后,各相位的检索能力怎样变化。结果发现,不同组件对不同相位的贡献并不对称:有些头更擅长处理窗口中的某几个位置,另一些头则负责其他位置。

不同注意力层和组件对各个信息相位的因果贡献热图
不同注意力层和组件对各个信息相位的因果贡献热图。
注意力头相位专门化的形成过程、门控分布与因果贡献
注意力头相位专门化的形成过程、门控分布与因果贡献。

论文把这种现象称为Phase Specialization,相位专门化。简化理论模型还显示,训练中的梯度流可能推动压缩模块形成稳定的位置偏好。换句话说,周期弱点并非纯随机噪声,而可能是模型学习“怎样把多个Token压进少量缓存”时自然形成的结构。

07 / 普通用户怎么减少踩坑?不要迷信“前面加两个字符”

既然位置会影响结果,最直觉的做法是给提示词增加随机填充。但这不是可靠修复:你通常不知道模型采用什么压缩配置,也不知道关键内容会落到哪个相位;输入经过模板、系统提示词和分词后,位置还会再次变化。

更实用的做法是:

  • 把关键约束靠近任务末尾再总结一次:不要只在几十万Token之前出现一次。
  • 结构化重复关键信息:对代码接口、数字、格式要求和禁用项,使用短清单再次确认。
  • 长文档先检索再回答:让RAG或工具把相关片段重新放进近期上下文,减少完全依赖远距离记忆。
  • 高风险任务做多位置复测:同一内容使用略有不同的前缀或模板重复测试,结果不一致时不要直接采信。
  • 不要把一次答对当成稳定能力:尤其是超长代码库、合同数字、科研数据和Agent日志。

08 / 开发者和评测者应该改什么?

  1. 按相位分组报告:同一条“针”放到所有压缩相位,分别报告最好、最差与均值。
  2. 随机化信息偏移:训练和评测时改变前缀长度,避免数据总落在少数有利位置。
  3. 检查后训练是否真正改善最差相位:平均分上升,不代表周期弱点已经消失。
  4. 为关键事实保留近期副本:推理系统可以把检索到的重要片段重新注入滑动窗口。
  5. 把稳定性纳入SLA:超长上下文产品不仅要测能装多少Token,还要测位置变化后的输出一致性。

09 / 做视频网观点:1M上下文是容量指标,不是可靠性承诺

上下文窗口能容纳100万Token,只能说明模型和推理系统允许输入这么多内容,不代表每个位置的信息都能被同等稳定地取回。分块KV Cache压缩让长上下文更便宜、更快,这是明确的工程价值;相位敏感性则提醒我们,压缩不是没有信息代价。

这项研究最重要的意义不是告诉用户“DeepSeek不可靠”,而是提出一种更公平的评测方式:不要只把针放一次,也不要只看平均分,要让同一信息跨越所有压缩相位。V4.1与后训练版本已经显示差异可以明显缩小,说明问题可优化,但必须先把它测出来。

一句话总结:分块KV Cache压缩换来了长上下文效率,却可能让模型对不同位置的信息“厚此薄彼”;真正可靠的长上下文,需要同时报告容量、成本和最差位置表现。

相关站内内容

DeepSeek V4.1 Flash更新解析:https://www.zuoshipin.com/article/34481

DeepSeek V4 Flash本地部署与显存分析:https://www.zuoshipin.com/article/23627

DeepSeek V4 Flash Vision架构拆解:https://www.zuoshipin.com/article/30734

FreeToken站内导航:https://www.zuoshipin.com/link/23626.html

论文入口

Periodic Weak Spots:Phase Sensitivity from Chunked KV-Cache Compression

常见问题(FAQ)

DeepSeek V4为什么会出现4个Token周期的性能波动?
论文认为这与分块KV Cache压缩有关。压缩步长为4时,同一信息处在窗口内不同相位会得到不同的保存和检索效果,因此表现呈现约4个Token的周期。
40.2个百分点是否代表DeepSeek整体准确率下降?
不是。40.2个百分点是DeepSeek-V4-Flash-Base在特定128K键值检索测试中,不同信息相位之间的最大准确率差异,不能外推为所有任务的整体下降。
给提示词前面加两个字符能稳定修复问题吗?
不能。系统提示词、模板和分词都会改变最终位置,用户通常也不知道压缩配置。更稳妥的方法是重复关键约束、把重要信息放进近期上下文并进行多位置复测。
DeepSeek V4.1还存在相位敏感性吗?
论文测试的DeepSeek-V4.1-Flash-0910仍有周期差异,但最大位置差异缩小到6.1个百分点,说明架构迭代和后训练能够明显缓解问题。
怎样正确评测采用KV Cache压缩的长上下文模型?
应把同一关键信息放到所有可能的压缩相位,分别报告最好、最差和平均准确率,并测试不同前缀长度、不同上下文规模及后训练版本。
0 点赞
0 收藏
分享
0 讨论
反馈
热门资讯
相关素材

暂无数据