DeepSeek不惜代价保住它!V4关键特性被挖出来了
背景
近年来,大模型在训练和推理的工程实现上面临越来越多的挑战,尤其是在长上下文、复杂架构(如MoE、压缩KV、稀疏注意力)和多阶段链路(预训练、SFT、RL、蒸馏、推理)中,模型输出的稳定性问题愈发突出。DeepSeek V4在这一背景下,引入了batch invariance(批次不变性)这一关键工程设计理念,确保模型在不同batch组合下,对同一token的处理结果严格一致。这一特性被广泛认为是构建可复现、可调试、可对齐AI系统的重要基石。
什么是Batch Invariance
Batch invariance指的是:对于相同的输入token,在不同的batch组合、不同的计算路径、不同的硬件调度方式下,模型的输出必须保持逐比特一致。这意味着:
- 无论该token在batch中排第几位
- 无论batch的大小和内容如何
- 无论底层kernel的归约顺序如何
输出都必须保持不变。
这在实际应用中极为关键,尤其是在:
- 线上服务动态batching:用户请求可能在不同时间与不同请求组合拼接
- 后训练阶段(如强化学习、蒸馏):细微的数值差异可能影响采样路径、奖励计算或教师-学生模型的对齐
- 长上下文与复杂模型结构:MoE、稀疏注意力等机制引入了更多不确定性来源
如果没有batch invariance,模型在不同场景下的输出就可能产生“蝴蝶效应”,影响最终结果的稳定性。
DeepSeek V4的实现路径
为实现batch invariance,DeepSeek V4在多个关键技术点上做出了非常规取舍:
Attention机制的优化
- 通常做法:使用split-KV技术将注意力计算分布到多个GPU核心(SM)上,以提升GPU利用率和负载均衡
- V4做法:舍弃split-KV,引入dual-kernel机制
- 准备两套注意力计算kernel
- 一套用于GPU负载“饱满”的场景
- 另一套用于GPU负载“不足”的场景
- 两套程序输出必须逐比特一致

GEMM计算的自研替代
- 通常做法:使用cuBLAS进行矩阵乘法运算,利用split-K技术并行加速
- V4做法:自主研发DeepGEMM
- 在大多数场景中放弃split-K
- 保证批处理归约顺序不变
- 避免浮点加法归约顺序变化导致的输出差异
这些技术选择显著增加了工程复杂度,但确保了模型在推理、后训练、部署等多环节的一致性表现。
牺牲了哪些性能
batch invariance并非没有代价,相反,它的实现对性能提出了较高要求:
1. GPU利用率下降
- 因为无法使用split-KV等负载均衡技术,GPU的并行效率受限
- 导致部分SM空闲,整体利用率下降
2. 推理速度变慢
- 每个token的处理路径更严格,调度限制更大
- 推理时不能灵活并行计算,造成速度损失
3. 工程复杂度上升
- 需要开发并维护多套计算路径(dual-kernel)
- GEMM、attention等多个组件必须严格控制归约顺序
- 整体系统链路调试和验证难度加大
尽管如此,DeepSeek仍选择在V4中坚持这一设计,说明其对工程确定性和系统可复现性的高度重视。
影响与意义
DeepSeek V4的batch invariance设计,对AI工程化落地带来了深远影响:
确保多阶段链路的一致性
- 预训练、SFT、RL、蒸馏、推理各阶段输出一致
- 可以更准确地定位模型行为变化的来源(数据、算法、量化等)
增强系统稳定性与调试能力
- 输出可复现,便于排查问题、回溯分析
- 对企业级应用和私有部署尤为重要
推动AI系统工程标准提升
- 在工业级大模型系统中,对确定性的追求正在成为新标准
- DeepSeek V4的实践为行业提供了一个新的参考模型
此外,DeepSeek V4还实现了其他关键特性,如超长上下文支持、自研高性能kernel栈、FP4/FP8量化、mHC与Muon技术结合等。这些技术与batch invariance协同,共同构成了其复杂系统中的“确定性基石”。
小结
DeepSeek V4通过引入batch invariance这一底层工程理念,构建了一个在多个计算路径下依然保持输出一致性的系统。虽然为此牺牲了GPU利用率、推理速度等性能指标,但却为训练、后训练和部署提供了前所未有的稳定性和可调试性。这一设计理念不仅展示了DeepSeek对工业级AI系统的深刻理解,也为大模型工程实践提供了新的思路和方向。