news 2026/5/9 15:00:31

CANN/cann-recipes-infer Qwen3-MoE模型NPU推理

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
CANN/cann-recipes-infer Qwen3-MoE模型NPU推理

Qwen3-MoE模型在NPU实现低时延推理

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

概述

Qwen3-MoE模型是2025年开源的大语言模型,包括Qwen3-235B-A22B与Qwen3-30B-A3B两个版本。本样例基于transformers库modeling_qwen3_moe.py完成Qwen3-235B-A22B模型的适配优化。

支持的产品型号

Atlas A3 系列产品

环境准备

  1. 安装CANN软件包。

    本样例的编译执行依赖CANN开发套件包(cann-toolkit)与CANN二进制算子包(cann-kernels),支持的CANN软件版本为CANN 8.5.0

    请从软件包下载地址下载Ascend-cann-toolkit_${version}_linux-${arch}.runAscend-cann-A3-ops_<version>_linux-<arch>.run软件包,并参考CANN安装文档进行安装。

    • ${version}表示CANN包版本号,如8.5.0。
    • ${arch}表示CPU架构,如aarch64、x86_64。
  2. 安装Ascend Extension for PyTorch(torch_npu)。

    Ascend Extension for PyTorch(torch_npu)为支撑PyTorch框架运行在NPU上的适配插件,本样例支持的Ascend Extension for PyTorch版本为7.3.0,PyTorch版本为2.8.0

    请从软件包下载地址下载torch_npu-2.8.0.post2-cp311-cp311-manylinux_2_28_${arch}.whl安装包,参考torch_npu安装文档进行安装。

  3. 下载项目源码并安装依赖的python库。

    # 下载项目源码,以master分支为例 git clone https://gitcode.com/cann/cann-recipes-infer.git # 安装依赖的python库,仅支持python 3.11 cd cann-recipes-infer pip3 install -r ./models/qwen3_moe/requirements.txt
  4. 配置样例运行所需环境信息。

    修改executor/scripts/set_env.sh中的如下字段:

    • IPs:配置所有节点的IP,按照rank id排序,多个节点的ip通过空格分开,例如:('xxx.xxx.xxx.xxx' 'xxx.xxx.xxx.xxx')
    • cann_path: CANN软件包安装路径,例如/usr/local/Ascend/ascend-toolkit/latest

    说明:HCCL相关配置,如:HCCL_SOCKET_IFNAMEHCCL_OP_EXPANSION_MODE,可以参考集合通信文档并在executor/scripts/function.sh中自定义配置。

权重准备

请根据所使用的模型类型自行下载原始权重到本地路径,例如/data/models/qwen3_origin_weight/

以Qwen3-235B-A22B为例,权重下载地址:Qwen3-MoE权重。

推理执行

  1. 配置推理执行需要加载的权重文件以及YAML文件。

    • 修改YAML文件中model_path参数。关于YAML文件中的更多配置说明可参见YAML参数描述。

      models/qwen3_moe/config目录下已提供了较优性能的YAML样例供您参考,您可以根据模型类型选择对应的YAML文件,本文以models/qwen3_moe/config/qwen3_235b_16tp.yaml文件为例,修改其中的model_path参数,将其设置为权重准备阶段准备好的权重文件存储路径,例如/data/models/qwen3_origin_weight/

    • 修改models/qwen3_moe/infer.sh脚本中YAML_FILE_NAME参数。

      YAML_FILE_NAME设置为config文件夹下YAML文件的名字,例如qwen3_235b_16tp.yaml

  2. 准备输入prompt。

    • 使用长序列prompt(默认)。

      本样例默认使用LongBench数据集作为长序列prompt,YAML配置文件中dataset参数已设置为"LongBench"。若您的机器无法联网,需要从huggingface手动下载数据集至dataset/LongBench目录下,LongBench文件夹需手工创建,目录中包含LongBench.pydata目录,并需要在LongBench.py中修改数据集加载路径;若您的机器可正常联网,样例执行过程中会自动在线读取LongBench数据集,您无需手工下载。

      说明:在使用LongBench数据集或其他自定义数据集时,默认执行文本摘要任务,可在cann-recipes-infer/executor/utils/data_utils.pybuild_dataset_input函数里修改默认的system prompt。

    • 使用内置prompt。

      若您需要使用内置prompt,需要执行以下操作:

      1. 修改YAML文件中的dataset参数,将其修改为dataset: "default"

      2. 本样例已在dataset/default_prompt.json中内置了输入prompt,您可以直接使用或在该文件中自定义prompt输入。

  3. 执行推理脚本。

    cd models/qwen3_moe bash infer.sh

    说明:如果是多机环境,需要在每个节点上执行。

优化点参考

本样例采用的详细优化点介绍可参见基于Atlas A3的Qwen3-MoE模型低时延推理性能优化实践。

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

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

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

Git switch:专为安全分支切换设计的现代命令

1. 为什么今天还要专门讲git switch&#xff1f;——一个被低估的日常高频操作Git 分支切换&#xff0c;听起来像呼吸一样自然&#xff0c;但恰恰是这种“太熟了”的操作&#xff0c;最容易在真实项目里翻车。我带过六七个不同规模的开发团队&#xff0c;从十人初创到百人产研中…

作者头像 李华
网站建设 2026/5/9 14:49:53

AI赋能DAB变换器:基于XGBoost与PSO实现全开关ZVS的混合调制策略

1. 项目概述&#xff1a;当AI遇见电力电子&#xff0c;如何让DAB变换器“全开关软着陆”&#xff1f;在数据中心、电动汽车充电桩或者光伏储能系统里&#xff0c;你总能找到一个默默无闻但至关重要的“能量搬运工”——隔离型DC-DC变换器。它的任务是把电能从一个电压等级&…

作者头像 李华
网站建设 2026/5/9 14:49:53

CANN/torchtitan-npu快速上手指南

快速上手 【免费下载链接】torchtitan-npu Ascend Extension for torchtitan 项目地址: https://gitcode.com/cann/torchtitan-npu 参考 软件安装 准备环境后&#xff0c;按照如下步骤操作&#xff0c;在 NPU 平台上运行 torchtitan-npu。 数据准备 下载 Tokenizer &a…

作者头像 李华
网站建设 2026/5/9 14:49:52

大文件如何分享给别人?盘点2025最适合传输大文件的方法

无论是把公司电脑上的项目文件带回家继续赶工&#xff0c;还是在新旧两台电脑间迁移资料&#xff0c;我们总会遇到“电脑之间互传文件”的需求。 文件小的时候还好说&#xff0c;一旦文件变大、变多&#xff0c;或者需要频繁传输&#xff0c;很多人就开始头疼了。 其实&#…

作者头像 李华
网站建设 2026/5/9 14:49:02

CANN / ops-cv:AI CPU算子开发指南

AI CPU算子开发指南 【免费下载链接】ops-cv 本项目是CANN提供的图像处理、目标检测相关的算子库&#xff0c;实现网络在NPU上加速计算。 项目地址: https://gitcode.com/cann/ops-cv 概述 使用说明 算子根据运行的硬件单元不同&#xff0c;可分为AI Core算子和AI CPU…

作者头像 李华
网站建设 2026/5/9 14:46:45

CANN/ops-cv图像处理算子库

贡献指南 【免费下载链接】ops-cv 本项目是CANN提供的图像处理、目标检测相关的算子库&#xff0c;实现网络在NPU上加速计算。 项目地址: https://gitcode.com/cann/ops-cv 本项目欢迎广大开发者体验并参与贡献&#xff0c;请在参与社区贡献之前参见cann-community先了解…

作者头像 李华