DeepSeek V4 是一次很典型的“大模型进入长上下文工程化阶段”的发布。它不像早期模型那样只强调参数规模、训练 token 数或 benchmark 分数,而是把目标明确放在 百万 token 上下文下仍然可训练、可推理、可服务、可后训练 这件事上。

根据 DeepSeek 官方技术报告,DeepSeek V4 Preview 系列包含两个 MoE 模型:

模型总参数每 token 激活参数目标定位DeepSeek-V4-Pro1.6T49B高能力、长上下文、强推理与 AgentDeepSeek-V4-Flash284B13B高效率、低成本、快速响应

官方发布页同时说明,两个模型都支持 1M 上下文,并提供 Thinking / Non-Thinking 双模式。论文中最值得关注的不是“1.6T 参数”本身,而是 DeepSeek 为了让模型真正读得下、记得住、算得快,重新设计了一整套机制。可以先把它们理解成下面几件事:

  • 让模型先做摘要,再重点阅读(CSA + HCA 混合注意力):面对百万 token 的超长输入,模型不会逐字逐句反复看所有内容,而是先把长文本压缩成更短的“信息块”,再从里面挑出最相关的部分重点读取。这样既能保留长文信息,又能大幅降低计算成本。

  • 给深层网络增加更稳定的信息通道(mHC):大模型有很多层,信息在层与层之间传递时容易变弱、混乱或不稳定。mHC 可以理解成给模型增加了多条受约束的“信息高速路”,让重要信号更稳定地穿过很深的网络。

  • 换一种更适合大模型训练的更新方法(Muon 优化器):训练模型本质上是在不断调整参数。Muon 做的是让参数更新方向更规整、更稳定,减少训练过程中的抖动,帮助超大模型更顺利地收敛。

  • 用更低精度保存和计算关键权重(FP4 量化感知训练):很多模型参数不一定需要用很高精度保存。DeepSeek 在训练时就让模型适应 FP4 这种更省空间的表示方式,从而减少显存和计算压力,尤其适合 MoE expert 和长上下文索引模块。

  • 重新设计模型的“短期记忆系统”(KV cache 与推理系统):长上下文模型推理时需要保存大量历史信息。V4 不再用一套简单 cache 存所有内容,而是把压缩信息、局部窗口、共享前缀等分开管理,甚至可以把部分缓存放到磁盘上复用。

  • 先训练多个专科老师,再合并成一个全能学生(专家后训练 + OPD):DeepSeek 先分别训练数学、代码、Agent、指令跟随等方向的专家模型,再让最终模型学习这些专家的输出习惯,把多种能力整合到一个模型里。

  • 让模型更适合当 Agent 使用(工具调用与交互优化):V4 针对真实 Agent 场景做了很多改造,比如更稳定的工具调用格式、跨多轮工具调用保留思考状态、快速判断是否需要搜索或调用工具,以及用于训练 Agent 的沙盒环境。

下面按照“模型结构 -> 训练优化 -> 推理系统 -> 后训练 -> 工程启发”的顺序拆解。

DeepSeek V4 的核心目标:把 1M 上下文变成默认能力

可以先用一个简单类比理解长上下文的困难:让模型处理 1M token,就像让一个人一次读完一整本很厚的书,然后每回答一句话,都要随时翻回前面所有章节查证。如果每次回答都从头到尾重新翻书,速度会非常慢,成本也会非常高。

传统 Transformer 的注意力机制接近这种做法。每生成一个新 token,模型都可能需要查看前面大量 token;输入越长,需要保存和计算的历史信息就越多。上下文从 128K 扩到 1M 后,问题会被放大很多:

  • 记忆太占空间:模型推理时需要保存前文的中间信息,也就是 KV cache。上下文越长,这部分显存占用越大。

  • 查找太费计算:模型不是简单读文本,而是在大量历史 token 之间计算相关性。上下文越长,注意力计算越容易成为主要瓶颈。

  • 重复读前文太浪费:很多请求会共享同一段长前缀,比如同一份文档、同一个代码仓库。如果每次都重新处理这段前缀,成本会很高。

  • 训练和后训练更难调度:如果训练过程中每条样本都可能有百万 token,数据搬运、显存管理、失败恢复都会变复杂。

  • Agent 更依赖长期记忆:真实 Agent 任务往往有多轮对话、工具调用、文件修改和结果回看。模型不仅要看得长,还要稳定管理这些长期状态。

