DeepSeek 的推理架构,已经不只比参数了

举报
yd_278382871 发表于 2026/11/02 12:11:09 2026/11/02
【摘要】 模型内部把注意力成本砍到零头,模型外部把线上真正在跑的推理框架开源。读懂这两层,比记住参数量有用。一、三层改动,各解决一个瓶颈层改动解决什么模型结构CSA + HCA 混合注意力百万上下文下 KV 放不下读写路径Causal-Encoder-Decoder 非对称prefill 和 decode 的瓶颈不一样服务系统DeepInfer 的调度与验证单机跑多快、多省数字上:V4-Pro 在 1...

模型内部把注意力成本砍到零头,模型外部把线上真正在跑的推理框架开源。读懂这两层,比记住参数量有用。

一、三层改动,各解决一个瓶颈

层 改动 解决什么
模型结构 CSA + HCA 混合注意力 百万上下文下 KV 放不下
读写路径 Causal-Encoder-Decoder 非对称 prefill 和 decode 的瓶颈不一样
服务系统 DeepInfer 的调度与验证 单机跑多快、多省

数字上:V4-Pro 在 1M 上下文下单 token 推理 FLOPs 约为 V3.2 的 27%,KV Cache 约为 10%;V4.1 Flash 把全局 KV 压到约 890 B/token,HBM 占用约为前代的四分之一。

三件事叠起来,成本核算的单位就从“模型多大”换成了“每个 token 要读多少 KV、跑几次前向”。

二、CSA 管细节,HCA 管全局

单一稀疏机制在 1M 上会同时撞两堵墙:压缩率不够,KV 放不下;压得太狠,局部细节丢失,长文档里的精确引用开始出错。

V4 的做法是两种稀疏按层交错,各管一段。

CSA(压缩稀疏注意力)四步:

  1. 4 倍 KV 压缩:每 4 个连续 token 的 K/V 用 softmax 门控池化成一个代表 token,1M 变 250K。
  2. 一个小 indexer(FP8 加速)给每个 query 在 250K 个压缩 token 上打分。
  3. 取分数最高的 1024 个压缩块,对应回原序列约 4096 个 token。
  4. 只对这 4096 个 token 做完整注意力。

HCA(高压缩注意力)压得更狠,但读全部压缩条目。它不追局部精度,只保证全局视野始终在线。

偶数层走 CSA,奇数层走 HCA。前者保细节,后者保全局,缺一个都会在长文档里露馅。

代价是稀疏选择与请求内容相关:不同请求选中的块不同,prefix cache 不能只按 token 前缀对齐。后面 DeepInfer 的重放机制,很大一部分是在补这个洞。

三、mHC:残差通路的数值账

网络堆深、专家做多之后,单路残差累加会出现尺度漂移,深层输入的方差逐步偏离初始化分布。常见做法是靠更细的归一化和更小的学习率硬压。

mHC(流形约束超连接)改的是信息在注意力与 MoE 子层之间绕行的方式:把超连接的混合矩阵约束在流形上,保持范数一类性质,让多层叠加后的信号尺度不发散。

这件事在模型侧看是训练稳定性,在系统侧看是算子融合的机会。DeepInfer 和 SGLang 都把 mHC 做成了 Mega 系列算子,与 MegaMoE 直接对接,省掉中间结果的显存往返。同样的卡、同样的权重,拉开差距的往往不是算力,而是 kernel 启动次数和中间张量的读写。

四、8B 读,16B 写

V4.1 Flash 是 552B 参数的 MoE,语言骨干 40 层:20 层因果编码器加 20 层解码器,另有 196B 的 Engram 参数。输入侧激活 8B,输出侧激活 16B。

为什么不对称,看两种负载就行:

  • prefill 是 compute-bound。整段 prompt 一次并行算完,矩阵乘规模大、并行度高,算力容易打满,此时再堆参数收益递减。
  • decode 是 memory-bound。每步只出一个 token,算术强度极低,时间几乎全花在把权重和 KV 从 HBM 搬到计算单元上,参数量带来的表达能力更值钱。

所以 8B 给读、16B 给写,是让两边各落在自己的最优区间,不是取平均值。定价把输入输出分列,也只是如实反映这个成本结构。

Engram 是查表,不参与全量前向。196B 放哪,直接决定还剩多少 HBM 给 KV:放 host memory 省显存但查表走 PCIe;分片放各卡、peer read 省一次主机往返,但要互联带宽。长上下文高并发选前者,短请求高吞吐选后者。

五、DeepInfer 的三个手段

10 月 20 日开源,Apache 2.0。官方定位很明确:这不是通用框架,是支撑 V4.1 Flash 大规模服务的那套引擎。

