MiniMax M3.1 Flash 开源模型权重,总参数 428B

0 阅读7分钟

252.4 GB。这是 MiniMax M3.1-Flash 官方权重的全部体积:49 个 safetensors 分片,10 月 17 日挂上 Hugging Face,README 最后一次更新停在 10 月 23 日。模型卡现在的下载数是 357,单看不起眼,架不住这数是六天里从零爬上来的。

添加图片注释,不超过 140 字(可选)

热度从哪来?几个数字叠在一起:总参数 428B,每 token 激活 23B,原生多模态,1M 上下文。再往里一层,是这个模型把三样平时只活在论文里的东西打包进了权重文件——全程 MiniMax Sparse Attention、量化感知训练(QAT)、DSpark 投机解码。对标对象直接写在表里:DeepSeek V4.1 Flash-1017。

技术报告在 arXiv 2606.13392。下面拆开讲。

添加图片注释,不超过 140 字(可选)

图:官方 Automation-Bench v1.0.6 得分对单任务成本曲线,M3.1-Flash 从 low 52.8% 到 max 62.8% 一路贴着成本-性能前沿走。

这批权重里有什么

config.json 扫一遍,骨架是这样的:60 层,hidden 6144,词表 200064,128 个专家,每个 token 路由 4 个专家再加 1 个共享专家。前 3 层的 FFN 是 dense,后面 57 层全是 MoE。注意力侧 num_key_value_heads 只有 4,KV cache 压得很省;激活函数 swigluoai,swiglu_alpha 1.702;partial_rotary_factor 0.5,一半维度上 RoPE。

多模态是原生的,文本、图像、视频一起吃。视觉塔是 32 层 CLIP,hidden 1280,patch 14,带 3D RoPE 支持视频,动态分辨率最高 2016×2016;config 里 image_seq_length 写死 576,也就是每 672×672 的 tile 折算 576 个 token,最高档一张图要吃 9 个 tile。max_position_embeddings 写的是 1048576,1M 上下文,白纸黑字在 config 里,不是营销页上的形容词。

添加图片注释,不超过 140 字(可选)

图:M3.1-Flash 架构剖面,60 层堆叠、稀疏注意力全覆盖、NVFP4 打包与 ignored_layers 高精度保留名单。

稀疏注意力,这次是真·全程

README 的 What’s New 里有句原话:”Sparse attention throughout: the first three full-attention layers are replaced with sparse attention.” 这句容易读歪。M3 那一代留了前 3 层全注意力当地基,M3.1-Flash 把这三层也换成了稀疏注意力,60 层一律稀疏,config 里 sparse_attention_freq 的六十个 1 就是证据。

机制上,每个 query 只去检索 top-16 个 128-token 的块(sparse_block_size 128、sparse_topk_blocks 16),外加 1 个 local_block,init_block 为 0,稀疏窗口拢共 2K token 出头。检索用 4 个 index head,index_dim 128,块打分取 max。这数跟 1M 上下文摆在一起才有味道:百万级序列里,每个位置实际”看”的就两千 token 量级。

排个雷。config 里另有个数组叫 moe_layer_freq,前三位是 0,指的是前 3 层用 dense FFN,跟注意力没关系。两个”3”长得像,写架构笔记的时候极易串。

由此往 agent 场景推一层。agent 跑长任务,几万 token 之前的工具输出、中间报错,模型全靠那 16 个块检索找回来,找不找得准,是这套设计真正的考题。基准表里没有单独考长程检索的一项,这是个空档。拿它做超长对话记忆、代码库级问答之前,先拿一个”针掉在十万字 haystack 里”的用例测一把,测完再上生产。

收益那一侧也实在:注意力开销从序列长度的平方降到近似线性,1M 上下文才有可能在有限显存里跑起来。没有这一层,后面那些都是空谈。

QAT 写进了文件格式

QAT 在这回可不是 PPT 词。config.json 的 quantization_config 写得明白:quant_method mxfp8、激活 dynamic、weight_block_size [1,32]、group_size 16;MoE 专家权重单独走 NVFP4(moe_quant_algo=NVFP4,格式 nvfp4-pack-quantized)。敏感件全在 ignored_layers 里保高精度:第 3 到 59 层的 block_sparse_moe.gate 一个不落,外加 lm_head、embed_tokens、vision_tower、multi_modal_projector。仓库 tags 里那几个 mxfp8、8-bit、custom_code,说的就是这回事。

体积就是这么算出来的:252,418,287,306 字节,约 252.4 GB(235 GiB),48 个主模型分片,另带一个独立的 DSpark 草稿头(model-dspark-00001.safetensors,2.3 GB)。压缩到 NVFP4 之后还是这个量级,单卡没有任何悬念,多机多卡是起点。

