MiniMax-M3 开源实测:部署、推理与基准测试全记录

MiniMax-M3 是 MiniMax 最新开源的原生多模态大模型,约 428B 总参数 / 23B 激活参数,原生支持 1M 上下文。本文基于 GPUStack 与 vLLM,演示从镜像与权重准备、模型部署、对话实测到基准测试的完整流程,并实测了基于 EAGLE3 的投机解码加速。

MiniMax6 月 1 日 宣布 MiniMax-M3 正式发布,并在 6 月 12 日(上周五)HuggingFaceModelScope(魔搭) 上正式开源权重。

MiniMax-M3 是一款原生多模态 大模型,采用 MoE 架构 ,约 428B 总参数 / 23B 激活参数 ,原生支持 1M(百万级)上下文 ,并提供 thinking(思考)non-thinking(非思考) 两种推理模式,可根据复杂推理、Agent 任务或低延迟对话/代码补全等不同场景灵活切换。官方推荐的采样参数为 temperature=1.0top_p=0.95top_k=40

本文使用的是其 MXFP8 量化版本 MiniMax-M3-MXFP8,在保持精度的同时显著降低显存占用,更适合在有限卡数上部署。

核心亮点:

  • 原生多模态:从训练第一步就进行混合模态训练,在文本、图像、视频之间实现更深层的语义融合,而非后期拼接的「外挂式」多模态。
  • 稀疏注意力扩展长上下文(MSA) :M3 引入了自研的 MiniMax Sparse Attention(MSA) 高性能稀疏注意力算子。官方数据显示,在 1M 上下文下,相比上一代 M2 实现了约 9× prefill / 15× decode 的加速,单 token 计算量降至约 1/20,在大幅降低注意力计算与显存开销的同时保持模型质量。
  • 代码与协作(Cowork)能力:在长程 Agentic 基准上达到前沿水平,在编码与协作类任务上表现突出。

技术报告:https://arxiv.org/abs/2606.13392

官方给出了 MiniMax-M3 与多款主流模型的对比,在编码、Cowork、GUI、多模态与推理等多个维度均具备竞争力,其中 OmniDocBench(91.6)SpreadSheetBench-v1(89.4)VideoMME(85.4)Video-MMMU(84.6)BrowseComp(83.5) 等多模态与协作类任务表现尤为亮眼,编码上 SWE-Bench Verified 也达到 80.5

伴随权重开源,两大主流推理引擎也第一时间放出了 MiniMax-M3 的专用镜像:

推理引擎 镜像标签 时间
vLLM vllm/vllm-openai:minimax-m3 6 月 12 日(开源当天)
SGLang lmsysorg/sglang:dev-minimax-m3 6 月 15 日

需要说明的是,目前两者均为针对 MiniMax-M3 的专用/开发镜像,两大引擎主线版本对 M3 的正式支持仍需等待一段时间。本文采用 vLLM 的专用镜像进行部署与测试。

vLLM 官方镜像地址为 vllm/vllm-openai:minimax-m3,我们已第一时间同步至国内镜像,方便大家拉取:

复制代码
swr.cn-south-1.myhuaweicloud.com/gpustack/vllm-openai:minimax-m3

本文的测试环境与配置如下:

项目 内容
测试环境 四卡 NVIDIA H20-3e 141G(Driver 590.48.01 / CUDA 13.1)
测试模型 MiniMax/MiniMax-M3-MXFP8
草稿模型(投机解码) Inferact/MiniMax-M3-EAGLE3
参考文档 https://recipes.vllm.ai/MiniMaxAI/MiniMax-M3?variant=mxfp8

全文分为以下几个部分:

  1. 环境准备 ------ GPUStack 安装
  2. 下载权重与镜像
  3. 添加 vLLM 版本
  4. 部署 MiniMax-M3
  5. 对话实测
  6. 基准测试
  7. 小结

一、环境准备 ------ GPUStack 安装

GPUStack 是一个开源 GPU 集群管理与 AI 模型服务平台 ,旨在高效部署 AI 模型。它可以配置并编排多种推理引擎------如 vLLM、SGLang、TensorRT-LLM,甚至自定义引擎------以在 GPU 集群上实现最佳性能。核心功能包括多异构 GPU 集群池化调度可插拔推理引擎架构Day 0 模型支持性能优化配置 (低延迟/高吞吐),以及企业级运维能力,如故障恢复、负载均衡、监控与权限管理。

在部署 MiniMax-M3 之前,需先完成 GPUStack 控制面的安装,并将 GPU 节点纳入管理。本文不再展开安装细节,可参考下方教程完成部署:

TODO: <在公众号编辑器中插入 之前已发布的《GPUStack v2.1.2 安装教程》的链接>

完成安装并接入 GPU 节点后,即可进入下一步,准备 MiniMax-M3 的权重与镜像。

二、下载权重与镜像

