DeepSeek V4 脱离 CUDA 全栈国产化:1.6T MoE 逐层拆解 + 昇腾迁移数据

4月24日,DeepSeek V4 预览版上线。1.6 万亿参数、49B 激活、1M 上下文,放在当下不算稀奇。稀奇的是,V4 跑在华为昇腾上,不是英伟达。这是全球第一个从 CUDA 生态全面迁移到国产算力的万亿参数大模型。16 个月底层代码重构,换来昇腾 950 单卡推理达 H20 的 2.87 倍,V4-Pro 输出价格只有 GPT-5.5 的 1/9。

说"国产替代"容易,但 V4 做的不是平替。CSA/HCA 混合注意力把 KV Cache 压到 V3.2 的 2%,mHC 流形约束让深层 MoE 训练不再抖,Muon 优化器首次在万亿参数规模跑通。这些不是算力不够才做的妥协,是在同等条件下做到了比前代更优的效率。

下面逐个拆。


一、模型规格:两个版本,一套架构

参数 V4-Flash(经济型) V4-Pro(旗舰)
总参数 284B 1.6T
激活参数 13B 49B
Transformer 层数 43 61
隐藏维度 4096 7168
词表大小 128K 128K
路由专家数 256 384
每 token 激活专家 6 6
训练数据 32T tokens 33T tokens
上下文长度 1M 1M
开源协议 MIT MIT

两个版本共享同一套架构设计(CSA/HCA/mHC/Muon),区别仅在层数、维度和专家数量。V4-Flash 的定位是低成本在线服务,V4-Pro 对标 Claude Opus 4.7 级别的旗舰能力。

有一个坎:V4 目前只吃文本,不支持原生多模态。做视觉/视频任务的暂时用不了。


二、CSA + HCA 混合注意力:1M 上下文怎么不爆内存

长上下文的瓶颈从来不是"能不能算",而是 KV Cache 爆内存。V4 的思路很直接:压缩 KV 条目,再用稀疏索引把关键信息捞回来。

CSA(压缩稀疏注意力)

先压缩,再筛选,最后做注意力,三步串起来:

KV 压缩。 连续 m 个(m=4)KV 条目压缩为 1 个,用 Softmax 加权求和加可学习位置偏置:

CComp_i = Σ(Softmax(Z_a + B_a) ⊙ C_a) + Σ(Softmax(Z_b + B_b) ⊙ C_b)

重叠压缩,相邻块信息不会被截断。

闪电索引器。 这一步是 CSA 最花心思的地方。从海量压缩 KV 块里快速捞最相关的:低秩投影降维,生成 64 组查询向量(索引头),算相似度过 ReLU(只保留正相关),Top-k 选出 Flash 512 个 / Pro 1024 个 KV 块。

闪电索引器的 QK 路径用了 FP4 精度。换句话说,用最低精度做筛选,用最高精度做最终注意力计算。该省省该花花。

共享 KV MQA。 选中的压缩 KV 条目同时当 Key 和 Value,走多查询注意力(MQA),再砍一轮计算量。

HCA(重压缩注意力)

HCA 走另一个极端:压缩率 m’=128,每 128 个 token 压成 1 个 KV 条目。不做稀疏选择,直接对重压缩后的 KV 做全量密集注意力。同时留一个 128 窗口的未压缩 KV,保住局部依赖。

打个比方:CSA 是远距离的模糊搜索,HCA 是中距离的全局概览,加上局部滑动窗口,三拼完整覆盖。

压缩效果

指标 V4 vs V3.2 GQA8 基线
1M 上下文 KV Cache 仅 2%
Pro 版单 token 推理 FLOPs 仅 27%
Pro 版 KV Cache 大小 仅 10%

推理成本在 1M 上下文下不是线性增长,而是被压到了一个极低的常数。参数量看着吓人,实际算起来便宜得多。

其他辅助设计

  • QK 归一化:核心注意力前做 RMSNorm,防止 logit 爆炸
  • 部分 RoPE:仅对最后 64 维施加旋转位置编码,减少长序列位置编码开销
  • 混合精度存储:RoPE 维度 BF16,其余 FP8,闪电索引器 FP4

三、mHC 流形约束超连接:深层 MoE 为什么不抖了

传统残差连接堆到 60+ 层,信号传播就不稳了,前向指数增长或衰减,梯度消失/爆炸。V4 用 mHC(manifold-constrained Hyper Connection)替换普通残差连接,三个数学约束兜底:

