当前位置: 首页 > news >正文

CANN/cann-recipes-infer:MiniMax-M2.5 MXFP4 vLLM-Ascend部署

MiniMax-M2.5 MXFP4 for vLLM-Ascend

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

项目简介

本项目提供 MiniMax-M2.5 在昇腾 NPU 上基于 vLLM 的 MXFP4/W4A4 量化推理部署方案,包含针对vllmvllm-ascend的补丁及一键启动脚本。

主要功能:

  • vllm-ascend量化能力增强0001补丁):在 NPU 平台能力列表中补齐 Quark 量化方法识别,增强quant_description读取健壮性,避免缺失 key 导致加载失败
  • vllmMiniMax M2.5 MXFP4/W4A4 全链路适配0002补丁,含 7 个 commit):
    • QK RMSNorm 张量并行切分修复(KV head < TP size 场景)
    • NPU 端 MXFP4 FP4-E2M1 软件反量化及 E8M0 block scaling 实现,替代 CUDA-only 的 Quark 内核
    • NPU 端激活 QDQ 仿真(FP4 E2M1 codebook + power-of-two block scale)
    • Quark MoE apply 函数签名适配昇腾fused_experts调用路径
    • MoE 权重加载时预反量化,避免图模式捕获阶段的动态反量化
    • MoE routing 回退对齐 layer 级 router 语义(grouped-topk / correction bias)
  • ARM 内存序修复shm_broadcast.py中添加memory_fence()保障弱内存序平台的正确性
  • 一键启动脚本:支持 MXFP4 W4A4 场景的快速部署,可通过环境变量灵活配置

目录结构

minimax_m2.5_mxfp4/ ├── README.md ├── set_env.sh ├── run_vllm.sh ├── run_vllm_w4a4.sh └── patch_vllm/ ├── apply.sh ├── 0001-vllm-ascend-patch-for-mxfp4.patch └── 0002-vllm-patch-for-mxfp4.patch

硬件要求

项目要求
昇腾设备Atlas A3(Ascend 910_93)
NPU 卡数16 张
磁盘需容纳 MiniMax-M2.5 MXFP4 量化权重

前置条件

执行前请确认本机已准备:

  1. 昇腾 CANN / torch / torch_npu 运行环境
  2. 本地vllm源码目录
  3. 本地vllm-ascend源码目录
  4. MiniMax-M2.5 MXFP4 权重目录

推荐镜像

推荐直接使用以下 Docker 镜像作为基础环境(镜像已包含兼容版本的vllmvllm-ascend源码):

docker pull quay.io/ascend/vllm-ascend:v0.14.0rc1-a3

补丁基线版本

补丁与vllm/vllm-ascend的源码版本严格对应,建议使用推荐镜像中自带的版本。使用其他版本可能导致git am应用失败或运行时行为不一致。

补丁文件目标仓库仓库地址基线 commit容器内路径
0001-vllm-ascend-patch-for-mxfp4.patchvllm-ascendhttps://github.com/vllm-project/vllm-ascend52d4acfa51fb868823d1070b81cbd2d97e9e4696/vllm-workspace/vllm-ascend
0002-vllm-patch-for-mxfp4.patchvllmhttps://github.com/vllm-project/vllmd7de043d55d1dd629554467e23874097e1c48993/vllm-workspace/vllm

创建容器

docker run -it -d --net=host --shm-size=512g \ --privileged \ --name minimax-m25-mxfp4 \ --device=/dev/davinci_manager \ --device=/dev/hisi_hdc \ --device=/dev/devmm_svm \ -v /usr/local/Ascend/driver:/usr/local/Ascend/driver:ro \ -v /usr/local/sbin:/usr/local/sbin:ro \ -v /path/to/model:/model \ quay.io/ascend/vllm-ascend:v0.14.0rc1-a3 /bin/bash

/path/to/model替换为宿主机上 MiniMax-M2.5 MXFP4 权重的实际路径。