DeepSeek V4 的设计思路是:不要让模型每次都逐字翻完整本书,而是让它学会先做摘要、建立索引、保留最近细节,再按需要回看重点内容

论文给出的效率结果很激进:在 1M-token 上下文下,V4-Pro 相比 DeepSeek-V3.2 只需要约 27% 的 single-token inference FLOPs、约 10% 的 KV cache;V4-Flash 更进一步,约为 10% FLOPs、7% KV cache。这个结果来自一组协同设计,而不是单一 trick。

继承 DeepSeek-V3 的部分:MoE + MTP

V4 没有推倒重来。它保留了 DeepSeek 系列已经验证过的两个关键结构:

第一是 DeepSeekMoE。FFN 采用 MoE 形式,包含细粒度 routed experts 和 shared experts。V4 仍然是每个 token 只激活少量 expert,因此总参数可以很大,而单 token 计算量可控。

第二是 MTP(Multi-Token Prediction)。MTP 让模型在训练中预测多个后续 token,它不是 V4 的新发明,但继续被保留。直觉上,MTP 可以提高训练信号密度,并且与推理加速、投机解码等方向有潜在协同。

V4 在 MoE 上也做了一些更偏工程稳定性的调整。可以把 MoE 理解成一个“专家团队”:模型不是每次都让所有专家一起工作,而是先判断当前 token 更适合交给哪些专家处理,然后只激活其中少数几个专家。这样总专家数量可以很多,但每次实际计算量不会爆炸。

这些调整大致可以这样理解:

  • 专家选择更平滑:模型需要给每个专家打分,决定当前 token 该交给谁。V4 改了这个打分函数,让专家分配不那么生硬,训练时更稳定。

  • 避免专家冷热不均:如果大部分 token 都挤到少数几个专家那里,其他专家闲着不用,MoE 的优势就浪费了。V4 继续使用不依赖额外辅助损失的负载均衡方式,并加了一个很小的序列级约束,尽量让同一段输入里的 token 不要过度集中到少数专家。

  • 更早引入专家路由:传统 Transformer 前几层通常是普通 dense FFN,也就是所有 token 都走同一套前馈网络。V4 把初始若干层也替换成基于 Hash routing 的 MoE,让模型更早就开始按 token 类型分流处理。

  • 专家很多,但每次只用少数几个:V4-Pro 每层有 384 个 routed experts,但每个 token 只激活 6 个;V4-Flash 每层有 256 个 routed experts,每个 token 也只激活 6 个。这就是 MoE 的核心优势:模型总容量很大,但单次计算只走一小部分路径。

这些调整看起来不像 CSA/HCA 那样显眼,但它们很重要。因为 MoE 一旦专家分配不稳定、负载不均衡或路由过度抖动,后面的长上下文训练和大规模推理都会变得更难控制。

mHC:把残差连接升级成可控的多通道残差流

先解释一下残差连接。深度神经网络不是一层完成所有理解,而是很多层连续加工信息。前一层输出一个表示,后一层在这个表示上继续修改。问题是,网络层数变深以后,信息和梯度在一层层传递中可能会变弱、变形,训练会变得不稳定。

残差连接的作用就是给信息留一条“直通车”。一层网络不需要从零重新生成全部信息,而是在原始输入上做增量修改:

下一层结果 = 原来的信息 + 当前层学到的修改

这样做有两个好处:

  • 保底:如果当前层暂时学不好,模型至少还能把原来的信息传下去,不至于彻底破坏表示。

  • 好训练:梯度可以沿着这条直通路径往回传,深层网络更容易训练。

传统 Transformer 的残差连接可以粗略写成:

x_{l+1} = x_l + F_l(x_l)

这里的 x_l 是进入第 l 层之前的信息,F_l(x_l) 是这一层学到的修改。也就是说,每一层都在回答一个问题:在已有信息基础上,我应该补充或修正什么?

