MiniMax-M2.5-NVFP4 / README.md
linzhao-amd's picture
upload
de1b053 verified
|
Raw
History Blame
3.19 kB
---
base_model:
- MiniMaxAI/MiniMax-M2.5
language:
- en
library_name: transformers
license: other
license_name: modified-mit
license_link: https://github.com/MiniMax-AI/MiniMax-M2.5/blob/main/LICENSE
---
# Model Overview
- **Model Architecture:** MiniMaxM2ForCausalLM
- **Input:** Text
- **Output:** Text
- **Supported Hardware Microarchitecture:** AMD MI300/MI350/MI355 (emulation)
- **ROCm:** 7.2.2
- **Operating System(s):** Linux
- **Model Optimizer:** [AMD-Quark](https://quark.docs.amd.com/latest/index.html) (v0.12)
- **Inference Engine:** [SGLang](https://docs.sglang.ai/)/[vLLM](https://docs.vllm.ai/en/latest/)
- **Weight quantization:** NVFP4, Static
- **Activation quantization:** NVFP4, Dynamic
# Model Quantization
The model was quantized from [MiniMaxAI/MiniMax-M2.5](https://huggingface.co/MiniMaxAI/MiniMax-M2.5) which was converted to bf16 using [QuixiAI/MiniMax-M2.1-bf16/minimax_to_bf16.py](https://huggingface.co/QuixiAI/MiniMax-M2.1-bf16/blob/main/minimax_to_bf16.py) using [AMD-Quark](https://quark.docs.amd.com/latest/index.html). The weights are quantized to NVFP4 and activations are quantized to NVFP4.
**Quantization scripts:**
```
cd Quark/examples/torch/language_modeling/llm_ptq/
export exclude_layers="lm_head *block_sparse_moe.gate* *self_attn*"
export CUDA_VISIBLE_DEVICES=0,1,2,3
python3 quantize_quark.py \
--model_dir /MiniMaxAI/MiniMax-M2.5 \
--quant_scheme nvfp4 \
--num_calib_data 128 \
--exclude_layers $exclude_layers \
--model_export hf_format \
--trust_remote_code \
--multi_gpu \
--output_dir /amd/MiniMax-M2.5-NVFP4
```
For further details or issues, please refer to the AMD-Quark documentation or contact the respective developers.
# Evaluation
The model was evaluated on gsm8k benchmarks using the [vllm](https://github.com/vllm-project/vllm/tree/v0.13.0) framework.
### Accuracy
<table>
<tr>
<td><strong>Benchmark</strong>
</td>
<td><strong>MiniMaxAI/MiniMax-M2.5 </strong>
</td>
<td><strong>amd/MiniMax-M2.5-NVFP4(this model)</strong>
</td>
<td><strong>Recovery</strong>
</td>
</tr>
<tr>
<td>gsm8k (flexible-extract)
</td>
<td>91.51
</td>
<td>91.21
</td>
<td>99.67%
</td>
</tr>
</table>
### Reproduction
The GSM8K result was obtained using the `lm-evaluation-harness` framework, based on the Docker image `rocm/vllm-dev:nightly_main_20260603`.
Install the lm-eval `(Version: 0.4.12)` in container first.
```
pip install lm-eval
pip install lm-eval[api]
```
#### Launching server
```
VLLM_ROCM_USE_AITER=1 vllm serve /amd/MiniMax-M2.5-NVFP4/ \
--tensor-parallel-size 2 \
--tool-call-parser minimax_m2 \
--reasoning-parser minimax_m2 \
--enable-auto-tool-choice \
--trust-remote-code
```
#### Evaluating model in a new terminal
```
lm_eval \
--model local-completions \
--model_args "model=/amd/MiniMax-M2.5-NVFP4/,base_url=http://127.0.0.1:8000/v1/completions,tokenized_requests=False,tokenizer_backend=None,num_concurrent=32" \
--gen_kwargs temperature=1.0,top_p=0.95 \
--tasks gsm8k \
--num_fewshot 8 \
--batch_size 1
```
# License
Modifications Copyright(c) 2026 Advanced Micro Devices, Inc. All rights reserved.