默认目录约定

以下目录可通过环境变量覆盖:

export VLLM_DIR=/vllm-workspace/vllm export VLLM_ASCEND_DIR=/vllm-workspace/vllm-ascend export MODEL_PATH=/model/MiniMax-M2.5-MXFP4

使用方式

1. 初始化环境

cd /project/to/cann-recipes-infer/contrib/minimax_m2.5_mxfp4 source set_env.sh

set_env.sh会自动配置 CANN toolkit、ATB 库路径、LD_LIBRARY_PATH及运行时环境变量。如果 CANN toolkit 不在默认路径,可提前设置ASCEND_TOOLKIT_HOME

export ASCEND_TOOLKIT_HOME=/path/to/ascend-toolkit/latest source set_env.sh

2. 应用补丁

bash patch_vllm/apply.sh

脚本会:

  • 先对vllm/vllm-ascend做 dry-run 检查
  • 再用git am --3way应用补丁
  • vllm额外补上shm_broadcast.py的 ARM 内存序修复
  • 可选安装amd-quark

如需关闭amd-quark安装:

INSTALL_AMD_QUARK=0 bash patch_vllm/apply.sh

3. 启动 MiniMax-M2.5 MXFP4 W4A4 服务

bash run_vllm_w4a4.sh

常用覆盖参数示例:

MODEL_PATH=/path/to/MiniMax-M2.5 \ TP_SIZE=16 \ PORT=8000 \ MAX_NUM_SEQS=32 \ MAX_NUM_BATCHED_TOKENS=32768 \ ENABLE_EXPERT_PARALLEL=1 \ RUN_IN_BACKGROUND=1 \ bash run_vllm_w4a4.sh

run_vllm.shrun_vllm_w4a4.sh的兼容入口,默认行为一致。

关键环境变量

  • MODEL_PATH:MiniMax-M2.5 MXFP4 权重目录
  • SERVED_MODEL_NAME:服务暴露模型名,默认MiniMax-M2.5
  • TP_SIZE:张量并行大小,默认16
  • PORT:服务端口,默认8000
  • MAX_NUM_SEQS:最大并发请求数,默认32
  • MAX_NUM_BATCHED_TOKENS:最大 batch token 数,默认32768
  • ENABLE_EXPERT_PARALLEL:是否开启 EP,默认1
  • VLLM_ASCEND_ENABLE_FLASHCOMM1:是否开启 FlashComm1,默认1
  • VLLM_MXFP4_SKIP_ACT_QDQ:是否跳过激活 QDQ 仿真,默认0
  • ENABLE_TOOL_REASONING:是否开启 MiniMax tool/reasoning parser,默认1
  • ENFORCE_EAGER:是否强制 eager 模式(跳过图编译),默认0
  • COMPILATION_CONFIG:编译配置 JSON,默认{"cudagraph_mode":"FULL_DECODE_ONLY"}
  • LOG_DIR:日志输出目录,默认/data/logs
  • RANK:当前节点编号,用于多机场景的日志文件命名,默认0
  • RUN_IN_BACKGROUND:是否后台启动,默认0

验证方式

启动成功后可执行:

curl -sf http://127.0.0.1:8000/v1/models

或发送一个简单对话请求:

curl http://127.0.0.1:8000/v1/chat/completions \ -H "Content-Type: application/json" \ -d '{ "model": "MiniMax-M2.5", "messages": [{"role": "user", "content": "介绍一下中国的上下五千年"}], "max_tokens": 256 }'

故障排查

  • git am失败:通常表示本地vllmvllm-ascend版本与补丁基线不一致,请先确认源码版本或手动处理冲突
  • amd-quark安装失败:确认 Python 环境和网络可用,必要时先手动安装
  • 服务启动后报 Quark / MXFP4 相关错误:优先确认补丁是否全部应用成功,以及MODEL_PATH是否为对应的 MXFP4/W4A4 权重
  • 多卡或多进程异常:优先确认ASCEND_RT_VISIBLE_DEVICESTP_SIZE、EP 配置是否匹配当前机器资源

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

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