普通残差连接已经很有效,但在 DeepSeek V4 这种更深、更复杂的 MoE 模型里,它也有局限:所有信息都挤在同一条残差通道里传递。可以类比成一个大型项目只有一条共享文档流,所有部门都在同一个文件里改内容,虽然简单,但信息容易互相干扰。

V4 引入的 mHC(Manifold-Constrained Hyper-Connections) 可以理解为把残差流扩展成多个“残差通道”,再让每一层动态决定:

  • 从哪些残差通道读取输入;

  • 当前层输出写回哪些残差通道;

  • 残差通道之间如何混合。

换句话说,mHC 不再只有一条信息直通车,而是有多条并行通道。有的通道可以更偏原始语义,有的通道可以更偏推理中间状态,有的通道可以保留局部细节。每一层可以选择读取哪些通道,也可以把自己的计算结果写回不同通道。

从策略上看,Hyper-Connections 做了三件事:

  • :当前层不是只读一条残差流,而是可以从多条残差通道里挑选和混合信息。

  • :当前 Transformer 层基于混合后的信息继续加工。

  • :加工后的结果不是简单加回原位置,而是可以按比例写回多条残差通道。

所以它的核心不是某个公式本身,而是把“单条残差直通车”升级成“多条可调度的信息通道”。这让模型在不同层之间更灵活地保存、组合和传递信息。

但是,多通道残差也会带来新问题:如果通道之间随意混合,层数一深,某些信息可能被不断放大,另一些信息可能被冲掉,训练反而会不稳定。

V4 的 mHC 关键就在这里:多通道不是随便连,而是有约束地连。可以把它理解成给多条信息通道加了一套“交通规则”:

  • 每条通道都可以把一部分信息传给其他通道,但不能无限放大自己;

  • 每条通道也不能被其他通道完全吞掉,要保留稳定的信息流;

  • 通道之间的混合比例要保持整体平衡,避免深层堆叠后数值失控。

论文里用的是双随机矩阵约束,并通过 Sinkhorn-Knopp 迭代来实现。普通读者不需要记住这些数学细节,只需要抓住一点:mHC 的目标是在增加信息通道灵活性的同时,仍然保持深层网络的稳定性

所以这一节可以总结成一句话:传统残差连接是一条直通车,mHC 把它扩展成多条可调度的信息通道,但同时给通道调度加上约束,防止模型越深越不稳定。

CSA:把远处内容压成信息块,再按相关性找重点

V4 最核心的长上下文创新是 Hybrid Attention with CSA and HCA。这里先讲 CSA。

CSA 的全称是 Compressed Sparse Attention,可以理解成“先压缩,再重点查找”。它解决的是一个很朴素的问题:如果输入有 1M token,模型每次都把所有历史 token 重新看一遍,成本太高。CSA 的做法更像人读书时做索引:

  • 先把长文本切成很多小段;

  • 每一小段压缩成一个信息块;

  • 当前问题来了以后,先用一个轻量索引器判断哪些信息块最相关;

  • 只重点读取这些相关信息块,而不是把整本书从头翻到尾。

这样做的价值在于,模型仍然可以找到远处的重要内容,但不需要对百万 token 做完整注意力计算。比如论文里的一个典型配置是每 4 个 token 压成一个信息块,1M token 会先变成大约 250K 个压缩块;随后模型再从这些压缩块里选出最相关的一小部分重点读取。

这里有两个细节值得理解。

第一,压缩不是简单平均。模型不是把几个 token 粗暴求平均,而是会学习这一小段里哪些 token 更重要。比如一句话里,主语、动词、变量名、数字往往比停用词更关键,模型会倾向于保留这些信息。

第二,索引器很轻量。CSA 不是直接用完整 attention 去找相关块,而是先用一个更便宜的 indexer 做粗筛。这个 indexer 的作用类似搜索引擎里的倒排索引:先快速找候选,再把计算资源集中到候选内容上。

所以 CSA 的核心可以总结为:远处内容不逐字精读,而是先压缩成信息块,再按相关性挑重点看

这里容易产生一个疑问:模型内部都是数字,所谓“压缩”和“摘要”到底压的是什么?大模型并不是在内部保存一段可读的中文摘要,而是在保存一组向量。每个 token 经过 embedding 和多层网络处理后,会变成高维数值表示;这些数值本身看起来没有直接语义,但它们已经编码了语义、位置、上下文关系等信息。CSA/HCA 压缩的就是这些内部向量表示,而不是原始文字。