投机解码这一代也换了人。README 原话:”DSpark speculative decoding: DSpark replaces the earlier EAGLE-like MTP approach.” M 系列前几代用 EAGLE 式 MTP,M3.1-Flash 改用 DSpark,草稿头直接内置在仓库 dspark/ 目录里,和主模型分开放。要跟着换的还有 serving 侧:支持 EAGLE 的那套部署脚本,对 DSpark 大概率得改。

上手:三条路,四个坑

坑在前面。模型卡 library_name 写着 transformers,但 README 的 Local Deployment 一节里,Transformers、KTransformers、unsloth、ATOM 四个名字全挂在 “Additional integrations in progress” 底下。想 pip 装完直接 from_pretrained,现在跑不通。官方点名的是三个:SGLang(配 docs.sglang.io 上的 MiniMax cookbook)、vLLM(配 recipes.vllm.ai 的 recipe)、TokenSpeed。

国内环境 hf.co 直连不通,下载这步把 endpoint 指到镜像:

export HF_ENDPOINT=https://hf-mirror.com
huggingface-cli download MiniMaxAI/MiniMax-M3.1-Flash \
  --local-dir ./MiniMax-M3.1-Flash

252 GB。先看磁盘,再看卡。

服务以 SGLang 为例,骨架长这样(具体参数以 cookbook 的 MiniMax 那页为准):

python -m sglang.launch_server \
  --model-path ./MiniMax-M3.1-Flash \
  --tp 8 \
  --trust-remote-code

权重 252.4 GB,8 张 80G 卡理论上放得下,1M 上下文的 KV cache 得另算账。README 自己的原话是能跑多长”取决于显存与 serving 配置”,这句别当套话读。num_key_value_heads=4 让 KV 单价不贵,可百万级序列长度一乘上去,账还是吓人。

token 预算也可以先粗算。一张 672×672 的基础图折算 576 个 token,最高档 2016×2016 是 9 个 tile、5184 个 token;1M 上下文理论上塞得下一千八百张基础图,换成最高档就只剩一百九十来张,前提是 KV 和激活不抢地盘。实际能挂多少图、多少帧视频,起服务之后先拿一个批量图文请求探一下水位,比看任何宣传数字都有用。

采样参数官方给的是 temperature=1.0、top_p=0.95。chat template 里 reasoning_effort 分五档:low、medium、high、xhigh、max。长链路 agent 任务往 high 以上调,要快就 low。

国产芯片这条线,是这批东西里最实在的落地信息。仓库 docs/FlagOS-Multi-Chip-Support-and-Downloads.md 写着,经 FlagOS(智源联合发起)适配的平台有九家:华为昇腾、海光、摩尔线程、昆仑芯、天数智芯、沐曦、清微智能、T-Head(玄武/Zhenwu),加上 NVIDIA。每家都有 ModelScope + HuggingFace 双仓库,命名规则 FlagRelease/MiniMax-M3.1-Flash-W8A8--FlagOS,部分带 -Express 后缀。机制值得记一笔:官方权重是 QAT 出来的 NVFP4,FlagOS 把它重新量化成 W8A8 当跨芯片统一格式,推理走 vLLM-plugin-FL 或 SGLang-plugin-FL,T-Head 那页给的示例组合是 vLLM v0.24.0 + vllm-plugin-FL v0.3.0 + FlagGems v5.4.0。我最想看的是昇腾和摩尔线程那几家什么时候放出实测吞吐,文档能给到的目前是版本组合,不是性能数。

添加图片注释,不超过 140 字(可选)

坑列一下:

  1. transformers 加载报错别急着怀疑环境,适配没完成,等。
  2. 只拉主模型分片,DSpark 草稿头是缺的,投机解码开不起来。model-dspark-00001.safetensors 是单独一个文件,记得拉。
  3. 拿第三方量化版复现基准,对不上别急着骂模型。README 自己写了:”Results are for the official weights; third-party quantizations may differ.”
  4. reasoning_effort 和采样参数别一起动,变量太多,出了问题说不清是谁的。

收个尾

这批权重的价值,我倒觉得不在 428B 这个数,而在它把”稀疏注意力 + QAT + 投机解码”整条效率链连同能跑的草稿头一起交了出来,FlagOS 又把 W8A8 版铺到九家芯片上。悬着的也有:transformers 适配什么时候补完,20M 美元那条线的授权邮件多久有人回。两件事,接下来一周内都该有动静。

参考链接

公众hao搜索:Pixel技术笔记,关注不迷路