并行策略没什么新鲜的:注意力侧 DP 加均衡 CP,MoE 侧 EP 加 EPLB。宽 EP 下 EPLB 基本必开——路由是数据相关的,热点专家会直接变成整条流水线的尾延迟。

值得看的是三个调度手段。

DSpark:验证多长由置信度决定。 固定草稿长度的毛病是,越靠后的草稿被接受概率越低,验证它纯亏。DSpark 给草稿加置信度估计,用“前缀存活概率 × 当前吞吐曲线”算这一步验证几个最划算,草稿上限默认 5。

SWA bounded replay:长 prompt 只重放尾巴。 滑窗注意力下,解码层只看最后一段窗口,前面那些层算完就扔是浪费。DeepInfer 让靠后的解码层只对最后 128 个 prompt token 重放;prefix cache 命中时,用最后 128 个缓存 token 重建滑窗 KV,而不是从头重算。长系统提示词、多轮对话、Agent 反复带同一份工具定义,省的就是这部分。

零开销调度:CPU 准备第 N+1 步,GPU 跑第 N 步。 这个思路 DeepInfer 文档里直接记在 SGLang 名下。

另外三个特性在生产里比 benchmark 数字更值钱:

  • 批不变推理:同一条请求不受同批其他人影响,逐 token 一致,线上问题才复现得了。
  • 确定性采样:给定种子可重放,评测和回归测试的前提。
  • 结构化输出:正则、JSON Schema、EBNF 三种约束,Agent 工具调用的底座。

六、它没做的三件事

README 写得很直白:这一版不含 KV cache 系统,不含 PD 分离,不含跨 DP 副本的负载均衡。

SGLang 在 10 月 24 日把这些补上:Mega 系列算子、DSpark、SWA replay、两种 Engram 放置全部进主线,再接自己的 radix cache、PD 分离和副本路由。同硬件对测,64×GB300 上 decode 步长比 DeepInfer 短 1.1% 到 7.4%,prefill 吞吐最高 1.04 倍。

结论很朴素:专用引擎把单机推到极限,通用框架把集群拼成服务。生产选型不必二选一。

七、昇腾 950 上先看哪几个数

DeepInfer 官方支持两套算力:NVIDIA SM100 和昇腾 950。跨平台要处理的是集合通信、内存层级、算子覆盖三件事,按踩坑概率排:

  1. CANN 与固件版本对齐。版本错配的典型表现不是报错,是算子悄悄 fallback 到通用实现,吞吐掉一半还没人发现。
  2. HCCL 拓扑先配对。EP 超过单机 8 卡时,跨机走 RoCE 还是 IB,直接决定 EPLB 的均衡粒度。
  3. 权重是目标精度且已做平台转换。别拿 GPU 侧的融合权重直接跑。

启动模板,路径和并行度按机器填,参数名以仓内 README 和 --help 为准:

export DEEPINFER_ENABLE_MTP_VARLEN=1      # 打开变长草稿验证
export DEEPINFER_USE_NEXTN_DECODE=5       # 草稿上限,默认 5

deepinfer serve \
  --model /models/DeepSeek-V4.1-Flash \
  --device ascend \
  --tp 8 --ep 16 \
  --enable-eplb \
  --max-model-len 131072 \
  --enable-prefix-cache \
  --port 8000

调的顺序:先 prefill,再 decode。prefill 阶段的通信、算子覆盖、显存碎片问题,会伪装成 decode 的性能问题,反过来调会白调一天。

稳住之后再动三个旋钮:草稿长度(接受率高于 0.6 上调,低于 0.3 关掉)、EPLB(EP 大于等于 16 且请求长度方差大时开)、Engram 放置(KV 吃紧放 host)。

八、一表看穿

症状 先查什么 别急着做什么
长上下文 OOM 单 token KV 占用、Engram 放置 先降 max-model-len
decode 慢、GPU 利用率低 草稿接受率、EPLB 分布 加卡
prefix cache 命中但没提速 SWA replay 是否生效 换框架
同样的请求两次结果不同 批不变推理、确定性采样开关 怀疑模型
昇腾上吞吐只有 GPU 一半 算子是否 fallback、HCCL 拓扑 调 batch size

参考:

  • DeepSeek-V4 技术报告,arXiv:2606.19348
  • DeepSeek API 文档 · 更新日志(V4.1-Flash-1017,2026-10-17)
  • DeepInfer 仓库与 README:github.com/deepseek-ai/DeepInfer
  • LMSYS Blog《More Than DeepInfer: What SGLang Delivers》,2026-10-24
  • DSpark: Confidence-Scheduled Speculative Decoding,arXiv:2607.05147
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0)

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。