可以类比图片压缩:一张照片在电脑里也是一堆数字,不是“人脸”“天空”“树”的文字描述。但经过合适的压缩算法后,数字仍然保留了主要视觉信息。模型里的压缩也是类似道理:它不是写出一句自然语言总结,而是把一小段 token 的内部表示合成为更少的向量,让后续层还能从这些向量里恢复出有用的语义线索。

HCA:把长文做成更粗的章节摘要

HCA 的全称是 Heavily Compressed Attention,可以理解成“更大力度的摘要阅读”。

CSA 更像“查目录找重点段落”,适合找某个具体信息,比如定义、变量名、代码片段、引用原文。HCA 更像“读章节摘要”,适合把握整篇长文的背景、主题和大方向。

两者的区别可以这样理解:

机制像什么适合处理什么CSA搜索目录后精读相关段落远处的具体事实、变量、引用、证据HCA阅读每章摘要全局背景、主题走向、整体语义

论文中的 HCA 压缩力度更大,可以把更长的一段内容压成一个更粗的信息块。它不会像 CSA 那样只选 top-k,而是会看所有压缩后的摘要块。因为摘要块数量已经少很多,全部看一遍也能接受。

V4 把 CSA 和 HCA 交错使用,而不是二选一。这样模型既有“查资料”的能力,也有“看大局”的能力:CSA 负责远程精确检索,HCA 负责全局粗粒度理解。

SWA:为什么最近内容必须精读?

压缩有一个代价:细节会变少。对于远处内容,这通常可以接受;但对于最近几十到几百个 token,细节非常重要。

比如模型正在补全一段代码,最近的变量名、函数参数、括号层级、缩进结构都不能丢。如果这些内容也被压缩成摘要,模型很容易犯低级错误。

所以 V4 又加入了 Sliding Window Attention(SWA),也就是“最近窗口精读”。它的作用很明确:

  • 远处内容交给 CSA/HCA 压缩处理;

  • 最近内容保留原始细节,直接精读;

  • 两条路径合起来,既能看远,又不丢近处细节。

可以把它理解成:读一本书时,前面章节看摘要和索引,但你正在读的当前页必须逐字看清楚。

让注意力更稳更省的几个细节

除了 CSA/HCA/SWA 这条主线,V4 还做了一些 attention 细节优化。这些细节不需要展开公式,只要理解它们分别在解决什么问题。

技术点解决的问题直观理解Query/KV RMSNorm注意力分数可能过大,导致训练不稳定先把参与匹配的向量“归一归”,避免分数失控Partial RoPE长上下文位置编码成本和稳定性问题只在部分维度上放位置信息,减少干扰Attention Sink有些 head 当前不需要强行关注任何历史块给注意力一个“空挡”,不相关时可以少看或不看Grouped Output Projection多 head 输出回写成本高先分组压缩,再统一汇总,降低计算量

这些优化共同服务于一个目标:让压缩注意力既省算力,又不因为数值不稳定或位置处理不当而损失效果

KV cache:模型的历史笔记也要分层管理

KV cache 可以理解成模型推理时的“历史笔记”。模型生成新 token 时,不想每次都重新计算前面所有 token,于是会把前文的一些中间结果缓存下来,后面直接复用。

普通模型的 KV cache 相对简单:每层、每个 token 存一份历史信息。但 V4 的注意力结构变复杂以后,cache 也不再是一种形态:

  • CSA 有压缩后的信息块;

  • CSA 还需要给 indexer 用的索引信息;

  • HCA 有更大粒度的摘要块;

  • SWA 要保存最近窗口里的原始细节;

  • 当前还没凑满压缩块的尾部 token 也要临时保存。

这些缓存的大小、更新频率、生命周期都不一样。继续用一套普通 PagedAttention 方式管理,会很别扭,也很浪费。

V4 的思路是把缓存分层管理:

  • 压缩后的长期记忆:CSA/HCA 产生的信息块比较小,可以长期保存,甚至写到磁盘里复用。

  • 最近窗口的短期记忆:SWA 需要原始细节,体积更大,适合只保留最近一小段。

  • 共享前缀缓存:如果很多请求都基于同一份长文档、同一个代码仓库或同一套系统提示词,就尽量复用已经算过的前缀。

