DeepSeek-AI 在 5 月发布的 V4 技术报告(arXiv 2605.xxxxx)一次把三件事推到极致:原生 1M token 上下文、1.6T 参数 MoE 训练稳定收敛、开源权重。其中”原生 1M”是关键词——不是用 YaRN 或 LongRoPE 外推,而是在预训练阶段就以 1M 序列训练。
这背后不是单个魔法 trick,而是三层架构创新的叠加。本文按”问题 → 方案 → 代价”顺序拆解 V4 的核心组件,并在结尾给一份”什么时候选 V4,什么时候选别的”的工程判断。
TL;DR
DeepSeek V4 把 1M 原生上下文做成开源现实,靠的是三个组件的精确组合:
- mHC(Manifold-Constrained Hyper-Connections):稳定深层残差流,让 100+ 层不发散。
- CSA + HCA 混合注意力:把 1M 序列的 O(L²) 算力拆成线性,同时保留 recall 能力。
- Muon 优化器:用正交化的梯度更新让 MoE 的 1.6T 参数收敛速度提 30%。
任何一项单独存在都做不出 V4,三者必须共同出现。
一、问题:1M 上下文的三重困境
要把 1M token 做成生产可用,工程上必须同时解决三个相互冲突的约束:
| 约束 | 数值边界 | 朴素解法的失败原因 |
|---|---|---|
| 算力 | 单 token 训练成本 O(L²) | 1M² = 10¹² flops/token,单卡训不动 |
| 显存 | KV cache O(L × d × h) | 1M × 8192 × 64 head ≈ 数百 GB |
| 稳定性 | 深层网络 + 长序列 → 梯度爆炸/消失 | 100+ 层的 transformer 在 1M 长度上 attention 数值越界 |
过去解法都是单点突破——Flash Attention 砍显存、Mamba 砍算力、改 init 砍稳定性。但单点解决一个约束往往会让另两个变得更糟。V4 的关键观察是:必须三个一起改。
二、mHC:深层残差的稳定化
2.1 从 HC 说起
Hyper-Connections (HC) 是 DeepSeek 在 2025 年提出的残差改进:把传统的 x' = x + f(x) 扩展为 x' = A·[x_1, ..., x_n] + f(x),其中 x 被并行复制成 n 个流,A 是可学习的 n×n 混合矩阵。
HC 在小规模上 work,但 scale 到 100+ 层时出问题:A 在训练过程中可能学到某些极端值(如某个对角元逼近 0),导致对应流被”杀死”,深层激活范数爆炸。
2.2 mHC 的修复
mHC 的关键洞察是:A 必须保持范数性质。论文用了正交化约束——A 被参数化为 A = exp(W - W^T),强制 A ∈ SO(n)(特殊正交群,行列式为 1)。
代数上这意味着 ||A·x|| = ||x||:无论 A 怎么学,混合后的范数与混合前保持不变。从动力系统视角,这把残差流约束到了一个 manifold(球面)上,所以叫 manifold-constrained。
2.3 工程效果
V4 报告 Figure 5 给出对比:
| 配置 | 100 层后激活范数中位数 |
|---|---|
| 原 Pre-LN | 12.3 |
| HC | 8.7 |
| mHC | 4.1 |
mHC 把 100 层后的激活范数压到了 4 倍以下,意味着深层梯度更稳定。代价是每层多 1 次 Newton-Schulz 迭代(计算 exp 矩阵),约 2% 训练时间开销。
2.4 为什么这对 1M 上下文重要
长序列 + 深层网络是双重难度。Attention 在 1M 长度上数值范围比 4K 大几个数量级(softmax 输入跨度大),如果残差流不稳定,attention 输出方差会爆炸。mHC 是预训练 100+ 层 transformer 在 1M 序列上不崩的必要条件。
三、CSA + HCA:混合注意力的代价拆分
3.1 单独 Attention 的死路
| 方案 | 1M 长度算力 | 1M 长度 recall | 1M 长度显存 |
|---|---|---|---|
| Full Attention | O(L²) = 10¹² | 完美 | 800 GB+ |
| Linear Attention | O(L) | 差,无法精确定位 | 小 |
| Sliding Window | O(L·w) | 窗外的全丢 | 小 |
| Mamba (SSM) | O(L) | 中等,类 RNN | 小 |
每一个单独的方案都在三角形(算力、recall、显存)中放弃一个角。V4 的答案是不要单选,而是按层交替组合。
3.2 CSA:压缩稀疏注意力
Compressed Sparse Attention 的核心是把 KV 序列按块压缩:
- 把 L 长度的 KV 切成 L/B 个 block(B=256)。
- 每个 block 用一个小 MLP 压成一个 representative token。
- Query 先对 representative 算 attention 找出 top-K block,再对这些 block 内 token 做 full attention。
这本质是两级 attention:第一级筛选粗粒度块,第二级精算。算力 O(L/B + K·B) = O(L),但 recall 远高于纯 Linear Attention。
3.3 HCA:混合分块注意力
Hybrid Chunked Attention 处理短程精细:
- 把序列切成 chunk(C=4096)。
- chunk 内 full attention,chunk 间 sliding window。
- 加一条 global token 通道,每隔 N token 选一个作为 global,对全局可见。
HCA 等价于”局部细 + 全局粗”,与 CSA 的”全局粗 + 重要细”形成互补。
3.4 按层交替的配方
V4 的层配比是 1 层 HCA : 1 层 CSA 交替,共 90 层(V4-Pro)/ 60 层(V4-Flash)。这意味着任意 token 经过两层后既经历了局部精细(HCA),又经历了远程检索(CSA)。
实验数据:
| 模型 | NIAH (1M, single needle) | NIAH (1M, 10 needles) | KV cache @ 1M |
|---|---|---|---|
| Llama 4 405B (sliding) | 87% | 41% | 320 GB |
| Claude Opus 4.7 (1M) | 99% | 92% | 不开源 |
| DeepSeek V4-Pro | 98% | 89% | 140 GB |
V4 在多 needle recall 上接近 Claude,KV cache 还少一半多。
四、Muon 优化器:MoE 训练的稳定剂
4.1 MoE 训练为什么难
MoE 模型每步只激活 N 个 expert(V4-Pro 总 expert 384,每 token 激活 8 个)。这导致:
- 不同 expert 看到的样本数高度不平衡。
- Adam 的 momentum 估计
m_t = β·m_{t-1} + (1-β)·g_t在稀疏激活下偏差大。 - expert 之间梯度方差差 100× 以上。
结果是 routing 倾向”赢家通吃”——少数 expert 被高频激活、其他被冷落,模型容量浪费。
4.2 Muon 怎么解决
Muon 的核心是 momentum 正交化:
m_t = β·m_{t-1} + (1-β)·g_t
U, S, V = Newton-Schulz(m_t) # 5 步迭代近似 SVD
m_t_orth = U·V^T # 把 momentum 投影到正交矩阵
update = -η · m_t_orth
正交化等价于把所有方向的更新幅度均一化。对 MoE 来说,这把高频 expert 的梯度幅度压下来、低频 expert 的提上去——routing 不再偏科。
4.3 实验效果
V4 报告 Section 4:
| 配置 | MoE 1.6T 训练 50B token loss |
|---|---|
| AdamW | 2.18 |
| Lion | 2.21 |
| Muon | 2.06 |
5% 的 loss 提升在 1.6T 规模 = 实际能力数十亿美元差距。同时 expert utilization 标准差从 0.42 降到 0.18,意味着 expert 被均匀使用。
4.4 代价
Muon 的 Newton-Schulz 迭代每步多 ~1.5% 计算。但 30% 收敛加速是净收益。
五、三个组件为什么必须组合
回到本文核心论点:mHC、CSA+HCA、Muon 是相互依赖的。
- 没有 mHC:CSA 在深层会数值爆炸(CSA 的 representative MLP 引入额外非线性)。
- 没有 CSA+HCA:1M 序列训练算力撑不住,Muon 再快也没用。
- 没有 Muon:MoE 1.6T 收敛要多 30% steps,1M 上下文的训练成本翻倍。
三者构成一个互补三角,单独抽掉任何一个都不能产出 V4 这种能力组合。这也是为什么 OpenAI、Anthropic、Google 都各自有 1M 上下文模型但开源生态等了 1 年才看到工程级 V4——三件事一起做需要协同设计的工程纪律。
六、对生态的影响
V4 开源后社区在 5 月这一周快速跟进:
| 工具 | 5/17 状态 |
|---|---|
| vLLM | V4-Flash 支持已合并,Pro 在 PR 中 |
| SGLang | Flash 支持,预计 5 月底合并 Pro |
| TensorRT-LLM | 6 月计划支持 |
| Llama.cpp | Flash 量化版(Q4_K_M)已可跑 |
| Ollama | 等待社区量化 |
短期看,V4-Flash 284B 会成为开源界的新基准——它把 Claude Opus 4.7 的 1M 能力以 MIT license 推到了私有部署上。任何对数据敏感、需要长上下文(合规审查、长文档总结、代码仓库级理解)的场景都会受益。
中期看,mHC 与 Muon 大概率被其他模型团队借鉴。Mistral 已经在 5/15 的 release notes 里提到下一代会试 mHC,Meta Llama 5 据传也在试 Muon。
七、什么时候选 V4,什么时候不选
选 V4-Pro 1.6T:
- 私有部署且预算允许 20+ H100 集群。
- 任务深度依赖 1M 上下文 recall(代码仓库分析、法律文档审查)。
- 需要 Claude 级能力但不能用 API。
选 V4-Flash 284B:
- 单机 8×H100 或多 A100 即可部署。
- 中等长上下文(128K-512K)+ 高吞吐需求。
- 对成本敏感(FP8 量化后 8×H100 跑得动)。
不选 V4:
- 任务在 32K 内能完成——继续用 Qwen3.6、Llama 4 即可,V4 部署复杂度不值。
- 必须用 API(V4 推理 API 价格未必比 Claude/GPT 便宜)。
- 团队没有 MoE 部署经验——1.6T MoE 的运维门槛真实存在。
八、深读建议
DeepSeek V4 的真正价值是把”1M 上下文能力”从 SaaS 黑盒打开成可解构、可重复的工程方案。三个组件分别对应残差稳定、注意力效率、MoE 训练,每一项都值得单独研读:
- mHC 论文(arXiv 2604.xxxxx)讲清残差代数。
- CSA + HCA 在 V4 报告 Section 3.2-3.3。
- Muon 优化器在 keller jordan 的原文与 V4 Section 4.
如果时间有限,最值得读的是 V4 报告的 Section 6”Ablation Studies”——这一节用对照实验定量回答了”如果只缺一个组件会怎样”,比任何二手分析都直观。