
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.8B128 experts top-8权重~51.6 GBBF16。架构特点双模式Attention25层sliding GQA 5层full GQA, k_eq_v、每层Dense MLP与MoE并联。本样例采用的详细优化点介绍可参见Gemma-4模型推理性能优化实践。支持的产品型号Atlas A2 系列产品 Atlas A3 系列产品环境准备安装CANN软件包。本样例的编译执行依赖CANN开发套件包cann-toolkit与CANN二进制算子包cann-kernels支持的CANN软件版本为CANN 8.5.0。请从软件包下载地址下载Ascend-cann-toolkit_${version}_linux-${arch}.run与Ascend-cann-A3-ops_version_linux-arch.run软件包并参考CANN安装文档进行安装。${version}表示CANN包版本号如8.5.0。${arch}表示CPU架构如aarch64、x86_64。安装Ascend Extension for PyTorchtorch_npu。Ascend Extension for PyTorchtorch_npu为支撑PyTorch框架运行在NPU上的适配插件本样例支持的Ascend Extension for PyTorch版本为v7.3.0PyTorch版本为2.8.0。请从软件包下载地址下载torch_npu-2.8.0.post2-cp311-cp311-manylinux_2_28_${arch}.whl安装包参考torch_npu安装文档进行安装。下载项目源码并安装依赖的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配置样例运行所需环境信息。修改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-A4BGemma-4-26B-A4B权重注意单卡部署不可行51.6 GB 32 GB HBM最少 4 卡BF16推荐 8 卡。推理执行配置推理执行需要加载的权重文件以及YAML文件。在models/gemma4_26b_a4b/config目录下已提供YAML配置供参考gemma4_rank_8_8ep_gegraph_decode.yaml8卡 ge_graph 模式 EP8默认gemma4_rank_8_8ep_decode.yaml8卡 eager 模式 EP8gemma4_rank_8_8ep_npugraph_decode.yaml8卡 npugraph_ex 模式 EP8gemma4_rank_1_eager.yaml单卡 eager 基线仅用于单卡 functional 验证非性能场景修改 YAML 文件中model_config.model_path参数将其设置为权重文件存储路径。执行推理。infer.sh接受$1mode、$2yaml与仓库其他模型保持一致。cd models/gemma4_26b_a4b bash infer.sh # 默认 8卡 ge_graph EP8 bash infer.sh offline gemma4_rank_8_8ep_decode.yaml # 8卡 eager EP8 bash infer.sh offline gemma4_rank_8_8ep_npugraph_decode.yaml # 8卡 npugraph_ex EP8 bash infer.sh offline gemma4_rank_1_eager.yaml # 单卡 eager 基线优化点参考详见 optimization_report.md主要优化包括并行化EP8128 experts / 8 16 expert/rank embed/lmhead_tp8 attn_tp1KVCache 异构连续缓存sliding 层与 full 层 head_dim 不同FA v1 sliding sparse_mode4融合算子全量替换add_rms_norm60 处/step/rotary_mul25 层 sliding 全量 RoPE 5 层 full attention partial RoPE/moe_gating_top_k_softmaxGE 图模式 Decode 整图 npugraph_ex 模式双路径YAML 切换MoE EP decode 路径local_experts与 MC2dispatch_v2/combine_v2双方案按experts_per_rank ≤ 24自动切换性能基线A2 / A3 实测性能input_len256max_new_tokens32BS8平台模式PrefillDecode/tokenA2 (Ascend 910B4)eager 基线312 ms98.5 msA2 (Ascend 910B4)ge_graph EP8189 ms15 msA3 (Ascend 910_93)ge_graph EP876 ms10.2 msA3 (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),仅供参考