你让一个 AI Agent 连续工作几个小时:读文件、调用工具、修改代码,再把每一步结果带进下一轮。它越往后,随身携带的历史越长。此时,成本不只来自“写答案”,更来自每轮重新阅读旧材料,以及保存阅读过程中产生的大量中间结果。
DeepSeek-AI 的新模型 DeepSeek-V4.1-Flash,瞄准的正是这笔逐渐变大的账。它一边减少读取长输入所需的计算,一边继续压缩 KV Cache——模型生成内容时留在“草稿纸”上的中间结果。团队称,模型常驻显存的 global KV cache 降至每个 Token 890 bytes,约为 DeepSeek-V4-Flash 的四分之一;需要长期保存在 SSD 或主机内存里的 persistent KV cache,则降至约八分之一。
这些数字和性能结论目前都来自 DeepSeek-AI 论文及其发布的 checkpoint,尚无独立复现。论文提供了丰富的架构说明,但没有公开吞吐量、延迟和实际服务成本等关键部署数据。
Agent 的瓶颈正在前移
传统聊天模型的主要工作,是读完问题后逐字生成回答。长程 Agent 不太一样。它会连续执行许多步骤,把对话、工具返回结果和环境反馈不断追加到上下文。任务越长,每一轮需要重读的旧信息通常越多。
模型开始回答前,先要把整段输入读完并建立缓存,这一步叫 prefill(预填充)。当输入很长、输出相对较短时,prefill 可能比后续逐字生成更费资源。缓存未命中时,Agent 还得再次处理历史内容。
KV Cache 可以避免模型每生成一个新 Token 都从头重算,但它也会随上下文增长,占用显存、SSD、主机内存和传输带宽。DeepSeek-V4.1-Flash 因此没有只优化“算得快不快”,而是同时处理计算、存储和搬运三笔开销。
先让长输入少走一半路
DeepSeek-V4.1-Flash 是一个多模态 MoE(Mixture-of-Experts,混合专家)模型,可以接收文本和图像。MoE 像分科问诊:模型拥有许多专家子网络,但每个 Token 只调用少数专家,以减少当次计算。它的语言骨干共有 552B 参数,另有 196B Engram 条件记忆参数,支持最长 100 万 Token 的上下文;这个数字表示设计上限,不等于论文已经证明模型在极限长度下始终稳定。
模型采用 Causal Encoder-Decoder(CED,因果编码器—解码器)架构。40 层语言骨干被分成 20 层编码器和20 层解码器。处理输入时,模型主要让前半部分完成全局信息的计算,再由后半部分从编码器最终状态投影出所需的 global KV,而不是让每个输入 Token 都完整经过后半段计算。
结果是,每个 Token 在逐字生成阶段激活 16B 参数,在 prefill 阶段只激活 8B。论文将整体 prefill 计算描述为接近减半。这很适合输入越来越长的 Agent:它省的不是最后写答案的力气,而是反复翻阅工作记录的力气。
局部信息仍由 Sliding-Window Attention(SWA,滑动窗口注意力)处理,即每个位置重点查看附近一段内容。为了恢复所需的局部状态,系统只重放最近一段 Token,而不是完整重算历史。团队把这项部署优化称为 SWA Bounded Replay(有界重放)。它用少量额外计算换取少存一大块长期缓存。
同一份笔记,多层一起用
缓存压缩的核心是 Compressed Sparse Attention 2(CSA2,压缩稀疏注意力第二版)。所谓稀疏注意力,是模型不再查看全部历史位置,而是先挑出最相关的一小部分。
以往,不同网络层往往各自保存 global KV,也各自重新挑选相关位置。CSA2 把这两件事拆开,并给每层安排三种固定模式:
- Full:生成自己的 global KV,并重新选择 Top-K 相关位置。
- Reindex:沿用前层的 global KV,但重新评估哪些位置最相关。
- Reuse:连 global KV 和前层选好的 Top-K 位置一起复用。
可以把它理解成多人查阅一套档案:不是每个人都复印整柜资料,也不是所有人都必须接受同一张索引表。有人建立档案,有人共用档案但重做目录,还有人连目录也直接沿用。这样既减少重复存储,也保留不同层重新选择信息的机会。
在超长上下文中,即便只挑 Top-K,逐一检查全部历史仍然昂贵。CSA2 又加入 Hierarchical Sparse Indexer(分层稀疏索引器):解码器的第一个 Full 层先扫描完整范围,建立一个较大的候选池;后续 Reindex 层只在池内搜索。论文举例,选择 2,048 个区块、每块 8 个位置,就得到 16,384 个候选位置。候选池大小固定后,后续索引层的搜索量不再随上下文长度继续增长,不过第一次全范围扫描仍然存在。
CSA2 还把 main KV 从 FP8 压到 FP4。FP4 即用大约 4 bit 表示缓存数值,精度更低,但占用也更小。团队在训练阶段就模拟这种量化,并称性能损失很小;对量化更敏感的 SWA KV 则继续使用 FP8。
跨层复用与 FP4 合在一起,把始终驻留 HBM——加速器的高带宽显存——的 global KV cache 压到每 Token 890 bytes,约为 DeepSeek-V4-Flash 的四分之一。SWA Bounded Replay 进一步避免把全部 SWA KV 长期写入 SSD,使 persistent KV cache 约为前代的八分之一。两组数字对应不同缓存,不能合并表述为“总体缓存缩小八倍”。
为什么这一步值得看
它反映了推理优化重心的变化。长程 Agent 不断积累输入,系统需要反复读取、保存和搬运历史状态。模型即使少做了一些注意力计算,也可能继续受限于显存容量、SSD 空间和数据传输。DeepSeek-V4.1-Flash 把模型结构、数值精度和部署策略放在一起设计,处理的正是这组连锁瓶颈。
论文还称,模型把上下文从 4K 延长到 1M、扩大 256 倍时,单 Token 解码 FLOPs(可粗略理解为计算量)只增加约四分之一。预训练使用了包含 45T Token 的多模态语料。基础模型与 DeepSeek-V4-Pro-Base 的知识、推理和编程能力相当,并在留出评测中提高 5%—10%,同时只使用其三分之一总参数和四分之一激活参数。后训练则沿用 SFT、RL 和 OPD 等既有流程,主要变化在数据合成、环境构建和训练规模,而非提出新的后训练算法。
这些结果仍是团队自报。更稳妥的理解是:这篇工作提出了一套针对“输入越来越重”的 Agent 工作负载的完整方案,并给出了有吸引力的缓存账面数字;它是否会转化为同等幅度的真实成本下降,还要看实际系统验证。
局限与未知
- 论文没有披露服务吞吐量、首字延迟、端到端成本或不同硬件上的实测收益,缓存缩小不等于费用按同比例下降。
- 论文称性能优于 baseline,但部分表述没有明确 baseline 身份、完整评测分数及独立复现;“可完成超过 95% 真实任务”等说法也缺少足够口径说明。
- 45T Token 语料的构成、去重方法,以及文本与多模态 Token 的统计方式尚未说明;100 万 Token 也是支持上限,不能直接视为长程稳定性的证明。