这对实际服务非常重要。比如一个代码仓库问答系统,用户可能连续问十几个问题,前缀都是同一个仓库内容。如果每个问题都重新处理整个仓库,成本会非常高;如果能复用 KV cache,响应速度和成本都会明显改善。

所以 V4 的 KV cache 设计说明了一个趋势:长上下文模型不只是模型结构问题,也是推理系统、缓存布局、内存/磁盘层级和调度系统的问题

Muon:让训练更新更稳定

训练大模型的过程,可以理解成不断调整亿万甚至万亿级参数。优化器决定了“每一步该往哪个方向改、改多少”。传统上,大模型常用 AdamW;DeepSeek V4 在大部分矩阵参数上改用了 Muon optimizer

Muon 的核心直觉是:不要让参数更新方向太乱。普通梯度更新可能会在高维空间里产生比较扭曲的更新方向,模型越大、结构越复杂,这种不稳定越明显。Muon 会对矩阵参数的更新方向做一种近似“规整化”,让更新更像稳定的旋转或平移,而不是每一步都朝着很噪声的方向乱撞。

这对 V4 很重要,因为它同时叠加了很多高风险因素:

  • MoE 路由会让不同 token 走不同专家,训练本来就更容易抖动;

  • mHC 增加了多条残差通道,信息流更复杂;

  • CSA/HCA 改变了注意力结构;

  • FP4/FP8 混合精度会带来额外数值误差;

  • 1M 长上下文训练会放大显存、通信和数值稳定性问题。

所以 Muon 不是一个孤立的“换优化器”选择,而是 V4 整体稳定性方案的一部分。它的角色可以理解成:在复杂模型结构上,尽量让训练每一步走得更稳

DeepSeek 并没有完全抛弃 AdamW。论文中提到,embedding、prediction head、部分 mHC 参数和 RMSNorm 权重仍然使用 AdamW。这说明他们不是为了使用新优化器而使用新优化器,而是根据不同参数类型选择更合适的更新方式。

FP4 QAT:让模型提前适应低精度

FP4 可以理解成一种非常省空间的数字表示。普通训练常用 FP16、BF16 或 FP8,而 FP4 只用 4 个 bit 表示一个数,显存和带宽压力都会更小,但精度也更低。

如果直接把训练好的模型硬压到 FP4,模型可能会明显掉点。V4 的做法是 Quantization-Aware Training(QAT,量化感知训练):训练过程中就让模型逐步适应低精度表示,而不是等训练完再突然压缩。

V4 重点把 FP4 用在两类地方:

  • MoE expert weights:专家很多,权重体积大,是显存和访存压力的主要来源。

  • CSA indexer 的 QK 路径:长上下文下,索引器需要做大量相关性计算,用低精度可以减少成本。

可以把 QAT 理解成让模型提前适应“低清晰度照片”。如果模型从一开始就知道未来很多权重会用低精度保存,它就会学会在这种条件下仍然保持效果。

论文中的实现还保留了更高精度的 master weights,用于稳定训练;实际计算时再走 FP4/FP8 路径。这是一个折中:训练时保留足够稳定性,推理和大规模计算时尽量省资源

训练稳定性:防止 MoE 训练突然失控

论文里明确提到,训练万亿参数 MoE 会遇到 loss spike,也就是训练损失突然飙升。直观上,这像是模型训练过程中突然“走岔路”,如果不处理,可能导致后续训练质量下降,甚至需要回滚。

DeepSeek 判断,这类 spike 和 MoE 中的 outlier 有关。MoE 的特殊之处在于,token 会被路由到不同专家。如果某些异常激活值被路由机制放大,就可能造成不稳定。

V4 主要用了两类办法。

第一是 Anticipatory Routing,可以理解成“提前安排路线”。普通 MoE 是用当前参数给当前数据决定路由;V4 在必要时会用稍早的参数提前为未来数据算好路由,减少“参数刚更新、路由立刻剧烈变化”带来的互相放大。

