news 2026/5/9 13:18:50

CANN Qwen3-MoE推理优化

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
CANN Qwen3-MoE推理优化

基于Atlas A3训练/推理集群的Qwen3-MoE模型低时延推理性能优化实践

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

概述

本文主要介绍Qwen3-MoE模型基于NPU的低时延推理优化策略。基于Atlas A3 训练/推理系列产品,decode采用8卡部署,实现BF16场景下单batch推理时延小于20ms。

低时延场景Tensor Parallel (TP)优化

Attention TP优化

切分策略

对Attention的张量切分策略可以分为对QKV头的切分和对线性层的切分。 在对QKV头切分时,attention的多头计算机制可以方便进行张量切分,每个头先独立计算,再将结果concat起来。假设模型的attention层需要对num_heads个query按照切分数量attn_tp_size进行切分,要求num_heads必须能被attn_tp_size整除,每张卡放置query头个数为num_heads_per_rank = num_heads // attn_tp_size;key和value头数相等,且可能小于等于query头个数(在MQA和GQA的场景下会小于)。为了确保每张卡至少放置一个key和value头,每张卡放置的key或value头数计算方法为num_key_value_heads_per_rank = max(num_key_value_heads // attn_tp_size, 1)。QKV头在多卡上的排布情况如下图所示。

在对线性层o_proj进行切分时,按照行切分即可。

计算分解

该优化策略先将Q、K、V的线性层计算合并为一次Matmul计算(图中merged_qkv_proj),提升计算性能。将merged_qkv_proj的输出结果按Q、K、V拆分后,对Q和K进行归一化操作并使用旋转位置编码,再计算attention(图中Fused_infer_attention_score),最后通过o_proj层输出。

MoE TP优化

切分策略

假设模型的MoE层的切分数量为moe_tp_size,专家个数为expert_num。对MoE层进行张量切分,每个专家相当于一个mlp层,切分方法与mlp的张量切分方法相似。具体做法是对gate_projup_proj进行列切分,对down_proj进行行切分。同时对gate_projup_proj线性层采用合并计算的优化方式,得到w13_weight

计算分解

每个专家层存在gate_proj、up_proj与down_proj三个matmul运算,具体运算为 x = down( SiLU(gate(x))*up(x) )。本优化将张量切分后的gate_proj和up_proj进行concat操作,再使能torch_npu.npu_swiglu融合算子接口优化,该算子能完成以下两步计算:

  • 将输入的x沿最后一维切分为两块,即x = torch.chunk(x, 2, -1)。
  • 计算并返回 SiLU(x[0]) * x[1]。

本优化通过将gate_proj与up_proj合并计算,提升整体计算效率。

使能融合算子

GMM使能和Routing优化

在MoE模块中,如果通过for循环处理每个专家,单独计算expert_num个前馈神经网络(FFN),容易导致计算效率较低。CANN提供了GroupedMatmul算子,可以同时计算多个专家,从而提高计算和搬运效率。具体实现可参考在Qwen3MoeSparseMoeBlock类中的moe_infer_tpmoe_infer_fusion函数。

  • 快速选择专家:在计算专家和token之间的路由分数时,可以使用torch_npu.npu_moe_gating_top_k_softmax融合算子,代替原来先topk再softmax多算子操作,可以更快速地计算出token和专家的分数。
  • 高效排序和token路由:
    • 使能torch_npu.npu_moe_init_routing融合算子,实现MoE routing计算,获取专家的排序;
    • 使能torch_npu.npu_moe_compute_expert_tokens融合算子,获取每个专家需要计算的token数;
    • 使能torch_npu.npu_moe_finalize_routing融合算子,将专家计算完成后的token重新排布并加权求和,获得最终输出。
  • 高性能专家计算:使能torch_npu.npu_grouped_matmul融合算子,实现多个专家的矩阵乘计算,提高计算和搬运效率。

RmsNorm算子优化