双随机矩阵约束。 把残差映射矩阵约束到 Birkhoff 多面体,保证谱范数 ≤ 1(||W||₂ ≤ 1)。跑 20 次 Sinkhorn-Knopp 迭代就行。Birkhoff 多面体是双随机矩阵的凸包,所有特征值模 ≤ 1,信号不会指数增长。

Sigmoid 约束。 输入/输出映射用 Sigmoid 卡到非负有界,防止正负信号互相抵消。

动态参数化。 映射矩阵 = 静态分量(可学习偏置)+ 动态分量(跟输入相关)。约束保住了稳定性,但表达力没丢。

代价只有 6.7% 的额外时间开销(据 V4 技术报告)。换来的是 61 层 MoE 网络的数值稳定性。V3.2 时代动不动就要重启训练的问题,V4 基本不再出现。


四、Muon 优化器:万亿参数 MoE 的第一次

Muon 之前没人在万亿参数 MoE 上跑通过。V4 是第一个。

思路:拿"梯度方向的正交化"替代 AdamW 的"自适应学习率"。具体做法是混合 Newton-Schulz 迭代,取符号乘开方梯度后重缩放。

但不是所有模块都用 Muon:

优化器 适用模块 理由
Muon Linear 层、MoE 专家、注意力参数 大参数量,收敛快
AdamW Embedding、预测头、RMSNorm、mHC 门控/偏置 小参数量,稳定优先

Muon 在大参数矩阵上加速收敛没问题,但 Embedding 和 Norm 这些小模块用它反而不稳定。分开处理,各取所长。


五、OPD 在策略蒸馏:怎么把 10 个专家塞进 1 个模型

后训练走三步:SFT → GRPO → OPD 蒸馏。

OPD(On-Policy Distillation)要做的事很简单:把多个领域专家模型(代码、数学、推理等)统一成单一模型。公式:

L_OPD(θ) = Σ w_i · D_KL(π_θ || π_E_i)

和传统蒸馏的区别在哪?传统方法用 token 级 KL 估计,方差大、梯度不稳。OPD 改成全词表 logit 蒸馏,方差低,知识保留更完整。

工程上两个关键点:支持无限教师模型,用 ZeRO-like 参数分片按需加载;教师权重离线量化到 FP4,显存开销砍一刀。

据技术报告,10+ 领域专家同时蒸馏后,最终模型在各领域保持 95%+ 的教师能力。


六、昇腾迁移:16 个月的"飞行换引擎"

技术报告之外的工程故事,可能比模型本身更有参考价值。

硬件适配数据

指标 数据
昇腾 950 单卡 V4-Pro Decode 吞吐 4700 TPS(TPOT ~20ms,Offline 模式)¹
昇腾 950 单卡 V4-Flash Decode 吞吐 1600 TPS(TPOT ~10ms,Offline 模式)¹
昇腾 950 vs 英伟达 H20 单卡推理 2.87 倍²
昇腾 A3 64卡超节点 V4-Flash 吞吐 2000+ TPS/卡¹
A3 超节点互联带宽 784GB/s¹

¹ 数据来源:华为官方 Benchmark,基于 Offline 推理模式采集,不包含 Serving 调度和框架负载均衡影响
² 数据来源:搜狐/光明网报道,深度优化后的 V4 在昇腾 950PR 上的对比

昇腾 950 支持原生精度加速:FP8、MXFP8、MXFP4。在保证模型精度的同时,内存占用降低 50%+,计算能力翻倍。

软件生态迁移:PyPTO + TileLang

这是开发者最关心的:从 CUDA 迁移到 CANN,到底要改多少代码?

PyPTO 编程范式。 提供 Python API,不用管硬件细节。V4 新算子开发周期从周缩到天级。Attention、Compressor、mHC 这些复杂逻辑算子可以自动生成优化 Kernel。底层基于 PTO ISA 虚拟指令集,同一套算子代码在不同代际芯片上跑,不需要改。

TileLang 社区。 TileLang-Ascend 针对昇腾做了深度优化,V4 相关实现已在 TileAI 开源社区发布。提供 AscendC 基础指令和 PTO AS 两种对接层次。

