-- Fixed the
mm:think ... </mm:think> problem. with test files
A 4-bit
MXFP4 quantization of
MiniMax-M3,
produced with
qstream. The routed MoE experts
(≈95% of the weights) are quantized to MXFP4; everything that is quality-sensitive is
kept at higher precision.
Quantization is faithful: a degraded checkpoint would show PPL in the hundreds. Eval
scripts: scripts/eval_ppl.py, scripts/eval_gsm8k.py in the qstream repo.
This checkpoint targets a MiniMax-M3-capable vLLM build. MXFP4-on-M3 is currently an
experimental path in that fork, so two things are required:
1docker run --gpus all --privileged --ipc=host -p 8000:8000 \
2 -e VLLM_MXFP4_USE_MARLIN=1 \
3 -v $(FOLDER-WITH-MiniMax-M3-MXFP4)/vllm_patch/compressed_tensors_moe_w4a4_mxfp4.py:/usr/local/lib/python3.12/dist-packages/vllm/model_executor/layers/quantization/compressed_tensors/compressed_tensors_moe/compressed_tensors_moe_w4a4_mxfp4.py \
4 vllm/vllm-openai:minimax-m3 olka-fi/MiniMax-M3-MXFP4 \
5 --block-size 128 --tool-call-parser minimax_m3 --enable-auto-tool-choice \
6 --reasoning-parser minimax_m3 --load-format fastsafetensors \
7 --gpu-memory-utilization 0.97 --enforce-eager --max-model-len 200000 \
8 --max-num-batched-tokens 2048 --linear-backend marlin
Fits on a single ~275 GB GPU (e.g. B300/SM100). On SM120 (DGX Spark) the same Marlin
path applies, but also needs the MSA SM12x sparse-attention kernels, and the ~221 GiB
of weights won't fit in 2×128 GB.
Inherits the
MiniMax Community License from the base model (non-commercial).
This is a derivative (quantized) work of MiniMax-M3.