MiniMax-M3 Transformers 部署调用
June 3, 2026 · View on GitHub
MiniMax-M3 简介
MiniMax-M3 是 MiniMax 推出的最新一代开源大语言模型。相较于 M2.5,M3 在长上下文、推理质量和多模态能力上均有明显提升:上下文窗口扩展到 512K、单次最大输出可达 128K,并原生支持图片输入(仅图片,视频/音频/文档暂不支持)。本文演示如何通过 Transformers 直接加载并运行 MiniMax-M3 模型。
环境准备
基础环境(参考值):
- OS:Linux
- Python:3.9 - 3.12
- Transformers:>= 4.57.1
- GPU:compute capability 7.0 or higher,显存需求约 220 GB
安装依赖:
建议使用虚拟环境(venv / conda / uv)避免依赖冲突
uv venv
source .venv/bin/activate
uv pip install transformers==4.57.1 torch accelerate --torch-backend=auto
模型下载
Transformers 会在首次加载时自动从 Hugging Face 下载并缓存模型。若网络受限,可使用 modelscope 提前下载:
# model_download.py
from modelscope import snapshot_download
model_dir = snapshot_download('MiniMaxAI/MiniMax-M3', cache_dir='/root/autodl-tmp', revision='master')
print(f"模型下载成功,保存到: {model_dir}")
pip install modelscope
python model_download.py
注意:使用
modelscope下载模型时无需设置 HF 镜像。若不使用 modelscope,而是直接通过 Transformers 从 Hugging Face 下载,网络受限时可设置镜像:export HF_ENDPOINT=https://hf-mirror.com
推理示例
基础对话
# test_transformers.py
from transformers import AutoModelForCausalLM, AutoTokenizer
import torch
MODEL_PATH = "MiniMaxAI/MiniMax-M3"
model = AutoModelForCausalLM.from_pretrained(
MODEL_PATH,
device_map="auto",
trust_remote_code=True,
)
tokenizer = AutoTokenizer.from_pretrained(MODEL_PATH)
messages = [
{"role": "user", "content": [{"type": "text", "text": "请介绍一下 MiniMax-M3 模型的主要特点。"}]},
]
model_inputs = tokenizer.apply_chat_template(
messages, return_tensors="pt", add_generation_prompt=True
).to("cuda")
generated_ids = model.generate(
model_inputs,
max_new_tokens=2048,
generation_config=model.generation_config,
)
response = tokenizer.batch_decode(generated_ids)[0]
print(response)
运行:
python test_transformers.py
多轮对话
# test_multi_turn.py
from transformers import AutoModelForCausalLM, AutoTokenizer
MODEL_PATH = "MiniMaxAI/MiniMax-M3"
model = AutoModelForCausalLM.from_pretrained(
MODEL_PATH,
device_map="auto",
trust_remote_code=True,
)
tokenizer = AutoTokenizer.from_pretrained(MODEL_PATH)
messages = [
{"role": "user", "content": [{"type": "text", "text": "什么是快速排序?"}]},
{"role": "assistant", "content": [{"type": "text", "text": "快速排序是一种高效的排序算法,采用分治策略,通过选择一个基准元素将数组分为两部分,然后递归排序。"}]},
{"role": "user", "content": [{"type": "text", "text": "请用 Python 实现它。"}]},
]
model_inputs = tokenizer.apply_chat_template(
messages, return_tensors="pt", add_generation_prompt=True
).to("cuda")
generated_ids = model.generate(
model_inputs,
max_new_tokens=2048,
generation_config=model.generation_config,
)
response = tokenizer.batch_decode(generated_ids)[0]
print(response)
运行:
python test_multi_turn.py
长输出(≤128K)
M3 支持单次最大 128K 的输出长度,按需调整 max_new_tokens 即可:
generated_ids = model.generate(
model_inputs,
max_new_tokens=131072, # 128K
generation_config=model.generation_config,
)
输出越长,显存与时延越高,建议结合任务实际需求设置。
常见问题
Hugging Face 网络问题
若未使用 modelscope 下载模型,而是直接通过 Transformers 从 Hugging Face 下载,可设置镜像:
export HF_ENDPOINT=https://hf-mirror.com
若已通过
modelscope下载模型并指定了本地路径,则无需此设置。
MiniMax-M3 model is not currently supported
请确认已开启 trust_remote_code=True,并升级 Transformers 至 >= 4.57.1:
pip install -U transformers