news 2026/6/25 21:24:48

CANN Qwen密集模型NPU推理

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
CANN Qwen密集模型NPU推理

Qwen Dense Models NPU Inference

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

统一的 Qwen2/Qwen3 Dense(非MoE)模型推理适配,支持以下模型变体:

模型model_name特性
Qwen3-8Bqwen3_8bQK-Norm, attention_bias=False
Qwen2.5-7B-Instructqwen25_7b_instruct无QK-Norm, attention_bias=True

特性

  • 统一建模代码,通过 HuggingFace config.json 自动识别模型变体
  • 支持在线权重切分,无需离线预处理
  • 支持可选的多卡TP并行部署
  • 支持 Packed Sequence(TND格式),Prefill/Decode 阶段均使用打包序列
  • 支持 Page Attention 块式KV Cache管理

已验证特性

特性状态
ge_graph 图模式✅ 已验证
npugraph_ex(含static_kernel)✅ 已验证
Packed Sequence (TND)✅ 已支持
Page Attention✅ 已支持

支持的产品型号

Atlas A2 系列产品 Atlas A3 系列产品

软件版本

软件版本
CANN8.5.0
torch_npu2.8.0
transformers4.55.0

快速开始

环境准备

  1. 安装CANN软件包。

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

    请从软件包下载地址下载Ascend-cann-toolkit_${version}_linux-${arch}.runAtlas-A3-cann-kernels_${version}_linux-${arch}.run(A3环境)或Ascend-cann-kernels-910b_${version}_linux-${arch}.run(A2环境)软件包,并参考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版本为2.8.0,PyTorch版本为2.8.0

    请从软件包下载地址下载v2.8.0-7.3.0源码,参考源码编译安装。

  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/qwen/requirements.txt
  4. 配置样例运行所需环境信息。

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

    • cann_path: CANN软件包安装路径,例如/usr/local/Ascend/ascend-toolkit/latest

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

权重准备

从 HuggingFace 获取原始权重,例如:

  • Qwen/Qwen3-8B
  • Qwen/Qwen2.5-7B-Instruct

配置与执行

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

    • 修改YAML文件中model_path参数。关于YAML文件中的更多配置说明可参见InferenceConfig使用指南。

      models/qwen/config目录下已提供了不同模型和并行度的YAML样例供您参考:

      Qwen3-8B:

      • qwen3_8b_1tp.yaml:单卡部署
      • qwen3_8b_2tp.yaml:2卡TP并行部署

      Qwen2.5-7B-Instruct:

      • qwen25_7b_instruct_1tp.yaml:单卡部署
      • qwen25_7b_instruct_2tp.yaml:2卡TP并行部署

      将YAML文件中的model_path参数设置为权重文件存储路径。

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

  2. 执行推理:

    cd models/qwen bash infer.sh

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

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

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

JVM 异常崩溃排查全指南:从 Core Dump 到根因定位

JVM 崩溃(Crash)是生产环境中最棘手的故障之一,它可能由多种原因引起:JNI 调用错误、JVM Bug、系统资源耗尽、硬件故障,甚至是 JDK 版本不兼容。本文将系统性地介绍 JVM 崩溃排查的完整方法论,涵盖每一步的…

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

PyTorch实战:用nn.Embedding搞定NLP文本向量化,从分词到训练全流程

PyTorch实战:用nn.Embedding搞定NLP文本向量化,从分词到训练全流程 当你第一次面对原始文本数据时,是否曾被如何将其转化为模型可理解的数字形式所困扰?在自然语言处理领域,文本向量化是连接人类语言与机器学习模型的…

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

VADER框架:精准界定AI监管边界,避免传统技术被过度监管

1. 项目概述:当“AI监管”的边界变得模糊最近和几位做SaaS和硬件开发的朋友聊天,发现一个挺有意思的焦虑点:他们团队里明明没有专门的AI算法工程师,产品核心逻辑也是传统的规则引擎和自动化脚本,但就因为用了一个开源的…

作者头像 李华