news 2026/5/9 11:44:30

Gemma-4模型在NPU上推理

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Gemma-4模型在NPU上推理

Gemma-4模型在NPU上推理

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

概述

Gemma-4-26B-A4B是Google于2026年开源的多模态MoE大语言模型,包含视觉塔与语言MoE解码器两部分。本样例基于transformers的实现,仅适配Language MoE Decoder路径(视觉塔暂不适配),并完成对应的NPU优化适配,包括KVCache异构连续缓存管理、融合算子替换、GE图模式与npugraph_ex图模式加速、MoE EP并行(local_experts / MC2 dispatch_v2 双路径自动切换)。

模型规模:总参数量26.5B,每token激活~3.8B(128 experts top-8),权重~51.6 GB(BF16)。架构特点:双模式Attention(25层sliding GQA + 5层full GQA, k_eq_v)、每层Dense MLP与MoE并联。

  • 本样例采用的详细优化点介绍可参见Gemma-4模型推理性能优化实践。

支持的产品型号

Atlas A2 系列产品 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版本为v7.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库 cd cann-recipes-infer pip3 install -r ./models/gemma4_26b_a4b/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

权重准备

请自行下载Gemma-4-26B-A4B原始权重到本地路径,例如/data/models/gemma-4-26B-A4B

  • Gemma-4-26B-A4B权重

注意:单卡部署不可行(51.6 GB > 32 GB HBM),最少 4 卡(BF16),推荐 8 卡。

推理执行

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

    models/gemma4_26b_a4b/config目录下已提供YAML配置供参考:

    • gemma4_rank_8_8ep_gegraph_decode.yaml:8卡 ge_graph 模式 + EP=8(默认)
    • gemma4_rank_8_8ep_decode.yaml:8卡 eager 模式 + EP=8
    • gemma4_rank_8_8ep_npugraph_decode.yaml:8卡 npugraph_ex 模式 + EP=8
    • gemma4_rank_1_eager.yaml:单卡 eager 基线(仅用于单卡 functional 验证,非性能场景)

    修改 YAML 文件中model_config.model_path参数,将其设置为权重文件存储路径。

  2. 执行推理。infer.sh接受$1=mode$2=yaml,与仓库其他模型保持一致。

    cd models/gemma4_26b_a4b bash infer.sh # 默认 8卡 ge_graph + EP=8 bash infer.sh offline gemma4_rank_8_8ep_decode.yaml # 8卡 eager + EP=8 bash infer.sh offline gemma4_rank_8_8ep_npugraph_decode.yaml # 8卡 npugraph_ex + EP=8 bash infer.sh offline gemma4_rank_1_eager.yaml # 单卡 eager 基线

优化点参考

详见 optimization_report.md,主要优化包括:

  1. 并行化:EP=8(128 experts / 8 = 16 expert/rank)+ embed/lmhead_tp=8 + attn_tp=1
  2. KVCache 异构连续缓存(sliding 层与 full 层 head_dim 不同),FA v1 + sliding sparse_mode=4
  3. 融合算子全量替换:add_rms_norm(60 处/step)/rotary_mul(25 层 sliding 全量 RoPE + 5 层 full attention partial RoPE)/moe_gating_top_k_softmax
  4. GE 图模式 Decode 整图 + npugraph_ex 模式(双路径,YAML 切换)
  5. MoE EP decode 路径local_experts与 MC2dispatch_v2/combine_v2双方案,按experts_per_rank ≤ 24自动切换

性能基线

A2 / A3 实测性能(input_len=256,max_new_tokens=32,BS=8):

平台模式PrefillDecode/token
A2 (Ascend 910B4)eager 基线312 ms98.5 ms
A2 (Ascend 910B4)ge_graph + EP8189 ms15 ms
A3 (Ascend 910_93)ge_graph + EP876 ms10.2 ms
A3 (Ascend 910_93)npugraph_ex + EP8102 ms11.6 ms

详细性能拆解(含逐阶段贡献、A3 MoE 双路径 mc2 vs local_experts 对比)参见 optimization_report.md。

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

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

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

CANN/ops-transformer算子库

aclnnDenseLightningIndexerSoftmaxLse 【免费下载链接】ops-transformer 本项目是CANN提供的transformer类大模型算子库&#xff0c;实现网络在NPU上加速计算。 项目地址: https://gitcode.com/cann/ops-transformer 产品支持情况 产品是否支持Ascend 950PR/Ascend 95…

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

CANN/pypto分布式共享内存信号API

pypto.distributed.shmem_signal 【免费下载链接】pypto PyPTO&#xff08;发音: pai p-t-o&#xff09;&#xff1a;Parallel Tensor/Tile Operation编程范式。 项目地址: https://gitcode.com/cann/pypto 产品支持情况 产品是否支持Atlas A3 推理系列产品√Atlas A2 …

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

Godot游戏后端开发:Nakama插件实战指南与网络功能实现

1. 项目概述&#xff1a;当游戏后端遇上Godot引擎如果你正在用Godot引擎开发一款需要联网功能的游戏&#xff0c;无论是多人对战、排行榜、还是简单的玩家数据存储&#xff0c;后端服务的选择都是一个绕不开的难题。自己从零搭建一套稳定、可扩展的后端系统&#xff0c;对于独立…

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

GTA5线上小助手:如何快速掌握这款免费工具的完整使用指南

GTA5线上小助手&#xff1a;如何快速掌握这款免费工具的完整使用指南 【免费下载链接】GTA5OnlineTools GTA5线上小助手 项目地址: https://gitcode.com/gh_mirrors/gt/GTA5OnlineTools 想要在《侠盗猎车手5》线上模式中获得更轻松的游戏体验吗&#xff1f;GTA5线上小助…

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

如何用深度图像先验技术高效去除图片水印:从原理到实战

如何用深度图像先验技术高效去除图片水印&#xff1a;从原理到实战 【免费下载链接】Watermark-Removal-Pytorch &#x1f525; CNN for Watermark Removal using Deep Image Prior with Pytorch &#x1f525;. 项目地址: https://gitcode.com/gh_mirrors/wa/Watermark-Remo…

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

Atom编辑器终极中文汉化指南:3步告别英文困扰,打造专属编程环境

Atom编辑器终极中文汉化指南&#xff1a;3步告别英文困扰&#xff0c;打造专属编程环境 【免费下载链接】atom-simplified-chinese-menu Atom 的简体中文汉化扩展,目前最全的汉化包。包含菜单汉化、右键菜单汉化以及设置汉化 项目地址: https://gitcode.com/gh_mirrors/at/at…

作者头像 李华