这有点像大型物流系统:如果每辆车刚出发就根据实时拥堵频繁改路线,整个系统可能更混乱;提前锁定一段时间的路线,反而更稳定。

第二是 SwiGLU Clamping,也就是限制某些激活值不要过大。这个方法很朴素:如果某些中间数值异常大,就把它们夹在一个合理范围内,防止它们一路放大影响后续层。

这说明大规模训练不只靠更好的优化器。真正训练超大 MoE 时,还需要处理路由抖动、异常激活、短回滚和恢复策略。V4 的经验是:稳定性是系统工程,不是单一算法问题

训练数据和课程:从短上下文逐步拉到 1M

V4 的预训练数据超过 32T tokens。这里最重要的不是单纯“数据更多”,而是数据结构和训练节奏更有针对性。

论文里提到几类方向:

  • 清理批量自动生成和模板化网页内容,降低模型学到低质量模式的风险;

  • 继续强化数学和代码数据;

  • 在 mid-training 阶段加入 agentic data,提高模型做代码 Agent 和工具任务的能力;

  • 扩大多语言语料,覆盖更多长尾文化和知识;

  • 强调长文档数据,尤其是论文、技术报告这类需要持续理解的材料;

  • 使用 FIM 等代码训练方式,让模型更适应补全和编辑任务。

长上下文训练还有一个关键点:不能一上来就训练 1M 上下文。这就像人学跑步,不会第一天就跑马拉松。模型也需要从短上下文逐步过渡到长上下文。

V4 的训练节奏可以理解成:

  • 先在较短上下文里学基本语言、知识和推理;

  • 再扩展到中等长度,让模型适应更长依赖;

  • 然后引入稀疏注意力,让 CSA 的索引器学会找重点;

  • 最后再进入 1M 长上下文训练。

这个 curriculum 很关键。长上下文能力不是把窗口参数调大就会自然出现的,模型必须在训练中逐步学会:哪些信息要精读,哪些信息可以压缩,哪些远处内容需要重新找回来。

基础设施:模型创新必须有系统支撑

V4 的很多设计听起来是模型算法,但要真正跑起来,靠普通框架默认算子是不够的。DeepSeek 在论文里花了不少篇幅讲基础设施,这说明它把模型结构和系统实现放在一起设计。

这里有三个重点。

第一是 MoE fused kernel。MoE 推理不是一个简单矩阵乘法,而是包含 token 分发、专家计算、结果合并、跨设备通信等很多步骤。如果每一步都单独调度,开销会很大。V4 把多个步骤融合起来,让通信、计算和内存访问尽量重叠,减少等待。

第二是 TileLang。复杂模型结构会产生很多定制算子需求。手写 CUDA 成本高,直接用通用算子又不够快。TileLang 的价值在于用更高层的方式写 fused kernel,兼顾开发效率和性能。

第三是 确定性 kernel。对后训练和 RL rollout 来说,同一个输入最好在不同 batch 条件下得到一致结果。否则一旦训练中断、任务恢复或做评估复现,很难判断差异来自模型还是系统随机性。

这部分最重要的结论是:模型结构创新如果没有配套 kernel、runtime 和调度系统,很难变成真正可服务的产品能力

后训练:多个专家老师教一个统一模型

V4 后训练的一个重要变化是引入 OPD(On-Policy Distillation)。它可以理解成“先培养多个专科老师,再让一个学生在真实练习中向这些老师学习”。

传统蒸馏通常是:老师模型在固定数据上给答案,学生去模仿。问题是,固定数据不一定覆盖学生模型自己真实会遇到的状态。尤其是 Agent、代码、长推理任务,模型一旦自己生成了不同中间步骤,后面的状态分布就和离线数据不一样了。

OPD 的关键变化是:学生先自己生成轨迹,再让专家老师在这些轨迹上指导它。也就是说,学生不是只看标准答案,而是在自己真实会走到的位置上学习专家会怎么判断。

V4 的后训练流程大致是:

  • 先训练多个领域专家,比如数学专家、代码专家、Agent 专家、指令跟随专家;

  • 每个专家在自己的领域里通过 SFT 和 RL 继续强化;

  • 最后让统一模型在自己生成的样本上学习多个专家的输出分布;

  • 通过这种方式,把多个专家能力合并进一个模型。