通过使能torch_npu.npu_rms_norm算子,能够提升模型的推理性能。RmsNorm是大模型常用的归一化操作,相比LayerNorm,其去掉了减去均值的部分。

flash attention融合算子优化

通过使能torch.ops.npu.npu_fused_infer_attention_score推理场景下支持图模式的FlashAttention算子,既可以支持全量计算场景,也可支持增量计算场景。

使能图模式

使用静态图可以获得更好的推理性能。Qwen3MoeRunner通过覆写executor/model_runner.py中的ModelRunnergraph_compile函数,将模型编译为静态图。

使能图编译缓存

在模型推理场景下,使能图编译缓存可以缓存编译后的静态图,避免每次推理都需要编译模型,从而提高推理性能。可参考Qwen3MoeRunnergraph_compile函数中的使用:

if self.enable_cache_compile: case_name = "compile_cache/" + os.getenv("CASE_NAME") cache_dir = os.path.join(os.path.dirname(os.path.abspath(__file__)), case_name) self.model.decode = tng.inference.cache_compile(self.model.decode, cache_dir=cache_dir, config=compiler_config, dynamic=True, fullgraph=True, ge_cache=True)

缓存默认路径为./compile_cache/CASE_NAME

集合通信使能AIV展开

利用Device的Vector Core计算单元来加速通信操作的执行,可参考HCCL_OP_EXPANSION_MODE环境变量:

export HCCL_OP_EXPANSION_MODE=AIV

附录

环境部署以及样例执行

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

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/9 13:17:30

cann/ops-cv非连续Tensor说明

非连续的Tensor 【免费下载链接】ops-cv 本项目是CANN提供的图像处理、目标检测相关的算子库,实现网络在NPU上加速计算。 项目地址: https://gitcode.com/cann/ops-cv 目前大部分算子API的输入aclTensor支持“非连续的Tensor”,即一个Tensor可以通…

作者头像 李华
网站建设 2026/5/9 13:15:32

LobeHub 这玩意儿,到底香在哪?

先说结论:LobeHub 是目前我在前端圈里看到的,最接近“智能体操作系统”的一个东西。不是吹,是真的好用到让我有点慌。事情是这样的前阵子我在搞一个自动化工单系统,本来打算自己撸一套 Agent 调度逻辑,结果写到第三天我…

作者头像 李华
网站建设 2026/5/9 13:15:32

可解释AI如何破解人机协同决策的信任难题?

1. 项目概述:当AI开始解释自己最近几年,我参与和观察了不少将人工智能(AI)引入关键决策流程的项目,从医疗诊断辅助到金融风控,再到工业运维。一个越来越强烈的感受是:当AI的预测或建议摆在我们面…

作者头像 李华
网站建设 2026/5/9 13:13:32

CANN/ops-math MemSetV2算子

MemSetV2 【免费下载链接】ops-math 本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。 项目地址: https://gitcode.com/cann/ops-math 产品支持情况 产品是否支持Ascend 950PR/Ascend 950DT√Atlas A3 训练系列产品/Atlas A3 推理系列产品…

作者头像 李华
网站建设 2026/5/9 13:11:48

你以为AI先裁基层,其实最危险的是中层管理者

【摘要】AI对企业组织的冲击,不只是让某些执行岗位变少,更重要的是让许多管理动作失去必要性。信息汇总、会议纪要、进度追踪、报表生成、跨部门催办、标准化判断,这些过去支撑中层管理者存在的工作,正在被协作平台、智能BI、生成…

作者头像 李华
网站建设 2026/5/9 13:10:33

大语言模型能力结构实证研究:参数量与智能的非线性关系

1. 项目概述:我们到底在研究什么?最近几年,大语言模型(LLM)的浪潮席卷了整个行业,从ChatGPT的横空出世到各类开源模型的百花齐放,我们似乎每天都在见证“奇迹”。但作为一名在一线摸爬滚打多年的…

作者头像 李华