国内环境推荐从 ModelScope(魔搭) 下载权重。本文使用 MXFP8 量化版本以适配四卡 H20-3e 的显存与性能。

下载主模型权重:

本文同时使用 EAGLE3 草稿模型进行投机解码加速,因此一并下载草稿模型:

拉取 vLLM 专用镜像(国内同步地址):

bash 复制代码
docker pull swr.cn-south-1.myhuaweicloud.com/gpustack/vllm-openai:minimax-m3

也可使用 vLLM 官方镜像 vllm/vllm-openai:minimax-m3,国内网络环境下推荐使用上述同步地址以加速拉取。

三、添加 vLLM 版本

GPUStack 支持可插拔的推理引擎架构,允许自定义推理后端及其版本,用于引入 GPUStack 未内置的 vLLM / SGLang / MindIE 版本,或接入其他自定义推理引擎镜像。

由于 MiniMax-M3 当前依赖 vLLM 的专用镜像,这里将其作为 vLLM 的自定义版本添加到 GPUStack 的推理后端中。

推理后端 菜单,编辑 vLLM,在版本配置中选择添加版本,按实际情况填写镜像地址:

配置
版本 minimax-m3
镜像名称 swr.cn-south-1.myhuaweicloud.com/gpustack/vllm-openai:minimax-m3
入口点(Entrypoint) vllm serve
运行命令(Run Command) {{model_path}} --port {{port}} --host {{worker_ip}} --served-model-name {{model_name}}
框架 CUDA

其中 {{model_path}}{{port}}{{worker_ip}}{{model_name}} 为 GPUStack 的模板变量,部署时会自动注入,无需手动修改。

也可以切换到 YAML 模式,直接导入以下配置:

yaml 复制代码
version_configs:
  minimax-m3:
    image_name: swr.cn-south-1.myhuaweicloud.com/gpustack/vllm-openai:minimax-m3
    run_command: "{{model_path}} --port {{port}} --host {{worker_ip}} --served-model-name {{model_name}}"
    entrypoint: "vllm serve"
    custom_framework: cuda
    env: {}

注意:如果当前已有其它自定义版本,需要将其它版本一同写入 version_configs 中一起导入。

四、部署 MiniMax-M3

GPUStack 支持从 Hugging Face、ModelScope 在线下载并部署,也支持从本地路径部署(离线环境推荐此方式)。本文使用前面已下载到本地的权重进行部署。

导航到模型文件 页面,点击前面下载的模型权重右侧的小火箭部署按钮,即可开始部署:

在部署配置中,推理后端选择 vLLM ,版本选择前面添加的 minimax-m3 自定义版本:

接着参考 vLLM Recipes 文档 配置后端启动参数。本文在四卡 H20-3e 上采用张量并行,并启用基于 EAGLE3 的投机解码,参数示例如下:

shell 复制代码
--tensor-parallel-size=4
--enable-auto-tool-choice
--tool-call-parser=minimax_m3
--reasoning-parser=minimax_m3
--block-size=128
--speculative-config '{"method":"eagle3","model":"/var/lib/gpustack/cache/model_scope/Inferact/MiniMax-M3-EAGLE3","num_speculative_tokens":3,"attention_backend":"FLASH_ATTN"}'
--gpu-memory-utilization=0.96
--max-model-len=64K
--disable-access-log-for-endpoints=/health,/metrics,/ping
--mm-encoder-attn-backend=FLASHINFER
--mm-processor-cache-type=shm
--mm-encoder-tp-mode=data

各组参数的作用简述如下:

  • 张量并行--tensor-parallel-size=4 将模型切分到四张 H20-3e 上并行推理。
  • 工具调用与思考解析--enable-auto-tool-choice 配合 --tool-call-parser=minimax_m3 启用工具调用能力;--reasoning-parser=minimax_m3 用于解析模型的思考(thinking)内容。
  • 投机解码(EAGLE3)--speculative-config 启用基于 EAGLE3 草稿模型的投机解码,以提升解码速度,其中 num_speculative_tokens 为每步推测的 token 数。
  • 显存与上下文--gpu-memory-utilization=0.96 控制显存占用上限,--max-model-len=64K 设置上下文长度(M3 原生支持 1M,可按需调大,但会相应增加显存开销)。
  • 多模态编码器--mm-encoder-tp-mode=data 让体量较小的视觉编码器采用数据并行 而非张量并行,避免不必要的 TP 通信开销;--mm-processor-cache-type=shm 启用基于主机共享内存的多模态处理器缓存;--mm-encoder-attn-backend=FLASHINFER 指定编码器注意力后端(NVIDIA 上使用 FlashInfer,AMD 上对应 AITER FlashAttention)。