论文强调他们使用 full-vocabulary logit distillation。普通读者可以这样理解:老师不是只告诉学生“正确答案是哪个 token”,而是告诉学生“所有可能 token 的倾向分布”。这比只学最终答案更细,但工程成本也更高。

为了避免存储和计算爆炸,V4 没有天真地把所有老师、所有 token 的完整 logits 全部落盘,而是做了更复杂的调度和缓存。核心思想是:尽量保存可复用的中间表示,需要时再重建老师输出

所以 OPD 的意义不只是一个训练 loss,而是一套把多个专家模型能力整合到统一模型里的后训练工程方案。

推理模式:按任务分配思考预算

V4 支持三种 reasoning effort,可以理解成三档“思考预算”:

模式特点适用场景Non-think快速、直觉式、不展开推理日常问答、低风险任务、延迟敏感场景Think High更强逻辑分析,速度较慢复杂问题、规划、中等风险决策Think Max最大 reasoning budget高难推理、边界能力探索

这背后反映了一个趋势:模型不再只有一种固定工作模式,而是可以按任务难度分配不同推理成本。

如果只是改写一句话、总结一小段文本,用 Non-think 就够了;如果是复杂数学题、代码调试、长任务规划,就值得打开更高的思考预算。Think Max 不一定适合所有场景,因为它可能带来更长延迟和更高成本。

Agent 优化:工具调用、长期状态和快速判断

V4 在 Agent 能力上也有几处值得注意的设计。

第一是 XML 风格工具调用。工具调用经常需要传长文本、代码片段、搜索 query、文件路径等内容。纯 JSON 很容易遇到转义、嵌套和格式破坏问题。V4 使用更接近 XML 的结构来描述工具调用,让模型更稳定地表达“我要调用哪个工具、传什么参数”。

第二是 Interleaved Thinking。普通聊天里,模型通常不需要保留很久以前的思考状态;但 Agent 不一样。Agent 可能先搜索,再读网页,再写代码,再运行测试,再根据错误日志修改文件。如果每次工具返回后都丢掉前面的思考状态,长任务很容易断线。V4 在工具调用场景中更重视跨步骤保留上下文。

第三是 Quick Instruction。很多产品任务在真正回答前,需要先做一个小判断:要不要搜索?用户问的是哪个领域?是否需要权威来源?传统做法可能再调用一个小模型判断,但这会增加延迟。V4 的思路是让主模型复用已经处理好的上下文,顺手完成这些小判断。

这说明 V4 把“普通聊天”和“Agent 工具链”当成两种不同运行模式处理。普通聊天重视简洁和低成本,Agent 场景更重视长期状态、工具格式和任务连续性。

Agent Sandbox:让模型在真实环境里练习

如果只是训练聊天模型,数据通常是 prompt-response。但如果要训练真正的 coding agent 或 tool-use agent,数据就不只是“问题和答案”,而是一整段交互过程。

一个 coding agent 的训练轨迹可能包括:

  • 读取文件;

  • 修改代码;

  • 执行命令;

  • 运行测试;

  • 查看报错日志;

  • 再次修改;

  • 最后提交结果。

这些动作必须在一个隔离、安全、可复现的环境里发生,这就是 sandbox 的意义。V4 的 post-training infrastructure 包括 DSec(DeepSeek Elastic Compute)sandbox 平台,用于大规模 Agent 训练和评估。论文中提到它支持 function call、container、microVM、fullVM 等不同隔离级别。

这部分的核心不是“有一个沙盒工具”这么简单,而是说明 Agent 后训练需要完整基础设施:任务要能并发运行,失败要能恢复,过程要能记录,结果要能复现。没有这些系统能力,很难稳定训练长周期工具使用能力。

性能结果应该怎么看?

论文中基础模型评估显示,V4-Pro-Base 相比 V3.2-Base 在知识、长上下文、多数推理和代码指标上有明显提升;V4-Flash-Base 虽然激活参数只有 13B,但在很多 benchmark 上超过 V3.2-Base。

但这些 benchmark 不是本文重点。更重要的是它们想证明一个结论:V4 在大幅压缩长上下文成本的同时,没有明显牺牲基础能力

