基于 CANN 平台的大模型推理优化实践
覆盖 DeepSeek、Qwen、GLM、Hunyuan 等主流模型,克隆即用,快速上手昇腾 NPU 推理,复现生产级高性能
📖 概述 · 🚀 快速开始 · 📦 样例列表 · 💬 社区讨论
cann-recipes-infer 仓库旨在针对 LLM 与多模态模型推理业务中的典型模型、加速算法,提供基于 CANN 平台的优化样例,方便开发者简单、快速、高效地使用 CANN 平台进行模型推理。
仓库包含两种类型的实践:
| 类型 | 说明 | 目录 |
|---|---|---|
| 🔬 原生深度优化 | 基于 PyTorch + 仓库轻量化推理框架(executor / module),从算子到算法全栈优化,方便复现和学习 | models/ |
| 🌐 外部框架集成 | 展示如何基于 vLLM、SGLang 等外部框架使能优化特性,适合已熟悉对应框架的开发者快速进行昇腾优化 | integration/ |
| 你是... | 推荐入口 | 预计耗时 |
|---|---|---|
| 👋 初次接触昇腾 | 一站式平台 → 浏览器即可体验 | 10 min |
| 🏗️ 自有环境部署 | 样例列表 → 按模型名查找 | 30 min |
| 🚀 掌握优化方案 | 各模型目录下的性能调优文档 | 按需 |
| ✨ 贡献代码 | 贡献指南 | 15 min |
| 维度 | 说明 |
|---|---|
| ⚡ Day-0 新模型支持 | DeepSeek-V4、Kimi-K2 等热门模型发布当天即完成昇腾适配 |
| 🚀 极致推理性能 | 融合算子、量化、混合切分并行、多流控核等全栈优化,满足生产级吞吐和时延要求 |
| 🔗 生态无缝兼容 | 原生优化只依赖 PyTorch,可快速迁移到基于 Pytorch 的 vLLM / SGLang 等各类生产级框架 |
| 🖥️ 多代际硬件覆盖 | 支持 Atlas A3 / A2 / 950PR·DT,支持不同规模的集群部署 |
| 🤖 Agent 时代就绪 | 持续沉淀模型优化的 Agent Skills,支持 AI Agent 自动化完成新模型的适配与优化 |
「CANNLab 一站式开发平台」是为开发者提供的 NPU 环境,内部已集成完整的 CANN 环境,可以直接使用。cann-recipes-infer 针对该平台在相应样例 README 中提供了简化的「快速启动」路径,帮助用户最小步骤完成 NPU 推理体验。
当前支持的模型:
| 模型实践 | 简介 |
|---|---|
| DeepSeek-V4-Flash 单卡 | 在 Atlas A3 单卡环境中完成 DeepSeek-V4-Flash 推理,MoE 专家 offload 到 Kunpeng CPU,针对CANNLab一站式开发平台场景提供从未定制的 CANN 9.0.0 镜像起分阶段安装依赖与自定义算子的启动流程,帮助用户快速上手完成一次端到端 NPU 推理体验。 |
| GLM-5.3-Flash 单卡 | 在 Atlas A3 单卡环境中完成 GLM-5.3-Flash 推理,MoE 路由专家以 MXFP4 offload 到 Kunpeng CPU,两个补丁均基于各自项目主线,提供从取码打补丁到精度评测的完整可复制粘贴流程,帮助用户快速上手完成一次端到端 NPU 推理体验。 |
| SANA-Video | 基于PyTorch框架,在Atlas A2/A3环境中完成SANA-Video单卡文生视频推理,针对CANNLab一站式开发平台场景提供简化的启动流程,帮助用户快速上手完成一次端到端 NPU 推理体验。 |
| HunyuanVideo | 基于PyTorch框架,在Atlas A2/A3环境中完成HunyuanVideo单卡文生视频推理,针对CANNLab一站式开发平台场景提供简化的启动流程,帮助用户快速上手完成一次端到端 NPU 推理体验。 |
| Wan2.2-I2V | 基于PyTorch框架,在Atlas A2/A3环境中完成Wan2.2-I2V单卡图生视频推理,针对CANNLab一站式开发平台场景提供简化的启动流程,帮助用户快速上手完成一次端到端 NPU 推理体验。 |
| DeepSeek-V4 | 在 Atlas A3 环境中完成 DeepSeek-V4 Flash 模型的8卡推理,针对CANNLab一站式开发平台场景提供标准启动流程和相关配置,帮助用户快速上手完成一次端到端 NPU 推理体验。 |
| Qwen3-8B | 在 Atlas A3 单卡环境中完成 Qwen3-8B 模型推理,针对CANNLab一站式开发平台场景集成 AMCT W8A8 量化与端到端启动流程,帮助用户快速上手完成一次端到端 NPU 推理体验。 |
🧩 更多模型实践持续扩展中,欢迎在 Issues 反馈优先支持的模型实践。
环境要求
| 项目 | 要求 |
|---|---|
| 硬件 | Atlas A3 / A2 / 950PR·DT |
| CANN | 推荐 9.0.0 |
| Python | 推荐 3.11 |
💡 说明:以下样例仅作参考,部分模型需特定硬件或 CANN 版本支持,具体兼容性要求请查看 各模型目录下的 README 文档。
大语言模型(以 Qwen3-MoE 为例)
# Step 1: 克隆仓库
git clone https://gitcode.com/cann/cann-recipes-infer.git
cd cann-recipes-infer
# Step 2: 进入模型目录,安装依赖
cd models/qwen3_moe
pip install -r requirements.txt
# Step 3: 执行根目录下的脚本一键启动推理
bash ../../executor/scripts/infer.sh --model qwen3_moe --yaml qwen3_235b_16tp.yaml
多模态生成模型(以 SANA-Video 为例)
cd models/sana-video
# 按模型 README 完成权重与环境配置后启动
bash infer.sh
| 模型实践 | 简介 |
|---|---|
| DeepSeek-V4.1-Flash | 950PR/DT昇腾芯片,原生支持多模态推理,Engram offload等优化特性。 |
| daVinci-MagiHuman | 基于Transformers库,在Atlas A2/A3环境中完成daVinci-MagiHuman模型部署,使能融合算子等优化特性。 |
| Kimi-K3 | 基于Transformers库,在昇腾950PR/DT环境中完成Kimi-K3混合注意力MoE模型的推理部署,KDA接入框架Mamba Cache,Routed Expert采用原生MXFP4权重与动态MXFP8激活,使能图模式编译与多流并行等优化特性。 |
| Ling-2.5 | 基于Transformers库,在昇腾950DT环境中完成Ling-2.5混合注意力MoE模型的推理部署,GLA线性注意力与MLA全注意力按层交替,Linear采用MXFP w8a8量化、MoE路由专家采用MXFP w4a8量化,使能图模式编译与多流并行等优化特性。 |
| GLM-5.2 | 基于Transformers库,沿用 DSA + MoE + MTP 结构,新增 IndexShare(跨层 top-k 复用),支持 W8A8 量化与 KV Offload 长序列部署。 |
| DeepSeek-V4 | 支持Atlas A3和950PR/DT多代际昇腾芯片,兼具1M长序列推理能力与超低交互时延表现,为DeepSeek模型支持Agentic应用提供计算底座,满足千行百业灵活要求。 |
| DeepSeek-V4 AFD(Attention-FFN 分离) | 基于 vLLM、vLLM-Ascend 和 afd-plugin,在昇腾 A5 上分别部署 Attention 与 FFN,提供 P2P 同步和 Window 异步启动配置,支持双 microbatch、ACLGraph 和 DSpark。方案设计见方案说明。 |
| DeepSeek-V4-Flash 单卡(NPU + CPU MoE offload) | 基于SGLang框架,在单张Atlas A3(或910B)+ Kunpeng CPU上完成DeepSeek-V4-Flash推理:attention/shared/router/热专家走NPU W8A8,其余专家offload到CPU并以原生MXFP4计算,使能动态热专家常驻、长序列流式prefill、AscendC MXFP4算子在线转换、CPU↔NPU多流overlap等优化,A3实测decode约19–22.5 tok/s。端到端部署步骤见使用指南。 |
| GLM-5.3-Flash 单卡(NPU + CPU MoE offload) | 基于SGLang框架,在单张Atlas A3 die + Kunpeng CPU上完成GLM-5.3-Flash推理:attention/dense层/常驻专家走NPU INT8 W8A8,其余路由专家offload到主机DDR并以MXFP4计算,使能流式prefill与动态热专家常驻。两个补丁均基于上游主线(ktransformers 6d460cc1 / sglang 5aab054e)。困惑度32窗实测3.5888,验收11/11全过。端到端步骤见样例 README,技术实现见设计文档。 |
| DeepSeek-V4.1-Flash 单卡(NPU + CPU MoE offload) | 基于vLLM框架,在单张Ascend 950PR + x86 CPU上完成DeepSeek-V4.1-Flash推理:attention/稠密层/100个常驻专家走NPU,其余路由专家offload到主机内存并以原生MXFP4计算,layers.1与layers.14的engram表以只读映射常驻/dev/shm。三棵源码树均按40位提交号固定,kt-kernel的定制改动从ktransformers主仓基线(105359b4)以10个patch方式应用,应用后git write-tree逐位校验。端到端步骤见样例 README,技术实现见设计文档。 |
| Qwen3.5 | 基于Transformers库,在Atlas A3环境中完成Qwen3.5模型文生文通路适配优化,支持TP/EP并行部署,使能融合算子、图模式编译等优化特性。 |
| HunyuanVideo | 基于xDiT框架,在Atlas A2环境中采用了Ulysses序列并行和RingAttention序列并行策略,同时适配了FBCache和TeaCache加速。 |
| Qwen Dense (Qwen3-8B / Qwen2.5-7B-Instruct) | 基于Transformers库,在Atlas A2/A3环境中完成Qwen2/Qwen3 Dense模型推理适配,通过config自动识别模型变体,使能融合算子、图模式编译、Packed Sequence(TND格式)、Page Attention等优化特性。 |
| SANA-Video | 基于PyTorch框架,在Atlas A2/A3环境中完成SANA-Video模型适配和优化,使能NPU融合算子,实现较高的推理性能,支持单机单卡以及单机多卡DP部署。 |
| Qwen3-MoE | 基于Transformers库,在Atlas A3环境中完成Qwen3-235B-A22B模型的适配优化,支持TP或EP部署。 |
| HunyuanImage-3.0 | 基于Transformers库,在Atlas A2/A3环境中完成HunyuanImage-3.0模型部署,支持TP和EP并行部署,使能多流并行、CFG并行、VAE并行,同时结合了融合算子、消除冗余算子等优化特性。 |
| GLM-5 | 基于Transformers库,在Atlas A3环境中Prefill阶段采用了长序列亲和的CP并行策略,Decode阶段沿用大EP并行,实现了较高的吞吐推理性能。 |
| LongCat-Flash | 基于Transformers库,在Atlas A3环境中完成LongCat-Flash模型低时延场景适配优化,支持TP或EP部署,使能多流并行、控核、权重预取等优化特性。 |
| GPT-OSS | 基于Transformers库,在Atlas A2环境中完成gpt-oss模型部署,其中GPT-OSS-120B模型可以采用8卡部署,GPT-OSS-20B模型可以在单device上进行部署。 |
| HSTU | 基于RecSDK库,在Atlas A2环境中完成HSTU模型部署,支持单机单卡和单机多卡部署,使能KV Cache多级缓存管理、支持aclgraph,同时结合了hstu_paged融合算子等优化特性。 |
| DeepSeek-OCR-2 | 基于vllm + vllm-ascend库,在Atlas A2环境中完成DeepSeek-OCR-2模型部署,支持单图、PDF文档和批量评估。 |
| Kimi-K2-Thinking | 基于Transformers库,在Atlas A3环境中完成Kimi-K2-Thinking 256K模型部署,支持原生量化模式,MOE采用W4A16计算,Attention保留BF16精度模式。最小部署单元为单机,同时支持多机大EP部署模式。 |
| DeepSeek-R1/Kimi-K2 | 基于Transformers库,在Atlas A3环境中完成DeepSeek-R1/Kimi-K2模型低时延、高吞吐两种场景的适配优化,在Prefill阶段支持DP或TP+SP并行部署,在Decode阶段沿用大EP并行,同时还结合了融合算子和多流并行等优化特性。 |
| Wan2.2-I2V | 基于Transformers库,在Atlas A2环境中完成Wan2.2-I2V模型的适配优化。 |
| DeepSeek-V3.2-Exp | 基于Transformers库,在Atlas A3环境中Prefill阶段采用了长序列亲和的CP并行策略,Decode阶段沿用大EP并行,同时从整网上设计了新的NPU融合Kernel和多流并行优化,实现了较高的吞吐推理性能。 |
| Hy3 | 基于Transformers库,在Atlas A3和Ascend 950PR/DT环境中完成腾讯混元 Hy3(295B MoE,激活约21B/token)模型的NPU推理适配。 |
| Gemma-4 | 基于Transformers库,在NPU上完成Google开源的多模态稀疏MoE大模型Gemma-4的Language MoE Decoder路径推理优化适配。 |
| LongCat-Flash-Lite | 基于Transformers库,在NPU上完成基于MLA + Sparse MoE + N-gram Embedding架构的LongCat-Flash-Lite模型适配,覆盖Paged Attention缓存管理、融合算子替换、图模式加速、专家并行、W8A8量化与Decode多流重叠优化。 |
| LongCat-Next | 基于Transformers库,在Atlas A3环境中完成LongCat-Next模型的NPU推理适配,支持图像和音频输入,支持文本、图像与语音的多模态生成,支持TP/EP并行部署。 |
| Step-3.7-Flash | 基于Transformers库,在Atlas A3环境中完成多模态MoE大模型Step-3.7-Flash(视觉编码器+MoE文本主干+3层MTP,约197B参数)的8卡/16 rank推理实现,支持纯文本与图文输入。 |
| Pangu7B | 基于HuggingFace官方实现,在NPU上完成华为开源盘古7B大语言模型的低时延推理适配与优化。 |
| DeepSeek-V4-TileLang/Inductor | 基于TileLang-ascend算子替换与inductor+autofuse融合编译,在昇腾A3 NPU上展示DeepSeek模型的加速效果。 |
├── .agents # Agent skills 与 subagent 源码
├── docs # 文档目录
│ ├── agent # Agent 相关设计文档
│ ├── cann # CANN 平台相关文档
│ ├── common # 公共文档(推理配置指南、新模型清单等)
│ ├── design # 设计文档(executor、KV Cache、多流并行等)
│ ├── integration # 外部框架集成模型文档目录
│ │ └── sglang # SGLang 框架集成模型文档
│ │ ├── dsv4-flash-single-npu-moe-offload
│ │ ├── glm53-flash-single-npu-moe-offload
│ │ └── qwen3-next
│ └── models # 原生深度优化模型文档
│ ├── deepseek_r1
│ ├── deepseek_v3_2_exp
│ ├── deepseek_v4
| ├── deepseek_v4_1
│ └── ...
├── accelerator # 加速算法样例
├── benchmark # 基于 EvalScope 的在线推理精度评测指南与脚本
│ └── evalscope_scripts # EvalScope 评测脚本(LongBench 长上下文评测)
├── dataset # 数据集和默认 prompt
├── executor # 推理执行框架
│ ├── core # 核心模块
│ │ ├── config # 推理配置管理
│ │ ├── engine # 执行引擎
│ │ ├── forward_data_info # 前向数据信息管理
│ │ ├── kv_cache # KV Cache 管理器
│ │ ├── model_worker # 模型 worker 与 MTP worker
│ │ └── scheduler # 任务调度器
│ ├── model_loader # 权重加载与格式适配
│ ├── offline # 离线推理入口与执行逻辑
│ ├── online # 在线推理服务
│ │ ├── kv_transfer # KV Transfer 引擎
│ │ └── scheduler # Prefill/Decode 调度
│ ├── scripts # 环境与测试脚本
│ ├── utils # 通用工具模块
│ └── model_runner.py # ModelRunner 类定义
├── integration # 外部框架集成
│ ├── custom # 自定义集成方案
│ │ └── deepseek-v3-ascend310p
│ ├── sglang # SGLang 框架集成
│ │ ├── dsv4-flash-single-npu-moe-offload
│ │ ├── llada2.x
│ │ ├── qwen3-moe
│ │ └── qwen3-next
│ └── vllm # vLLM 框架集成
│ ├── deepseek-ocr-2
│ ├── dsv4-afd # DeepSeek-V4 AFD 部署与启动指南
│ ├── dsv41-flash-single-npu-moe-offload
│ ├── minimax_m2.5_mxfp4
│ └── pd-hybrid-dp-ep
├── models # 模型脚本目录
│ ├── deepseek_v4 # DeepSeek-V4 的模型脚本及执行配置
│ ├── deepseek_v4_flash_tilelang_and_inductor_af # DeepSeek-V4 Flash TileLang/Inductor 算子样例
│ ├── deepseek_r1 # DeepSeek-R1 的模型脚本及执行配置
│ ├── deepseek_v3_2_exp # DeepSeek-V3.2-Exp 的模型脚本及执行配置
│ ├── gemma_4 # Gemma4 模型脚本及执行配置
│ ├── glm_5 # GLM-5 的模型脚本及执行配置
│ ├── glm_5_2 # GLM-5.2 的模型脚本及执行配置
│ ├── gpt_oss # GPT-OSS 的模型脚本及执行配置
│ ├── hstu # HSTU 的模型脚本及执行配置
│ ├── hunyuan-image-3.0 # HunyuanImage-3.0 的模型脚本及执行配置
│ ├── hunyuan-video # HunyuanVideo 的模型脚本及执行配置
│ ├── hy3 # Hy3 的模型脚本及执行配置
│ ├── kimi_k2_thinking # Kimi-K2-Thinking 的模型脚本及执行配置
│ ├── kimi_k3 # Kimi-K3 的模型脚本及执行配置
│ ├── longcat_flash # LongCat-Flash 的模型脚本及执行配置
│ ├── longcat_flash_lite # LongCat-Flash-Lite 的模型脚本及执行配置
│ ├── longcat_next # LongCat-Next 的模型脚本及执行配置
│ ├── pangu_7b # PanGu-7B 的模型脚本及执行配置
│ ├── qwen # Qwen2/Qwen3 Dense 模型统一脚本及执行配置
│ ├── qwen3_5 # Qwen3.5 的模型脚本及执行配置
│ ├── qwen3_moe # Qwen3-MoE 的模型脚本及执行配置
│ ├── sana-video # SANA-Video 的模型脚本及执行配置
│ ├── step3p7_flash # Step3p7-Flash 的模型脚本及执行配置
│ ├── wan2.2-i2v # Wan2.2-I2V 的模型脚本及执行配置
│ └── ...
├── module # Linear 等基础 layer 的类定义
│ ├── blockwise_sparse # 稀疏处理模块
│ ├── dit_cache # DiT Cache 模块
│ ├── fa_quant # FA 量化模块
│ ├── quantization # 量化模块(FP8/MXFP8/压缩张量等)
│ ├── unified_sp # 统一序列并行模块
│ ├── fuse_moe_gmm.py # MoE GMM 融合算子
│ ├── linear.py # Linear 类定义
│ ├── utils.py # 工具函数
│ └── vae_patch_parallel.py # VAE 并行补丁
├── ops # 算子目录
│ ├── ascendc # AscendC 算子(HC、Indexer、MoE 等)
│ ├── pypto # PyPTO 算子(Lightning Indexer 等)
│ └── ...
├── scripts # 仓库工具脚本(Agent 客户端初始化等)
├── tests # 核心推理模块与在线服务测试(调度、KV 传输等)
│ ├── core # 核心模块测试(序列打包、连续批处理、PD 请求字段)
│ └── online # 在线推理服务测试
│ ├── kv_transfer # KV 传输、元数据缓冲与引导服务测试
│ ├── scheduler # Prefill/Decode 分离调度器测试
│ └── server # 服务端辅助函数、PD 路由与 DP 分发测试
├── AGENTS.md # Agent 使用说明
├── CONTRIBUTION.md # 贡献指南
├── DISCLAIMER.md # 免责声明
├── LICENSE # 许可证
└── README.md # 项目说明文档
欢迎各种形式的贡献:新模型适配、性能优化、文档改进、Bug 反馈。
请参阅 贡献指南 了解提交流程和代码规范。
Made with ❤️ by the CANN Team · More CANN Projects
2,136 followers · starred Jun 2026
基于 CANN 平台的大模型推理优化实践
覆盖 DeepSeek、Qwen、GLM、Hunyuan 等主流模型,克隆即用,快速上手昇腾 NPU 推理,复现生产级高性能
📖 概述 · 🚀 快速开始 · 📦 样例列表 · 💬 社区讨论
cann-recipes-infer 仓库旨在针对 LLM 与多模态模型推理业务中的典型模型、加速算法,提供基于 CANN 平台的优化样例,方便开发者简单、快速、高效地使用 CANN 平台进行模型推理。
仓库包含两种类型的实践:
| 类型 | 说明 | 目录 |
|---|---|---|
| 🔬 原生深度优化 | 基于 PyTorch + 仓库轻量化推理框架(executor / module),从算子到算法全栈优化,方便复现和学习 | models/ |
| 🌐 外部框架集成 | 展示如何基于 vLLM、SGLang 等外部框架使能优化特性,适合已熟悉对应框架的开发者快速进行昇腾优化 | integration/ |
| 你是... | 推荐入口 | 预计耗时 |
|---|---|---|
| 👋 初次接触昇腾 | 一站式平台 → 浏览器即可体验 | 10 min |
| 🏗️ 自有环境部署 | 样例列表 → 按模型名查找 | 30 min |
| 🚀 掌握优化方案 | 各模型目录下的性能调优文档 | 按需 |
| ✨ 贡献代码 | 贡献指南 | 15 min |
| 维度 | 说明 |
|---|---|
| ⚡ Day-0 新模型支持 | DeepSeek-V4、Kimi-K2 等热门模型发布当天即完成昇腾适配 |
| 🚀 极致推理性能 | 融合算子、量化、混合切分并行、多流控核等全栈优化,满足生产级吞吐和时延要求 |
| 🔗 生态无缝兼容 | 原生优化只依赖 PyTorch,可快速迁移到基于 Pytorch 的 vLLM / SGLang 等各类生产级框架 |
| 🖥️ 多代际硬件覆盖 | 支持 Atlas A3 / A2 / 950PR·DT,支持不同规模的集群部署 |
| 🤖 Agent 时代就绪 | 持续沉淀模型优化的 Agent Skills,支持 AI Agent 自动化完成新模型的适配与优化 |
「CANNLab 一站式开发平台」是为开发者提供的 NPU 环境,内部已集成完整的 CANN 环境,可以直接使用。cann-recipes-infer 针对该平台在相应样例 README 中提供了简化的「快速启动」路径,帮助用户最小步骤完成 NPU 推理体验。
当前支持的模型:
| 模型实践 | 简介 |
|---|---|
| DeepSeek-V4-Flash 单卡 | 在 Atlas A3 单卡环境中完成 DeepSeek-V4-Flash 推理,MoE 专家 offload 到 Kunpeng CPU,针对CANNLab一站式开发平台场景提供从未定制的 CANN 9.0.0 镜像起分阶段安装依赖与自定义算子的启动流程,帮助用户快速上手完成一次端到端 NPU 推理体验。 |
| GLM-5.3-Flash 单卡 | 在 Atlas A3 单卡环境中完成 GLM-5.3-Flash 推理,MoE 路由专家以 MXFP4 offload 到 Kunpeng CPU,两个补丁均基于各自项目主线,提供从取码打补丁到精度评测的完整可复制粘贴流程,帮助用户快速上手完成一次端到端 NPU 推理体验。 |
| SANA-Video | 基于PyTorch框架,在Atlas A2/A3环境中完成SANA-Video单卡文生视频推理,针对CANNLab一站式开发平台场景提供简化的启动流程,帮助用户快速上手完成一次端到端 NPU 推理体验。 |
| HunyuanVideo | 基于PyTorch框架,在Atlas A2/A3环境中完成HunyuanVideo单卡文生视频推理,针对CANNLab一站式开发平台场景提供简化的启动流程,帮助用户快速上手完成一次端到端 NPU 推理体验。 |
| Wan2.2-I2V | 基于PyTorch框架,在Atlas A2/A3环境中完成Wan2.2-I2V单卡图生视频推理,针对CANNLab一站式开发平台场景提供简化的启动流程,帮助用户快速上手完成一次端到端 NPU 推理体验。 |
| DeepSeek-V4 | 在 Atlas A3 环境中完成 DeepSeek-V4 Flash 模型的8卡推理,针对CANNLab一站式开发平台场景提供标准启动流程和相关配置,帮助用户快速上手完成一次端到端 NPU 推理体验。 |
| Qwen3-8B | 在 Atlas A3 单卡环境中完成 Qwen3-8B 模型推理,针对CANNLab一站式开发平台场景集成 AMCT W8A8 量化与端到端启动流程,帮助用户快速上手完成一次端到端 NPU 推理体验。 |
🧩 更多模型实践持续扩展中,欢迎在 Issues 反馈优先支持的模型实践。
环境要求
| 项目 | 要求 |
|---|---|
| 硬件 | Atlas A3 / A2 / 950PR·DT |
| CANN | 推荐 9.0.0 |
| Python | 推荐 3.11 |
💡 说明:以下样例仅作参考,部分模型需特定硬件或 CANN 版本支持,具体兼容性要求请查看 各模型目录下的 README 文档。
大语言模型(以 Qwen3-MoE 为例)
# Step 1: 克隆仓库
git clone https://gitcode.com/cann/cann-recipes-infer.git
cd cann-recipes-infer
# Step 2: 进入模型目录,安装依赖
cd models/qwen3_moe
pip install -r requirements.txt
# Step 3: 执行根目录下的脚本一键启动推理
bash ../../executor/scripts/infer.sh --model qwen3_moe --yaml qwen3_235b_16tp.yaml
多模态生成模型(以 SANA-Video 为例)
cd models/sana-video
# 按模型 README 完成权重与环境配置后启动
bash infer.sh
| 模型实践 | 简介 |
|---|---|
| DeepSeek-V4.1-Flash | 950PR/DT昇腾芯片,原生支持多模态推理,Engram offload等优化特性。 |
| daVinci-MagiHuman | 基于Transformers库,在Atlas A2/A3环境中完成daVinci-MagiHuman模型部署,使能融合算子等优化特性。 |
| Kimi-K3 | 基于Transformers库,在昇腾950PR/DT环境中完成Kimi-K3混合注意力MoE模型的推理部署,KDA接入框架Mamba Cache,Routed Expert采用原生MXFP4权重与动态MXFP8激活,使能图模式编译与多流并行等优化特性。 |
| Ling-2.5 | 基于Transformers库,在昇腾950DT环境中完成Ling-2.5混合注意力MoE模型的推理部署,GLA线性注意力与MLA全注意力按层交替,Linear采用MXFP w8a8量化、MoE路由专家采用MXFP w4a8量化,使能图模式编译与多流并行等优化特性。 |
| GLM-5.2 | 基于Transformers库,沿用 DSA + MoE + MTP 结构,新增 IndexShare(跨层 top-k 复用),支持 W8A8 量化与 KV Offload 长序列部署。 |
| DeepSeek-V4 | 支持Atlas A3和950PR/DT多代际昇腾芯片,兼具1M长序列推理能力与超低交互时延表现,为DeepSeek模型支持Agentic应用提供计算底座,满足千行百业灵活要求。 |
| DeepSeek-V4 AFD(Attention-FFN 分离) | 基于 vLLM、vLLM-Ascend 和 afd-plugin,在昇腾 A5 上分别部署 Attention 与 FFN,提供 P2P 同步和 Window 异步启动配置,支持双 microbatch、ACLGraph 和 DSpark。方案设计见方案说明。 |
| DeepSeek-V4-Flash 单卡(NPU + CPU MoE offload) | 基于SGLang框架,在单张Atlas A3(或910B)+ Kunpeng CPU上完成DeepSeek-V4-Flash推理:attention/shared/router/热专家走NPU W8A8,其余专家offload到CPU并以原生MXFP4计算,使能动态热专家常驻、长序列流式prefill、AscendC MXFP4算子在线转换、CPU↔NPU多流overlap等优化,A3实测decode约19–22.5 tok/s。端到端部署步骤见使用指南。 |
| GLM-5.3-Flash 单卡(NPU + CPU MoE offload) | 基于SGLang框架,在单张Atlas A3 die + Kunpeng CPU上完成GLM-5.3-Flash推理:attention/dense层/常驻专家走NPU INT8 W8A8,其余路由专家offload到主机DDR并以MXFP4计算,使能流式prefill与动态热专家常驻。两个补丁均基于上游主线(ktransformers 6d460cc1 / sglang 5aab054e)。困惑度32窗实测3.5888,验收11/11全过。端到端步骤见样例 README,技术实现见设计文档。 |
| DeepSeek-V4.1-Flash 单卡(NPU + CPU MoE offload) | 基于vLLM框架,在单张Ascend 950PR + x86 CPU上完成DeepSeek-V4.1-Flash推理:attention/稠密层/100个常驻专家走NPU,其余路由专家offload到主机内存并以原生MXFP4计算,layers.1与layers.14的engram表以只读映射常驻/dev/shm。三棵源码树均按40位提交号固定,kt-kernel的定制改动从ktransformers主仓基线(105359b4)以10个patch方式应用,应用后git write-tree逐位校验。端到端步骤见样例 README,技术实现见设计文档。 |
| Qwen3.5 | 基于Transformers库,在Atlas A3环境中完成Qwen3.5模型文生文通路适配优化,支持TP/EP并行部署,使能融合算子、图模式编译等优化特性。 |
| HunyuanVideo | 基于xDiT框架,在Atlas A2环境中采用了Ulysses序列并行和RingAttention序列并行策略,同时适配了FBCache和TeaCache加速。 |
| Qwen Dense (Qwen3-8B / Qwen2.5-7B-Instruct) | 基于Transformers库,在Atlas A2/A3环境中完成Qwen2/Qwen3 Dense模型推理适配,通过config自动识别模型变体,使能融合算子、图模式编译、Packed Sequence(TND格式)、Page Attention等优化特性。 |
| SANA-Video | 基于PyTorch框架,在Atlas A2/A3环境中完成SANA-Video模型适配和优化,使能NPU融合算子,实现较高的推理性能,支持单机单卡以及单机多卡DP部署。 |
| Qwen3-MoE | 基于Transformers库,在Atlas A3环境中完成Qwen3-235B-A22B模型的适配优化,支持TP或EP部署。 |
| HunyuanImage-3.0 | 基于Transformers库,在Atlas A2/A3环境中完成HunyuanImage-3.0模型部署,支持TP和EP并行部署,使能多流并行、CFG并行、VAE并行,同时结合了融合算子、消除冗余算子等优化特性。 |
| GLM-5 | 基于Transformers库,在Atlas A3环境中Prefill阶段采用了长序列亲和的CP并行策略,Decode阶段沿用大EP并行,实现了较高的吞吐推理性能。 |
| LongCat-Flash | 基于Transformers库,在Atlas A3环境中完成LongCat-Flash模型低时延场景适配优化,支持TP或EP部署,使能多流并行、控核、权重预取等优化特性。 |
| GPT-OSS | 基于Transformers库,在Atlas A2环境中完成gpt-oss模型部署,其中GPT-OSS-120B模型可以采用8卡部署,GPT-OSS-20B模型可以在单device上进行部署。 |
| HSTU | 基于RecSDK库,在Atlas A2环境中完成HSTU模型部署,支持单机单卡和单机多卡部署,使能KV Cache多级缓存管理、支持aclgraph,同时结合了hstu_paged融合算子等优化特性。 |
| DeepSeek-OCR-2 | 基于vllm + vllm-ascend库,在Atlas A2环境中完成DeepSeek-OCR-2模型部署,支持单图、PDF文档和批量评估。 |
| Kimi-K2-Thinking | 基于Transformers库,在Atlas A3环境中完成Kimi-K2-Thinking 256K模型部署,支持原生量化模式,MOE采用W4A16计算,Attention保留BF16精度模式。最小部署单元为单机,同时支持多机大EP部署模式。 |
| DeepSeek-R1/Kimi-K2 | 基于Transformers库,在Atlas A3环境中完成DeepSeek-R1/Kimi-K2模型低时延、高吞吐两种场景的适配优化,在Prefill阶段支持DP或TP+SP并行部署,在Decode阶段沿用大EP并行,同时还结合了融合算子和多流并行等优化特性。 |
| Wan2.2-I2V | 基于Transformers库,在Atlas A2环境中完成Wan2.2-I2V模型的适配优化。 |
| DeepSeek-V3.2-Exp | 基于Transformers库,在Atlas A3环境中Prefill阶段采用了长序列亲和的CP并行策略,Decode阶段沿用大EP并行,同时从整网上设计了新的NPU融合Kernel和多流并行优化,实现了较高的吞吐推理性能。 |
| Hy3 | 基于Transformers库,在Atlas A3和Ascend 950PR/DT环境中完成腾讯混元 Hy3(295B MoE,激活约21B/token)模型的NPU推理适配。 |
| Gemma-4 | 基于Transformers库,在NPU上完成Google开源的多模态稀疏MoE大模型Gemma-4的Language MoE Decoder路径推理优化适配。 |
| LongCat-Flash-Lite | 基于Transformers库,在NPU上完成基于MLA + Sparse MoE + N-gram Embedding架构的LongCat-Flash-Lite模型适配,覆盖Paged Attention缓存管理、融合算子替换、图模式加速、专家并行、W8A8量化与Decode多流重叠优化。 |
| LongCat-Next | 基于Transformers库,在Atlas A3环境中完成LongCat-Next模型的NPU推理适配,支持图像和音频输入,支持文本、图像与语音的多模态生成,支持TP/EP并行部署。 |
| Step-3.7-Flash | 基于Transformers库,在Atlas A3环境中完成多模态MoE大模型Step-3.7-Flash(视觉编码器+MoE文本主干+3层MTP,约197B参数)的8卡/16 rank推理实现,支持纯文本与图文输入。 |
| Pangu7B | 基于HuggingFace官方实现,在NPU上完成华为开源盘古7B大语言模型的低时延推理适配与优化。 |
| DeepSeek-V4-TileLang/Inductor | 基于TileLang-ascend算子替换与inductor+autofuse融合编译,在昇腾A3 NPU上展示DeepSeek模型的加速效果。 |
├── .agents # Agent skills 与 subagent 源码
├── docs # 文档目录
│ ├── agent # Agent 相关设计文档
│ ├── cann # CANN 平台相关文档
│ ├── common # 公共文档(推理配置指南、新模型清单等)
│ ├── design # 设计文档(executor、KV Cache、多流并行等)
│ ├── integration # 外部框架集成模型文档目录
│ │ └── sglang # SGLang 框架集成模型文档
│ │ ├── dsv4-flash-single-npu-moe-offload
│ │ ├── glm53-flash-single-npu-moe-offload
│ │ └── qwen3-next
│ └── models # 原生深度优化模型文档
│ ├── deepseek_r1
│ ├── deepseek_v3_2_exp
│ ├── deepseek_v4
| ├── deepseek_v4_1
│ └── ...
├── accelerator # 加速算法样例
├── benchmark # 基于 EvalScope 的在线推理精度评测指南与脚本
│ └── evalscope_scripts # EvalScope 评测脚本(LongBench 长上下文评测)
├── dataset # 数据集和默认 prompt
├── executor # 推理执行框架
│ ├── core # 核心模块
│ │ ├── config # 推理配置管理
│ │ ├── engine # 执行引擎
│ │ ├── forward_data_info # 前向数据信息管理
│ │ ├── kv_cache # KV Cache 管理器
│ │ ├── model_worker # 模型 worker 与 MTP worker
│ │ └── scheduler # 任务调度器
│ ├── model_loader # 权重加载与格式适配
│ ├── offline # 离线推理入口与执行逻辑
│ ├── online # 在线推理服务
│ │ ├── kv_transfer # KV Transfer 引擎
│ │ └── scheduler # Prefill/Decode 调度
│ ├── scripts # 环境与测试脚本
│ ├── utils # 通用工具模块
│ └── model_runner.py # ModelRunner 类定义
├── integration # 外部框架集成
│ ├── custom # 自定义集成方案
│ │ └── deepseek-v3-ascend310p
│ ├── sglang # SGLang 框架集成
│ │ ├── dsv4-flash-single-npu-moe-offload
│ │ ├── llada2.x
│ │ ├── qwen3-moe
│ │ └── qwen3-next
│ └── vllm # vLLM 框架集成
│ ├── deepseek-ocr-2
│ ├── dsv4-afd # DeepSeek-V4 AFD 部署与启动指南
│ ├── dsv41-flash-single-npu-moe-offload
│ ├── minimax_m2.5_mxfp4
│ └── pd-hybrid-dp-ep
├── models # 模型脚本目录
│ ├── deepseek_v4 # DeepSeek-V4 的模型脚本及执行配置
│ ├── deepseek_v4_flash_tilelang_and_inductor_af # DeepSeek-V4 Flash TileLang/Inductor 算子样例
│ ├── deepseek_r1 # DeepSeek-R1 的模型脚本及执行配置
│ ├── deepseek_v3_2_exp # DeepSeek-V3.2-Exp 的模型脚本及执行配置
│ ├── gemma_4 # Gemma4 模型脚本及执行配置
│ ├── glm_5 # GLM-5 的模型脚本及执行配置
│ ├── glm_5_2 # GLM-5.2 的模型脚本及执行配置
│ ├── gpt_oss # GPT-OSS 的模型脚本及执行配置
│ ├── hstu # HSTU 的模型脚本及执行配置
│ ├── hunyuan-image-3.0 # HunyuanImage-3.0 的模型脚本及执行配置
│ ├── hunyuan-video # HunyuanVideo 的模型脚本及执行配置
│ ├── hy3 # Hy3 的模型脚本及执行配置
│ ├── kimi_k2_thinking # Kimi-K2-Thinking 的模型脚本及执行配置
│ ├── kimi_k3 # Kimi-K3 的模型脚本及执行配置
│ ├── longcat_flash # LongCat-Flash 的模型脚本及执行配置
│ ├── longcat_flash_lite # LongCat-Flash-Lite 的模型脚本及执行配置
│ ├── longcat_next # LongCat-Next 的模型脚本及执行配置
│ ├── pangu_7b # PanGu-7B 的模型脚本及执行配置
│ ├── qwen # Qwen2/Qwen3 Dense 模型统一脚本及执行配置
│ ├── qwen3_5 # Qwen3.5 的模型脚本及执行配置
│ ├── qwen3_moe # Qwen3-MoE 的模型脚本及执行配置
│ ├── sana-video # SANA-Video 的模型脚本及执行配置
│ ├── step3p7_flash # Step3p7-Flash 的模型脚本及执行配置
│ ├── wan2.2-i2v # Wan2.2-I2V 的模型脚本及执行配置
│ └── ...
├── module # Linear 等基础 layer 的类定义
│ ├── blockwise_sparse # 稀疏处理模块
│ ├── dit_cache # DiT Cache 模块
│ ├── fa_quant # FA 量化模块
│ ├── quantization # 量化模块(FP8/MXFP8/压缩张量等)
│ ├── unified_sp # 统一序列并行模块
│ ├── fuse_moe_gmm.py # MoE GMM 融合算子
│ ├── linear.py # Linear 类定义
│ ├── utils.py # 工具函数
│ └── vae_patch_parallel.py # VAE 并行补丁
├── ops # 算子目录
│ ├── ascendc # AscendC 算子(HC、Indexer、MoE 等)
│ ├── pypto # PyPTO 算子(Lightning Indexer 等)
│ └── ...
├── scripts # 仓库工具脚本(Agent 客户端初始化等)
├── tests # 核心推理模块与在线服务测试(调度、KV 传输等)
│ ├── core # 核心模块测试(序列打包、连续批处理、PD 请求字段)
│ └── online # 在线推理服务测试
│ ├── kv_transfer # KV 传输、元数据缓冲与引导服务测试
│ ├── scheduler # Prefill/Decode 分离调度器测试
│ └── server # 服务端辅助函数、PD 路由与 DP 分发测试
├── AGENTS.md # Agent 使用说明
├── CONTRIBUTION.md # 贡献指南
├── DISCLAIMER.md # 免责声明
├── LICENSE # 许可证
└── README.md # 项目说明文档
欢迎各种形式的贡献:新模型适配、性能优化、文档改进、Bug 反馈。
请参阅 贡献指南 了解提交流程和代码规范。
Made with ❤️ by the CANN Team · More CANN Projects
2,136 followers · starred Jun 2026