saricles/MiniMax-M2.5-REAP-172B-A10B-NVFP4-GB10
26194
MiniMax-M2.5-REAP-172B-A10B-NVFP4-GB10
NVFP4 quantization of cerebras/MiniMax-M2.5-REAP-172B-A10B for NVIDIA DGX Spark (GB10).
The base model is a Cerebras REAP (Router-weighted Expert Activation Pruning) variant of MiniMaxAI/MiniMax-M2.5. REAP uniformly prunes experts from 256 → 192, reducing total parameters from 230B to 172B while maintaining near-identical performance.
Model Details
Performance (Single NVIDIA DGX Spark — GB10, 128 GB)
Benchmarked with llama-benchy.
Effective throughput with a large system prompt (~23K tokens): ~21 tok/s.
Quantization Details
- Method: Post-training quantization via LLM Compressor
- Calibration Dataset: HuggingFaceH4/ultrachat_200k (train_sft split)
- Calibration Samples: 64
- Max Sequence Length: 2048 tokens
- Ignore List:
lm_head,model.embed_tokens,re:.*block_sparse_moe\.gate$ - Environment:
LLMCOMPRESSOR_MOE_CALIBRATE_ALL_EXPERTS=1 - Hardware Used: NVIDIA DGX Spark with CPU offloading + swap (~4.7 hours)
Running on a Single DGX Spark
This is the setup I used for running and benchmarking it — one DGX Spark, nothing else.
Docker image: `avarok/dgx-vllm-nvfp4-kernel:v23` (vLLM 0.16.0-rc2, CUDA 13.0, SM 12.1)
Download the model:
huggingface-cli download saricles/MiniMax-M2.5-REAP-172B-A10B-NVFP4-GB10 \
--local-dir /opt/huggingface/models/MiniMax-M2.5-REAP-172B-NVFP4Launch:
docker run -d --name minimax --gpus all --ipc=host \
-v /opt/huggingface/models/MiniMax-M2.5-REAP-172B-NVFP4:/models/MiniMax-M2.5-REAP-172B-NVFP4 \
-p 8000:8000 \
-e VLLM_NVFP4_GEMM_BACKEND=marlin \
-e VLLM_TEST_FORCE_FP8_MARLIN=1 \
-e VLLM_USE_FLASHINFER_MOE_FP4=0 \
-e VLLM_MARLIN_USE_ATOMIC_ADD=1 \
-e MODEL=/models/MiniMax-M2.5-REAP-172B-NVFP4 \
-e PORT=8000 \
-e MAX_MODEL_LEN=65536 \
-e GPU_MEMORY_UTIL=0.93 \
-e "VLLM_EXTRA_ARGS=--trust-remote-code --kv-cache-dtype fp8 --attention-backend flashinfer --enable-auto-tool-choice --tool-call-parser minimax_m2 --reasoning-parser minimax_m2_append_think" \
avarok/dgx-vllm-nvfp4-kernel:v23Model takes ~3–4 minutes to load. Verify it's ready:
curl http://localhost:8000/v1/modelsTest it:
curl http://localhost:8000/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "MiniMax-M2.5-REAP-172B-NVFP4",
"messages": [{"role": "user", "content": "Hello!"}],
"temperature": 1.0,
"top_p": 0.95,
"top_k": 40,
"min_p": 0.01,
"max_tokens": 512
}'What the env vars do
Notes
gpu_memory_utilization=0.95will OOM. Use 0.93.- The model serves on port 8000 with an OpenAI-compatible API.
- Prefix caching is enabled by default in vLLM 0.16+.
- At 65K context, roughly 2 concurrent sessions fit with large system prompts.
- Tool calling requires
--enable-auto-tool-choice --tool-call-parser minimax_m2.
Recommended Sampling Parameters
{
"temperature": 1.0,
"top_p": 0.95,
"top_k": 40,
"min_p": 0.01
}Acknowledgments
- Base model by MiniMax
- REAP sparse-inference pruning by Cerebras (paper)
- Quantization tooling by vLLM / LLM Compressor
