DeepSeek-V4 架构整理
DeepSeek-V4 在 2026 年 4 月发布预览版,总参数量约 1T,每 token 激活约 32-37B。单看数字很吓人,但架构设计的目标其实是用稀疏激活维持参数量子跃迁,同时控制推理成本。这篇把几个关键组件整理清楚,以及它们之间是怎么配合的。
整体参数
| 规格 | 数值 |
|---|---|
| 总参数量 | ~1 Trillion |
| 每 token 激活参数 | ~32-37B |
| 激活专家数 | 16 experts / token |
| 上下文窗口 | 1M tokens |
| 注意力机制 | MLA + Engram Memory |
| 连接方式 | mHC (Manifold-constrained Hyper-connection) |
| 模态 | 原生文本 / 图像 / 视频 / 音频 |
核心结构依然是 Transformer Decoder,但每个模块都经过效率导向的重设计。
MoE:稀疏激活
基本结构
传统 Dense 模型每次 forward 都要动用全部参数。V4 采用 Mixture-of-Experts:
graph TD
Input["Input Token"] --> Router["Router / Gating Network"]
Router --> E7["Expert 7"]
Router --> E23["Expert 23"]
Router --> E156["Expert 156"]
Router --> E891["Expert 891"]
Router --> E_other["..."]
E7 --> Agg["加权聚合"]
E23 --> Agg
E156 --> Agg
E891 --> Agg
E_other --> Agg
Agg --> Output["Output"]
style Router fill:#fff3e0,stroke:#ef6c00
style Agg fill:#e3f2fd,stroke:#1565c0
- 总专家数:256+
- 激活专家:16 个 / token
- 共享专家:部分专家始终激活,捕获通用知识
负载均衡
传统 MoE 需要 auxiliary loss 防止所有 token 涌向同一个专家(专家崩溃)。V4 采用 bias-based 动态调整:给每个专家一个可学习的 bias 项,根据历史负载动态修正路由分数。这样不需要辅助损失函数,训练更稳定。
训练时通过 all-to-all 通信做 expert 并行,推理时通过预取和缓存热门专家权重降低延迟。
MLA:压缩 KV Cache
问题背景
标准 Multi-Head Attention 的 KV Cache 随层数和头数线性膨胀。以 Llama-3 70B 为例,每 token 的 KV Cache 约 0.8MB。1M 上下文下,单层的 KV Cache 就要占用几百 GB 显存。
MLA 的压缩逻辑
MLA 把 KV 压缩到低维隐空间:
传统 MHA:
K = W_K · x (高维,需缓存)
V = W_V · x (高维,需缓存)
MLA:
c_KV = W_DKV · x (低维 latent vector,如 512-dim)
K = W_UK · c_KV (解压,只缓存 c_KV)
V = W_UV · c_KV (解压,只缓存 c_KV)
效果:KV Cache 从 ~0.8MB/token 降到 ~0.1MB/token,压缩比 5-10x。
推理友好性
MLA 不是”优化缓存管理”,而是从架构上减少需要缓存的数据量。这使得 1M 上下文窗口在消费级硬件上成为可能。Decode 阶段每次只需要读取压缩后的 c_KV,然后在 SRAM 内解压成 K/V,HBM 带宽需求大幅下降。
Engram Memory:长上下文的条件记忆
这是 V4 相对于 V3 的新增机制,用于支撑 1M tokens 的超长上下文。
核心思想
Engram(记忆痕迹)是有选择性的,不是平等记住所有信息:
长序列输入
│
├──► 在线流式处理 ──► 标准 MLA Attention (局部窗口)
│
└──► Engram Encoder ──► 压缩关键信息到 Engram Memory Bank
│
▼
后续 token 可通过 Engram Query 检索
工作机制
- Engram 编码器:在 prefill 阶段,把长文档段落压缩成固定大小的记忆向量
- 条件检索:Decode 阶段,当前 token 的 query 先查 Engram Memory Bank,再决定是否需要加载细节到标准 attention
- 层级结构:可能有多级 Engram(段落级 → 章节级 → 文档级),形成树状索引
本质上是在模型内部实现了 RAG 的架构化——不是外挂检索系统,而是模型自身具备选择性记忆和压缩能力。
mHC:训练稳定性
Manifold-constrained Hyper-connection 解决超大规模 MoE 训练时的稳定性问题。
1T 参数 MoE + 超长上下文训练时:
- 梯度爆炸/消失风险极高
- 不同专家的学习速度差异大
- 残差连接在超深网络中效果衰减
mHC 的设计:
传统残差连接:
y = F(x) + x
mHC:
y = Σ_i α_i · F_i(x) + β · x
│
└── 多路径超连接,权重 α_i 受流形约束
约束: Σ α_i = 1, α_i ≥ 0
- 超连接:每个层不只连接前一层,还连接到多个历史层和共享表示
- 流形约束:连接权重被限制在一个低维流形上,防止梯度失控
- 效果:训练 1T 参数模型时,loss 曲线更平滑
各组件的配合关系
graph LR
MoE["MoE<br/>1T 参数稀疏激活"] --> mHC["mHC<br/>训练稳定性"]
MoE --> MLA["MLA<br/>KV Cache 压缩"]
MLA --> Engram["Engram Memory<br/>长上下文选择性记忆"]
style MoE fill:#e8f5e9,stroke:#2e7d32
style mHC fill:#fff3e0,stroke:#ef6c00
style MLA fill:#e3f2fd,stroke:#1565c0
style Engram fill:#f3e5f5,stroke:#7b1fa2
这几个技术不是独立堆叠的,是互相配合的:
| 组件 | 解决的问题 | 依赖其他组件 |
|---|---|---|
| MoE | 总参数量子上去了,推理成本不炸 | 需要 mHC 保证训练稳定 |
| MLA | KV Cache 太大,长上下文装不下 | 让 1M 上下文在显存上可行 |
| Engram Memory | 1M 上下文里信息太多,注意力分散 | 依赖 MLA 省出的显存空间 |
| mHC | 1T 参数训练不稳定 | 让 MoE 能训到收敛 |
配合链路:
- MoE 提供参数量子跃迁(1T)
- mHC 保证 MoE 能稳定训练
- MLA 把 KV Cache 压到 1/10,让 1M 上下文在显存上可行
- Engram Memory 在 1M 上下文内做选择性压缩,避免注意力分散
原生多模态
V4 不是”拼接多个专用编码器”的多模态,而是原生多模态:
文本 token ──┐
图像 patch ──┼──► 统一 Tokenizer ──► 统一 Transformer (MoE + MLA)
视频帧 ──┤ (连续/离散混合表征)
音频采样 ──┘
- 统一 Tokenizer:所有模态映射到同一个 latent space
- 模态无关的 MoE:路由网络自动把图像 token 路由到视觉专家,文本 token 路由到语言专家,但共享底层表征
- 时序统一:视频帧天然带时序,直接用位置编码 + Engram Memory 处理长视频
训练效率
V4 延续 R1 的路线,用 GRPO(Group Relative Policy Optimization)替代传统的 SFT + RLHF:
- 模型自己生成对比样本,通过组内相对评分优化策略
- 不需要昂贵的教师模型
- 据报全程在华为昇腾(Ascend)集群训练,架构设计考虑了国产芯片的通信拓扑
和推理优化的配合
从推理框架的角度看,V4 的架构设计直接影响优化手段的选择:
| 推理优化 | V4 架构层面的配合 |
|---|---|
| KV Cache 压缩 | MLA 直接减少 5-10x 缓存量 |
| Prefix Caching | Engram Memory 天然支持长文档片段复用 |
| 3D 并行 | MoE 的 Expert Parallelism 成为第 4 个并行维度 |
| 量化 | 1T 参数必须权重量化,MoE 稀疏性让 per-expert 量化更精细 |
| Kernel 优化 | 固定 16 专家的 top-k 路由,利于编译时特化和 fused MoE kernel |
总结
DeepSeek-V4 的架构设计围绕一个核心目标:在 1T 参数规模下,让推理时只激活 3% 的参数,同时支持 1M 上下文和原生多模态。MoE 提供稀疏性,MLA 解决显存,Engram Memory 解决长上下文的信息过载,mHC 保证训练能收敛。这几个组件互相依赖,缺一不可。