昇腾 950 硬件做了什么

  1. 稀疏访存优化:MoE 的专家路由天然离散访存,950 在硬件级做了稀疏访存优化,解决路由带宽瓶颈
  2. Vector 与 Cube 共享 Memory:片上数据搬运开销砍掉,端到端推理时延下降
  3. NAND SSU KV Cache:超低成本超大容量的 KV Cache,4K 到 1M 序列长度都撑得住

技术报告里的一句话

3.1 节专门写了一句:“我们在英伟达 GPU 和华为昇腾 NPU 两个平台上均验证了细粒度 EP(专家并行)方案。”

这是 DeepSeek 官方第一次在正式文档里把昇腾和英伟达并列写进硬件验证清单。不是"兼容",不是"适配",是"并列验证"。昇腾不再是备选方案,是同等优先级的主线平台。


七、开发者实操:怎么用 DeepSeek V4

API 调用

API 已开放,三档推理强度通过 reasoning_effort 参数控制:

from openai import OpenAI

client = OpenAI(
    api_key="your-deepseek-api-key",
    base_url="https://api.deepseek.com"
)

# Standard 模式——快速响应
response = client.chat.completions.create(
    model="deepseek-v4-pro",
    messages=[{"role": "user", "content": "..."}],
    reasoning_effort="standard"  # standard / high / max
)

# Max 模式——推理极限(Putnam-2025 数学竞赛满分)
response = client.chat.completions.create(
    model="deepseek-v4-pro",
    messages=[{"role": "user", "content": "..."}],
    reasoning_effort="max"
)

价格对比

模型 输入价格 ($/M token) 输出价格 ($/M token)
V4-Pro 3.48
V4-Flash 0.28
GPT-5.5 5.00 30.00
Claude Opus 4.7 5.00 25.00

V4-Pro 输出价格是 GPT-5.5 的约 1/9,V4-Flash 更是低到 0.28 美元。不过 DeepSeek 也坦承,Pro 版高端算力供给有限,吞吐捉襟见肘,预计下半年昇腾 950 超节点批量上市后价格还会再降。

开源部署

权重走 MIT 协议,支持 vLLM 推理引擎部署。昇腾 A3 超节点部署方式:

# 基于 vLLM + 昇腾 CANN 环境部署 V4-Flash
# 大 EP 模式,64 卡超节点
python -m vllm.entrypoints.openai.api_server \
    --model deepseek-ai/DeepSeek-V4-Flash \
    --tensor-parallel-size 64 \
    --trust-remote-code

已知限制

  • 仅支持文本,不支持原生多模态
  • Pro 版 API 吞吐有限,高峰期可能排队
  • 首次外部融资后(估值据 36Kr 报道 200-300 亿美元),长期定价策略可能调整
  • 幻觉率数据尚未在 V4 上系统性评估

说完怎么用,回头看训练侧。CSA/mHC/Muon/OPD 都是模型架构层面的活,但要把这些跑起来,训练和推理基础设施也得跟上。

八、MegaMoE 超级内核与训练稳定性

MegaMoE 内核融合

V4 把 MoE 的 dispatch、All-to-All、forward、reduce 融成一条流水线,通用推理加速 1.50~1.96×。MoE 的通信开销被藏到计算里了,专家并行的瓶颈不再是 All-to-All 等待,而是计算本身。

训练稳定性工程

手段 作用 额外开销
预期路由 用历史参数计算路由索引,避免同步更新不稳定 ~20%(仅 loss spike 触发)
SwiGLU 钳位 线性分量 [-10, 10],门控分量上界 10 可忽略
序列长度课程 4K → 16K → 64K → 1M 渐进扩展 训练时间增加约 15%
FP4 量化感知训练 MoE 专家权重和 CSA 索引器 QK 路径

批次不变性设计确保同一个 token 不管在 batch 里排第几个位置,输出逐位一致。听起来不起眼,但在分布式训练里,atomicAdd 操作会带来数值不确定。MoE 模型的路由结果如果不一致,训练就没法复现。


九、DSec 沙箱:Agent 跑代码怎么隔离

V4 给 Agent 场景单独做了 DSec 沙箱,四种隔离模式逐级升档:

模式 隔离级别 什么时候用
Function Call 最低 调 API、结构化输出
Container 中等 跑代码、读写文件
microVM 较高 要系统级隔离的任务
fullVM 最高 需要完整 OS 环境

Agent 工作流里"读代码 → 写代码 → 跑测试 → 改 bug"这种闭环,直接走 Container 或 microVM 就行,不用再外挂编排工具。


Logo

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

更多推荐