这点很关键。很多长上下文方案会在短上下文能力、局部细节或训练稳定性上付出代价。V4 的路线试图证明几件事可以同时成立:

  • 压缩 attention 可以与强模型能力共存;

  • MoE 稀疏激活可以与百万 token 上下文共存;

  • FP4/FP8 低精度路径可以与稳定训练共存;

  • 多专家后训练可以通过 OPD 合并,而不是依赖脆弱的权重合并或混合 RL。

当然,benchmark 只能说明一部分问题。MMLU-Pro 这类评测更偏专业知识和选择题推理,不能直接证明 1M 上下文、Agent 工具调用或真实代码修改能力。看 V4 这类模型时,更合理的方式是把不同评测分开看:知识推理看一组指标,长上下文看一组指标,代码和 Agent 再看另一组指标。

对开发者和研究者的启发

如果不训练 trillion-parameter 模型,DeepSeek V4 仍然有不少可借鉴的工程思想。

第一,长上下文不应该只靠扩大窗口。真实可用的长上下文需要压缩表示、稀疏检索、局部精读和缓存复用。做 RAG、代码仓库 Agent 或企业知识库时,也可以借鉴这种分层记忆结构。

第二,缓存设计应该提前考虑。长文档问答、代码仓库分析、多轮 Agent 都会反复使用相同前缀。如果系统不能复用这些前缀,就会浪费大量推理成本。

第三,训练稳定性需要工程化处理。Muon、RMSNorm、mHC 约束、SwiGLU clamp、路由解耦、确定性 rollout,本质上都是为了降低大规模训练的不确定性。

第四,Agent 能力不能只靠静态 SFT 数据。真正的 Agent 需要在环境里执行动作、观察结果、修正计划。没有 sandbox、轨迹记录和可复现评估,很难训练出稳定的长周期工具能力。

第五,后训练可能越来越像“多专家整合”。可以先训练数学、代码、工具调用、指令跟随等专门能力,再通过蒸馏或其他方法合并到统一模型里。这个思路对小规模团队也有参考价值。

用一张图理解 V4-style 长上下文

如果把 V4 的长上下文设计压缩成一张结构图,可以这样看:

最近内容  -> SWA 精读原文细节
较远内容  -> CSA 压缩后按相关性检索
全局背景  -> HCA 更大粒度摘要阅读
重复前缀  -> KV cache 复用,必要时落盘
模型训练  -> curriculum 逐步拉长上下文
模型稳定  -> mHC、Muon、clamp、确定性 kernel 共同兜底

这张图比伪代码更能说明 V4 的核心思想:局部细节交给 SWA,远程精确检索交给 CSA,全局压缩背景交给 HCA,系统层再用 KV cache 和 fused kernel 把成本压下来

总结

DeepSeek V4 的技术重点可以概括为三层。

第一层是 架构层:用 CSA/HCA/SWA 组合打破 dense attention 在百万 token 下的成本瓶颈,用 mHC 提升深层信号传播稳定性,用 DeepSeekMoE 保持参数规模与计算量解耦。

第二层是 训练层:用 Muon、FP4 QAT、长上下文 curriculum、Anticipatory Routing、SwiGLU Clamping 等方法,让复杂结构在 32T+ tokens 和 1M 序列长度上可训练。

第三层是 系统层:用 fused MoE kernel、TileLang、异构 KV cache、on-disk cache、deterministic rollout、sandbox infrastructure 和 OPD teacher scheduling,把论文结构真正变成可服务、可迭代的模型产品。

所以,DeepSeek V4 的意义不只是“又一个更大的 MoE 模型”,而是展示了下一代长上下文模型的工程范式:模型结构、优化器、低精度、KV cache、后训练和 Agent 基础设施必须一起设计。百万 token 上下文不是单个超参数,而是一整套系统能力。

参考资料

  • DeepSeek-V4 技术报告:https://www.modelscope.cn/models/deepseek-ai/DeepSeek-V4-Pro/file/view/master/DeepSeek_V4.pdf?status=1

  • DeepSeek 官方发布页:https://api-docs.deepseek.com/news/news260424

  • DeepSeek-V4 Hugging Face collection:https://huggingface.co/collections/deepseek-ai/deepseek-v4

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