DeepSeek-V4-Flash 模型在 Ascend NPU + K920 CPU 实现单卡推理

【免费下载链接】cann-recipes-infer 本项目针对LLM与多模态模型推理业务中的典型模型、加速算法,提供基于CANN平台的优化样例 【免费下载链接】cann-recipes-infer 项目地址: https://gitcode.com/cann/cann-recipes-infer

单张 Atlas 910B + Kunpeng-920 CPU 上跑 DeepSeek-V4-Flash 的混合推理:attention / shared / router / 热专家走 NPU W8A8,其余专家 offload 到 CPU(kt-kernel 吃原生 MXFP4 GGUF,搬运字节减半)+ NPU graph。 生产实测 decode ~13–16 tok/s。瓶颈是 CPU MoE 内存带宽,roadmap 围绕「让 NPU 多接热专家 + CPU↔NPU 重叠」。

950支持正在准备,当前验证基于910B验证,A3验证进行中

当前还未做完备的精度验证,后续会补上,当前decode输出正常回复,基本和https://github.com/sgl-project/sglang/issues/23598的版本能对齐。后续sglang正式版本发布后,会完成正式版本的精度验证。

⚠️ sglang 这部分目前不是正式版本:当前以 patch 形式打在一个 DSv4 公开基线上。待 sglang 主干正式支持 该路径后,会改为基于主干(届时本交付的 sglang 补丁会相应调整甚至废弃)。kt-kernel / llama.cpp 改动相对稳定。

硬件要求

部件 要求
NPU 1× Atlas 910B(64 GB HBM)或 A3。运行占 HBM ~16–20 GB(常驻 expert)+ attention + KV
CPU aarch64,ARMv8.2-A + NEON dotprod(SDOT);不需要 SVE/BF16/I8MM。核越多越好(decode 内存带宽受限,默认 128 线程跨 8 NUMA)。验证于 Kunpeng-920(192 核 / 8 NUMA)
DDR(内存) ≥ 160 GiB 可用,推荐 ≥ 256 GiB:要把 ~138 GiB 的 MXFP4 GGUF 常驻 page cache。decode 是内存带宽瓶颈 → 多通道高带宽(DDR4-3200+ / 多 NUMA)直接决定吞吐,不只是容量。验证于 1.5 TB(8 NUMA)
磁盘 见下表。建议预留 ≥ 600 GiB(转换期 W8A8 + 原生 MXFP4 源 + 生成 GGUF 三者并存峰值 ~560 GiB);GGUF 转完并校验后删原生 MXFP4 源,serving 常驻降到 ~415 GiB(见 ../../../docs/integration/sglang/dsv4-flash-single-npu-moe-offload/dsv4_flash_single_card_inference_guide.md §5)

权重/产物实际大小(本环境实测):

大小 用途
W8A8 safetensors(ModelScope) ~275 GiB NPU 侧,serving 常驻(MODEL_PATH
原生 MXFP4 源(HuggingFace) ~150 GiB 仅转换/校验用,转完可删
MXFP4 GGUF(43 层,转换产物) ~138 GiB CPU 专家,serving 常驻

下载地址与流程见 ../../../docs/integration/sglang/dsv4-flash-single-npu-moe-offload/dsv4_flash_single_card_inference_guide.md §1。

交付物

内容 位置
代码补丁(仅三仓源码改动) main_repo/ sglang/ llama_cpp/ + apply_all.sh
使用文档(端到端步骤) ../../../docs/integration/sglang/dsv4-flash-single-npu-moe-offload/dsv4_flash_single_card_inference_guide.md
方案文档(架构/量化/roadmap/已证伪) ../../../docs/integration/sglang/dsv4-flash-single-npu-moe-offload/dsv4_flash_single_card_design.md
独立脚本(转权重/拉起/校验,不在 patch 内 scripts/

patch 只含三仓代码改动;脚本、文档、权重都不进 patch。背景/方案/进度细节看 USAGE 与 DESIGN,本文不展开。

pristine 基线

公开来源 SHA
ktransformers-AK kvcache-ai/ktransformers(0.6.2.post1) d7b5b49
sglang iforgetmyname/sglang(dsv4_release) 298193eb3
llama.cpp ggerganov/llama.cpp(tag b3173) a94e6ff

第三方来源与许可

下列第三方开源项目由 Huawei Technologies Co., Ltd. 于 2026 年以 patch 形式修改 (补丁见 main_repo/sglang/llama_cpp/)。各项目版权归其原作者所有、遵循各自许可证; 本交付仅含相对上述 pristine 基线的改动,原始版权与许可声明均保留。

项目 上游 许可证 修改方 本交付的修改
ktransformers kvcache-ai/ktransformers @ d7b5b49 Apache-2.0 Huawei (2026) main_repo/*.patch(kt-kernel:Ascend NPU 后端、CPU MoE MXFP4 kernel)
sglang iforgetmyname/sglang @ 298193eb3 Apache-2.0 Huawei (2026) sglang/*.patch(NPU KV/triton 回退、KT EP CPU MoE offload、打包)
llama.cpp ggerganov/llama.cpp @ a94e6ff(b3173) MIT Huawei (2026) llama_cpp/*.patch(GGUF NumPy2 修复、新增 ggml MXFP4 类型)

上述对 Apache-2.0 项目(ktransformers / sglang)的改动,依 Apache-2.0 §4(b) 标注为 "Modified by Huawei Technologies Co., Ltd. in 2026";新增的 ggml MXFP4 类型等对 llama.cpp(MIT) 的改动同此署名。本目录新增的脚本/文档为 Huawei Technologies Co., Ltd. 版权,按 Apache-2.0 发布 (见各文件头与 LICENSE.txt)。

快速开始

端到端步骤(拉镜像/权重 → 起容器 → clone 三仓到上述 SHA + 设 third_party → 打补丁 → 编译 → 转 GGUF → 拉起 → 连贯性验收)详见 ../../../docs/integration/sglang/dsv4-flash-single-npu-moe-offload/dsv4_flash_single_card_inference_guide.md

【免费下载链接】cann-recipes-infer 本项目针对LLM与多模态模型推理业务中的典型模型、加速算法,提供基于CANN平台的优化样例 【免费下载链接】cann-recipes-infer 项目地址: https://gitcode.com/cann/cann-recipes-infer

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