关于草稿模型路径--speculative-config 中的 model 需填写 EAGLE3 草稿模型的实际路径。本文中的 /var/lib/gpustack/cache/model_scope/Inferact/MiniMax-M3-EAGLE3 是前文通过 GPUStack 从 ModelScope 下载后的默认缓存位置,请按你的实际下载路径填写。
以上参数为示例,量化方式、并行规模、投机解码 token 数、上下文长度(--max-model-len)、显存占用(--gpu-memory-utilization)等请结合实际硬件,并以 https://recipes.vllm.ai/MiniMaxAI/MiniMax-M3?variant=mxfp8 的最新说明为准。
采样参数方面,官方推荐 temperature=1.0top_p=0.95top_k=40。这些可在请求中传入,也可在 GPUStack 试验场中配置;若实测效果不理想,建议优先向官方推荐值对齐。
关于上下文长度(--max-model-len)的说明 :本文设置为 64K,主要是受限于显存------在开启多模态功能 的情况下,实测剩余显存已不足以支撑一个 128K 上下文的请求,故演示中设为 64K。当前推理镜像尚不支持 --kv-cache-dtype=fp8 来节省 KV Cache 显存,待 vLLM 推出支持该特性的新版本后,大家可自行尝试,以在开启多模态的同时获得更长的上下文。

此外,在当前版本的实际使用中,对于 Agent 场景 64K 往往是不够的。如果你的场景以文本为主、不需要多模态,推荐关闭多模态支持 以释放显存换取更长上下文:去掉上面三项 --mm-* 参数,并添加 --language-model-only。在此配置下,实测可支持 256K 的上下文长度。
关于参数中的 kK :vLLM 参数里小写 k 表示 1000,大写 K 表示 1024。例如 --max-model-len=64K 即 64 × 1024 = 65536。

部署后可在操作 中点击查看日志,实时观察启动过程:

当模型实例状态显示为 Running 时,说明已成功启动,可进行后续测试:

完整的模型启动日志附在文末,供需要排查启动问题的读者参考。

五、对话实测

GPUStack 提供了多种类型模型的试验场,可进行基础对话测试与推理速度观察。

测试方式有两种:

  1. 在模型部署操作 菜单中选择打开试验场
  2. 直接打开对话试验场,在右侧模型选择框中选择 MiniMax-M3。

在对话框中输入内容进行测试:

测试中我们发现,模型的思考内容分隔符 与标准 OpenAI API 格式不一致,导致试验场中思考内容显示异常------通过 cURL 直接调用 API 也能看到,思考内容会被混入 content 字段中。

查看模型的 chat_template.jinja 文件,果然其中使用了两个独特的思考标记。我们将其手动替换为标准的 <think> / </think>

diff 复制代码
- {%- set think_begin_token      = '<mm:think>'                     -%}
- {%- set think_end_token        = '</mm:think>'                    -%}
+ {%- set think_begin_token      = '<think>'                     -%}
+ {%- set think_end_token        = '</think>'                    -%}

这是一个临时解决方案,后续进展可关注此 issue:https://github.com/vllm-project/vllm/issues/45687

修改后,在模型实例菜单中点击删除重建,使改动生效:

实例重建后再次测试,思考内容已能正常解析与显示:

一切正常。以上为开启投机解码 的效果,下面再附一张未开启投机解码的效果作为对比:

六、基准测试

GPUStack 内置基准测试功能,可针对模型实例进行多种类型的测试,例如吞吐、延迟、长上下文等场景,并支持根据实际需求灵活调整测试参数。

七、小结

MiniMax-M3 在开源当天即获得 vLLM 的专用镜像支持,而 GPUStack 借助可插拔的推理后端架构 ,能够灵活接入自定义引擎版本,从而具备 Day 0 模型支持能力------这让我们得以在第一时间把这款全新的多模态模型部署、跑通并完整实测。

本文基于 GPUStack 演示了从环境准备、vLLM 自定义版本接入,到模型部署、对话实测、投机解码加速与基准测试的完整流程。在四卡 H20-3e 上,EAGLE3 投机解码 带来的加速效果相当明显:未开启时约为 126 tokens/s ,开启后提升至约 200 tokens/s ,提速接近 60%,对实际推理体验的改善立竿见影。

可以看到,借助 GPUStack,不仅能更方便地统一管理推理引擎与模型实例,更能在专用镜像、自定义版本、投机解码等尚未进入主线支持的「尝鲜」阶段,快速把新模型跑起来、测起来;后续也能平滑扩展到多节点、生产化与团队协作场景。

如果你也在关注 MiniMax-M3,不妨亲自部署体验一下。

附录:MiniMax-M3 启动日志

以下为本次 MiniMax-M3 在四卡 H20-3e 上的完整启动日志,可用于对照排查环境、并行、投机解码及多模态相关的加载情况:

https://gpustack-cn-blogs.oss-cn-shanghai.aliyuncs.com/assets/minimax-m3/minimax-m3-mxfp8-9LVui_2026-06-15_23-00-07.txt