http://www.jsqmd.com/news/942169/

相关文章:

  • 上饶本地家电维修师傅电话推荐|本地维修家电|欧米到家统一报修 - 欧米到家
  • Linux iptables 深度解析:从规则匹配到 NAT 转发实战
  • 奥体中心普拉提产后修复哪家好?2026奥体靠谱普拉提推荐榜-精准塑形与核心康复 - 栗子测评
  • AI工具如何撬动AR系统生产力?揭秘2024年头部企业已验证的7步集成框架
  • 2026年东莞松山湖新房除甲醛公司如何择优?实地调研对比,优选东莞佰家环保科技有限公司 - 专注室内空气检测治理
  • Python课堂人脸考勤工具:带QT界面、SQLite本地存档与TXT导出功能
  • 2026年6月发电机厂家找哪家,1000Kw发电机/康明斯发电机/自装卸升降发电机组,发电机源头工厂怎么选择 - 品牌推荐师
  • # 2026年榆次高考复读深度横评:忻大陆高补VS海豚高补部VS新力惠中高补 - 中国企业名录优选推荐
  • Matlab遗传算法求解单配送中心车辆路径优化(含数据+代码+结果图)
  • 零代码实现物联网远程信息显示:基于Magicblocks与ESP32的快速原型方案
  • 实测才敢推 2026 最新降AI率软件测评与推荐 - 降AI小能手
  • 婚恋视频匹配App完整源码:含双端APP、Web后台与智能打招呼机器人
  • 盘点靠谱的奖项代理机构,性价比如何,哪家值得推荐 - 博客万
  • 数据驱动山火防控:从多源感知到智能决策的全链路技术解析
  • Passkey 无密码认证替代传统口令的安全机理与落地实现研究
  • 2026 年 6 月南昌市卫生间阳台屋顶漏水防水补漏避坑指南 - 吉修匠
  • 2026年 特氟龙高温布厂家推荐榜:覆盖铁氟龙漆布/四氟布/PTFE网格布,耐高温耐酸碱食品级专业品牌深度解析 - 企业推荐官【官方】
  • Revizor硬件模糊测试:主动挖掘CPU推测执行漏洞的实战指南
  • 10元起喝茶,20元吃撑!玄武湖畔的瓦当老茶馆,把南京物价打回大明? - 博客万
  • 从‘手忙脚乱’到‘指哪打哪’:我的CST Studio 3D导航操作优化之路
  • 2026年北京德语法语西班牙语培训学校口碑推荐榜:德语培训、法语培训、西班牙语培训学校选择指南,师资、课程体系、配套服务三维度客观解析 - 海棠依旧大
  • 威海本地家电维修师傅电话推荐|本地维修家电|欧米到家统一报修 - 欧米到家
  • 2026 年 6 月上饶市卫生间阳台屋顶漏水防水补漏避坑指南 - 吉修匠
  • 如何免费获得专业级德州扑克GTO求解器:Desktop Postflop完整指南
  • 沧州本地家电维修师傅电话推荐|本地维修家电|欧米到家统一报修 - 欧米到家
  • Arduino/ESP8266超声波测距仪制作:从HC-SR04到OLED显示的完整指南
  • NuExtract-1.5与Phi-3.5-mini-instruct对比分析:微调带来的惊人提升
  • 从零设计微型LED戒指:SMD电路、低功耗计算与PCB布局实战
  • 云罗GEO(AI搜索优化)系统源码搭建与定制化开发全解析 - 兔兔不是荼荼
  • 武汉威固贴膜的 隐藏天花板:为什么只有迈骏蒂能拿到 PDI 省级服务商资质? - 汽车音响改装