File size: 12,653 Bytes
2391047 067871e 2391047 6341341 d5e8c7a 6341341 067871e 214570d 067871e 214570d 067871e 214570d 067871e 214570d 067871e 214570d 067871e 214570d 067871e 214570d 067871e 214570d 067871e 214570d 067871e 214570d 067871e 214570d 067871e 214570d 067871e 214570d 067871e 214570d 067871e 214570d 067871e 214570d 067871e 214570d 067871e 68cfece 067871e 214570d 067871e 214570d 067871e 214570d 067871e 214570d 067871e 214570d 067871e 214570d 067871e 214570d 067871e 214570d 067871e 214570d a6c61f8 57c0d1e 214570d 067871e 214570d 067871e d5e8c7a 214570d d5e8c7a 214570d d5e8c7a |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 |
---
tags:
- moe
- minimax
- bfloat16
- sglang
- gguf
license: mit
datasets:
- nick007x/github-code-2025
- tatsu-lab/alpaca
base_model:
- MiniMaxAI/MiniMax-M2
---

# THRIFT — Targeted Reduction for Inference and Fine-Tuning
A performance-optimized variant of the base model that delivers faster responses and lower memory usage while preserving quality for everyday tasks, developed by VibeStud.io.
## TLDR
We, over-caffinated researchers at VibeStud.io wanted to create a 50% pruned version of the SOTA MiniMax M2 that is best suited for local/air-gapped coding. This version we achieved ~25%. A 50% pruned version is under development while a not so sucky team of ours is working on a 50% pruned version of Kimi K2 Thinking.We’re writing the paper and expanding the evaluation set to substantiate the results. Check back later, cheers!
## Why it’s useful
* **Lower latency:** Snappier responses for interactive apps and chatbots.
* **Smaller memory footprint:** Runs on cheaper GPUs or with fewer resources per replica.
* **Higher throughput:** Serve more concurrent users at the same cost.
* **Deployment-friendly:** Drop-in replacement for the base model in most inference stacks.
* **Adaptable:** Supports light fine-tuning to match your domain and style guidelines.
## Intended use
* General chat and coding assistance
* Enterprise assistants with strict latency/VRAM budgets
* Batch or realtime serving in cloud and on-prem environments
* Edge or cost-sensitive deployments where efficiency matters
## When to use it
* You’re constrained by GPU memory or need shorter response times
* You want to increase QPS without scaling infrastructure
* You need a model that is “good enough” for most tasks at a better cost profile
---
# Model Comparison Report
**Models Under Evaluation**
| Model | Type |
| :--------------------------- | :------------------- |
| ModelCloud/MiniMax-M2-BF16 | Base Model |
| VibeStudio/MiniMax-M2-THRIFT | Compressed/Optimized |
**Evaluation Dates:** November 7–9, 2025
## 📊 Results Comparison
### 1) Multiple Choice Q&A (lm-eval)
**Overall MMLU Performance**
| Model | MMLU Overall | Humanities | STEM | Social Sciences | Other |
| :----------------- | -----------: | ---------: | -----: | --------------: | -----: |
| MiniMax-M2-BF16 | **83.16%** | 77.45% | 80.91% | **90.02%** | 87.29% |
| MiniMax-M2-THRIFT | **77.72%** | 70.14% | 77.61% | 86.84% | 80.27% |
| **Δ (Difference)** | **-5.44%** | -7.31% | -3.30% | -3.18% | -7.02% |
**Individual Task Performance**
| Task | BF16 (Base) | THRIFT-BF16 | Difference |
| :----------------------- | ----------: | ----------: | ------------: |
| arc_challenge (acc_norm) | 73.21% | 61.01% | -12.20% ⬇️ |
| arc_easy | 88.30% | 83.08% | -5.22% ⬇️ |
| boolq | 87.95% | 84.95% | -3.00% ⬇️ |
| hellaswag (acc_norm) | 83.00% | 77.09% | -5.91% ⬇️ |
| mmlu | 83.16% | 77.72% | -5.44% ⬇️ |
| openbookqa (acc_norm) | 48.60% | 43.00% | -5.60% ⬇️ |
| rte | 75.45% | **80.14%** | **+4.69% ⬆️** |
| winogrande | 76.48% | 74.90% | -1.58% ⬇️ |
**Average Accuracy Drop:** **-4.28%**
### 2) Code Generation (EvalPlus)
**MBPP Results (Python, 378 problems)**
| Model | MBPP (base) | MBPP+ (extended) | Average |
| :----------------- | ----------: | ---------------: | --------: |
| MiniMax-M2-BF16 | **73.8%** | **64.0%** | 68.9% |
| MiniMax-M2-THRIFT | **70.1%** | **60.1%** | 65.1% |
| **Δ (Difference)** | **-3.7%** | **-3.9%** | **-3.8%** |
**HumanEval Results (164 problems)**
| Model | HumanEval (base) | HumanEval+ (extended) | Average |
| :----------------- | ---------------: | --------------------: | --------: |
| MiniMax-M2-BF16 | **72.6%** | **71.3%** | 72.0% |
| MiniMax-M2-THRIFT | **65.2%** | **63.4%** | 64.3% |
| **Δ (Difference)** | **-7.4%** | **-7.9%** | **-7.7%** |
### 3) Math Benchmarks
**GSM8K Results**
| Model | Accuracy | Problems | Status |
| :----------------- | ------------: | -------: | :------------------- |
| MiniMax-M2-BF16 | **92.72%** | 1,319 | ✅ Complete |
| MiniMax-M2-THRIFT | **93.25%** | 1,319 | ✅ Complete |
| **Δ (Difference)** | **+0.53% ⬆️** | - | **THRIFT Better!** ✨ |
| Benchmark | MiniMax-M2-BF16 | MiniMax-M2-THRIFT | Change |
|-----------|------|------------|--------|
| **GSM8K** | 92.72% | 93.25% | **+0.53%** ⬆️ |
| **MATH-500 (Levels 1-4)** | 91.25% | 90.75% | -0.5% (near-parity) |
### 4) LiveCodeBench (Live Coding Problems)
| Model | pass@1 | Problems | Status |
| :-------------------- | ------------: | -------: | :------------------- |
| **MiniMax-M2-BF16** | **35.71%** | 182 | ✅ Complete |
| **MiniMax-M2-THRIFT** | **36.81%** | 182 | ✅ Complete |
| **Δ (Difference)** | **+1.10% ⬆️** | - | **THRIFT Better!** ✨ |
---
## 📈 Analysis (Updated)
**Highlights**
* **THRIFT wins** on **GSM8K (+0.53%)** and **LiveCodeBench (+1.10%)**, and on **RTE (+4.69%)**.
* **BF16 leads** on broad **MMLU**, **HumanEval**, **MBPP**, and tasks like **arc_challenge**.
**Compression Trade-off**
* Average knowledge-task drop for THRIFT is ~**4–5%**, with **math preserved or slightly improved**.
**Subject Breakdown (MMLU)**
| Category | BF16 (Base) | THRIFT-BF16 | Difference | Status |
| :--------------------- | ----------: | ----------: | ---------: | :---------------- |
| High School Government | 97.93% | 94.82% | -3.11% | ✅ Still Excellent |
| High School Psychology | 95.41% | 93.58% | -1.83% | ✅ Well Preserved |
| Marketing | 95.73% | 91.88% | -3.85% | ✅ Good |
| Professional Medicine | 92.28% | 79.78% | -12.50% | ⚠️ Notable Drop |
| Clinical Knowledge | 92.83% | 85.66% | -7.17% | ⚠️ Moderate Drop |
---
## **sglang Deployment with Python**
It is recommended to use a virtual environment (such as **venv**, **conda**, or **uv**) to avoid dependency conflicts.
We recommend installing SGLang in a fresh Python environment:
```shell
git clone -b v0.5.4.post1 https://github.com/sgl-project/sglang.git
cd sglang
# Install the python packages
pip install --upgrade pip
pip install -e "python"
```
Run the following command to start the SGLang server. SGLang will automatically download and cache the MiniMax-M2 model from Hugging Face.
**4-GPU deployment command:**
```shell
python -m sglang.launch_server \
--model-path MiniMaxAI/MiniMax-M2 \
--tp-size 4 \
--tool-call-parser minimax-m2 \
--reasoning-parser minimax-append-think \
--host 0.0.0.0 \
--trust-remote-code \
--port 8000 \
--mem-fraction-static 0.85
```
**8-GPU deployment command:**
```shell
python -m sglang.launch_server \
--model-path MiniMaxAI/MiniMax-M2 \
--tp-size 8 \
--ep-size 8 \
--tool-call-parser minimax-m2 \
--trust-remote-code \
--host 0.0.0.0 \
--reasoning-parser minimax-append-think \
--port 8000 \
--mem-fraction-static 0.85
```
## **Testing Deployment**
After startup, you can test the SGLang OpenAI-compatible API with the following command:
```shell
curl http://localhost:8000/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "MiniMaxAI/MiniMax-M2",
"messages": [
{"role": "system", "content": [{"type": "text", "text": "You are a helpful assistant."}]},
{"role": "user", "content": [{"type": "text", "text": "Who won the world series in 2020?"}]}
]
}'
```
## Benchmarks
See the tables above for the latest **MMLU**, **MBPP**, **HumanEval**, **GSM8K**, **MATH-500**, and **LiveCodeBench** results (updated **November 9, 2025**).
## Research paper
Coming soon.
---
## License
This model is derived from MiniMax-M2 and distributed under the MIT License [http://github.com/MiniMax-AI/MiniMax-M2/blob/main/LICENSE](http://github.com/MiniMax-AI/MiniMax-M2/blob/main/LICENSE)
---
## Credits
Model conversion and HF Transformers code by @Qubitum at ModelCloud.
## **References (BibTeX)**
```
@article{cai2025thinking,
title = {Thinking with DistilQwen: A Tale of Four Distilled Reasoning and Reward Model Series},
author = {Cai, Wenrui and Wang, Chengyu and Yan, Junbing and Huang, Jun and Fang, Xiangzhong},
journal = {arXiv preprint arXiv:2511.01354},
year = {2025},
eprinttype = {arXiv},
eprint = {2511.01354},
primaryclass = {cs.CL},
institution = {Shanghai Jiao Tong University and Alibaba Cloud Computing},
note = {License: arXiv.org perpetual non-exclusive license}
}
@misc{lasby-reap,
title = {{REAP the Experts: Why Pruning Prevails for One-Shot MoE compression}},
author = {Lasby, Mike and Lazarevich, Ivan and Sinnadurai, Nish and Lie, Sean and Ioannou, Yani and Thangarasa, Vithursan},
year = {2025},
publisher = {arXiv},
note = {arXiv:2510.13999v1 [cs]},
url = {https://arxiv.org/abs/2510.13999v1},
}
@article{yang2025wanda++,
title = {Wanda++: Pruning Large Language Models via Regional Gradients},
author = {Yang, Yifan and Zhen, Kai and Ganesh, Bhavana and Galstyan, Aram and Huybrechts, Goeric and Müller, Markus and Kübler, Jonas M. and Swaminathan, Rupak Vignesh and Mouchtaris, Athanasios and Bodapati, Sravan Babu and Susanj, Nathan and Zhang, Zheng and FitzGerald, Jack and Kumar, Abhishek},
journal = {arXiv preprint arXiv:2503.04992},
year = {2025},
eprinttype = {arXiv},
eprint = {2503.04992},
primaryclass = {cs.CL}
}
@article{li2025tyr,
title = {Týr-the-Pruner: Structural Pruning LLMs via Global Sparsity Distribution Optimization},
author = {Li, G. and Xu, Yixing and Li, Zeping and Liu, Ji and Yin, Xuanwu and Li, Dong and Barsoum, Emad},
journal = {arXiv preprint arXiv:2503.09657},
year = {2025},
eprinttype = {arXiv},
eprint = {2503.09657},
primaryclass = {cs.CL}
}
@article{xia2023sheared,
title = {Sheared LLaMA: Accelerating Language Model Pre-training via Structured Pruning},
author = {Xia, Mengzhou and Gao, Tianyu and Zeng, Zhiyuan and Chen, Danqi},
journal = {arXiv preprint arXiv:2310.06694},
year = {2023},
eprinttype = {arXiv},
eprint = {2310.06694},
primaryclass = {cs.CL}
}
@article{ma2023llmpruner,
title = {LLM-Pruner: On the Structural Pruning of Large Language Models},
author = {Ma, Xinyin and Fang, Gongfan and Wang, Xinchao},
journal = {arXiv preprint arXiv:2305.11627},
year = {2023},
eprinttype = {arXiv},
eprint = {2305.11627},
primaryclass = {cs.CL}
}
@article{yang2023wanda,
title = {Wanda: Pruning by Weights and Activation-based Discriminant Analysis},
author = {Yang, Yifan and Ganesh, Bhavana and Galstyan, Aram and Huybrechts, Goeric and Müller, Markus and Kübler, Jonas M. and Swaminathan, Rupak Vignesh and Mouchtaris, Athanasios and Bodapati, Sravan Babu and Zhang, Zheng and FitzGerald, Jack and Kumar, Abhishek},
journal = {arXiv preprint arXiv:2306.11695},
year = {2023},
eprinttype = {arXiv},
eprint = {2306.11695},
primaryclass = {cs.CL}
}
@article{frantar2023sparsegpt,
title = {SparseGPT: Massive Language Models Can Be Accurately Pruned in One-Shot},
author = {Frantar, Elias and Alistarh, Dan},
journal = {arXiv preprint arXiv:2301.00774},
year = {2023},
eprinttype = {arXiv},
eprint = {2301.00774},
primaryclass = {cs.CL}
}
@article{dettmers2023qlora,
title = {QLoRA: Efficient Finetuning of Quantized LLMs},
author = {Dettmers, Tim and Pagnoni, Artidoro and Holtzman, Ari and Zettlemoyer, Luke},
journal = {arXiv preprint arXiv:2307.02973},
year = {2023},
eprinttype = {arXiv},
eprint = {2307.02973},
primaryclass = {cs.CL}
}
```
|