update configs (batch 1/1)

This commit is contained in:
Cherrytest
2026-02-12 16:48:54 +00:00
parent d954371850
commit b9872f80c2
156 changed files with 3099 additions and 46 deletions

130
.gitattributes vendored
View File

@@ -45,3 +45,133 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
*.wasm filter=lfs diff=lfs merge=lfs -text
*.zst filter=lfs diff=lfs merge=lfs -text
*tfevents* filter=lfs diff=lfs merge=lfs -text
model-00122-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
merges.txt filter=lfs diff=lfs merge=lfs -text
model-00004-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00006-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00005-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00002-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00009-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00015-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00007-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00008-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00000-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00010-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00016-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00017-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00019-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00014-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00012-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00011-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00020-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00022-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00013-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00023-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00018-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00025-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00031-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00024-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00033-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00026-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00030-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00029-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00032-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00034-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00039-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00035-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00041-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00028-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00038-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00040-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00043-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00044-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00037-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00047-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00045-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00046-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00049-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00048-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00053-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00036-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00050-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00054-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00055-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00051-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00052-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00042-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00059-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00063-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00056-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00057-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00062-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00060-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00058-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00067-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00064-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00073-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00066-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00068-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00071-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00069-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00077-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00070-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00076-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00078-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00079-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00081-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00074-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00083-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00075-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00085-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00087-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00082-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00084-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00080-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00091-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00088-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00093-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00095-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00089-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00090-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00097-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00094-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00096-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00001-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00101-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00092-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00103-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00099-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00105-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00098-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00102-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00003-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00104-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00021-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00111-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00110-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00108-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00027-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00119-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00113-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00115-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00109-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00114-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00107-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00100-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00112-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00116-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00118-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model.safetensors.index.json filter=lfs diff=lfs merge=lfs -text
tokenizer.json filter=lfs diff=lfs merge=lfs -text
vocab.json filter=lfs diff=lfs merge=lfs -text
model-00117-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00121-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00124-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00120-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00123-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00065-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00061-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00072-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00086-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text
model-00106-of-00126.safetensors filter=lfs diff=lfs merge=lfs -text

286
README.md
View File

@@ -1,52 +1,246 @@
---
frameworks:
- Pytorch
license: Apache License 2.0
tags: []
tasks:
- text-generation
#model-type:
##如 gpt、phi、llama、chatglm、baichuan 等
#- gpt
#domain:
##如 nlp、cv、audio、multi-modal
#- nlp
#language:
##语言代码列表 https://help.aliyun.com/document_detail/215387.html?spm=a2c4g.11186623.0.0.9f8d7467kni6Aa
#- cn
#metrics:
##如 CIDEr、Blue、ROUGE 等
#- CIDEr
#tags:
##各种自定义,包括 pretrained、fine-tuned、instruction-tuned、RL-tuned 等训练方法和其他
#- pretrained
#tools:
##如 vllm、fastchat、llamacpp、AdaSeq 等
#- vllm
pipeline_tag: text-generation
license: other
license_name: modified-mit
license_link: https://github.com/MiniMax-AI/MiniMax-M2.5/blob/main/LICENSE
library_name: transformers
---
### 当前模型的贡献者未提供更加详细的模型介绍。模型文件和权重,可浏览“模型文件”页面获取。
#### 您可以通过如下git clone命令,或者ModelScope SDK来下载模型
SDK下载
```bash
#安装ModelScope
pip install modelscope
<div align="center">
<svg width="60%" height="auto" viewBox="0 0 144 48" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M26.6782 7.96523C26.6782 7.02436 25.913 6.26087 24.9739 6.26087C24.0348 6.26087 23.2695 7.0261 23.2695 7.96523V36.2139C23.2695 38.4 21.4904 40.1791 19.3043 40.1791C17.1183 40.1791 15.3391 38.4 15.3391 36.2139V18.0904C15.3391 17.1496 14.5739 16.3861 13.6348 16.3861C12.6956 16.3861 11.9304 17.1513 11.9304 18.0904V25.7722C11.9304 27.9583 10.1513 29.7374 7.96518 29.7374C5.7791 29.7374 4 27.9583 4 25.7722V22.9878C4 22.3635 4.50609 21.8574 5.13043 21.8574C5.75478 21.8574 6.26087 22.3635 6.26087 22.9878V25.7722C6.26087 26.713 7.02605 27.4765 7.96518 27.4765C8.90431 27.4765 9.66954 26.7113 9.66954 25.7722V18.0904C9.66954 15.9044 11.4487 14.1252 13.6348 14.1252C15.8209 14.1252 17.6 15.9044 17.6 18.0904V36.2139C17.6 37.1548 18.3652 37.9183 19.3043 37.9183C20.2435 37.9183 21.0087 37.153 21.0087 36.2139V25.1322V7.96523C21.0087 5.77914 22.7878 4 24.9739 4C27.16 4 28.9391 5.77914 28.9391 7.96523V31.3565C28.9391 31.9809 28.433 32.487 27.8087 32.487C27.1843 32.487 26.6782 31.9809 26.6782 31.3565V7.96523ZM47.6539 14.1252C45.4678 14.1252 43.6887 15.9044 43.6887 18.0904V33.2296C43.6887 34.1704 42.9235 34.9339 41.9843 34.9339C41.0452 34.9339 40.28 34.1687 40.28 33.2296V7.96523C40.28 5.77914 38.5008 4 36.3148 4C34.1287 4 32.3496 5.77914 32.3496 7.96523V40.0348C32.3496 40.9756 31.5843 41.7391 30.6452 41.7391C29.7061 41.7391 28.9409 40.9739 28.9409 40.0348V36.0643C28.9409 35.44 28.4348 34.9339 27.8104 34.9339C27.1861 34.9339 26.68 35.44 26.68 36.0643V40.0348C26.68 42.2209 28.4591 44 30.6452 44C32.8313 44 34.6104 42.2209 34.6104 40.0348V7.96523C34.6104 7.02436 35.3756 6.26087 36.3148 6.26087C37.2539 6.26087 38.0191 7.0261 38.0191 7.96523V33.2296C38.0191 35.4156 39.7982 37.1948 41.9843 37.1948C44.1704 37.1948 45.9496 35.4156 45.9496 33.2296V18.0904C45.9496 17.1496 46.7148 16.3861 47.6539 16.3861C48.593 16.3861 49.3582 17.1513 49.3582 18.0904V31.3565C49.3582 31.9809 49.8643 32.487 50.4887 32.487C51.113 32.487 51.6191 31.9809 51.6191 31.3565V18.0904C51.6191 15.9044 49.84 14.1252 47.6539 14.1252Z" fill="url(#paint0_linear_17_483)"/>
<path d="M68.7671 16.5615H71.2541C71.3254 16.5615 71.3845 16.5859 71.435 16.6363C71.4836 16.6868 71.5097 16.7459 71.5097 16.8172V31.1824C71.5097 31.2537 71.4854 31.3128 71.435 31.3633C71.3845 31.4137 71.3254 31.4381 71.2541 31.4381H68.7671C68.6958 31.4381 68.6367 31.4137 68.5862 31.3633C68.5358 31.3146 68.5115 31.2537 68.5115 31.1824V21.812C68.5115 21.7563 68.4976 21.7268 68.4697 21.7268C68.4419 21.7268 68.4123 21.7476 68.3845 21.7911L66.1323 25.318C66.061 25.4311 65.9619 25.4885 65.8349 25.4885H64.581C64.4541 25.4885 64.3549 25.4328 64.2836 25.318L62.0315 21.7911C62.0036 21.7494 61.9741 21.7302 61.9462 21.7372C61.9184 21.7441 61.9045 21.7772 61.9045 21.8328V31.1824C61.9045 31.2537 61.8802 31.3128 61.8297 31.3633C61.7793 31.4137 61.7202 31.4381 61.6489 31.4381H59.1619C59.0906 31.4381 59.0315 31.4137 58.981 31.3633C58.9306 31.3146 58.9062 31.2537 58.9062 31.1824V16.8172C58.9062 16.7459 58.9306 16.6868 58.981 16.6363C59.0315 16.5859 59.0906 16.5615 59.1619 16.5615H61.6489C61.7758 16.5615 61.8749 16.6189 61.9462 16.732L65.1341 21.6833C65.1758 21.7685 65.2193 21.7685 65.261 21.6833L68.4697 16.732C68.541 16.6189 68.6402 16.5615 68.7671 16.5615Z" fill="currentColor"/>
<path d="M74.1764 31.3633C74.1259 31.3146 74.1016 31.2537 74.1016 31.1824V16.8172C74.1016 16.7459 74.1259 16.6868 74.1764 16.6363C74.2268 16.5859 74.2859 16.5615 74.3572 16.5615H76.8442C76.9155 16.5615 76.9746 16.5859 77.0251 16.6363C77.0737 16.6868 77.0998 16.7459 77.0998 16.8172V31.1824C77.0998 31.2537 77.0755 31.3128 77.0251 31.3633C76.9746 31.4137 76.9155 31.4381 76.8442 31.4381H74.3572C74.2859 31.4381 74.2268 31.4137 74.1764 31.3633Z" fill="currentColor"/>
<path d="M88.3066 16.6361C88.3553 16.5874 88.4162 16.5613 88.4875 16.5613H90.9744C91.0457 16.5613 91.1049 16.5857 91.1553 16.6361C91.204 16.6865 91.2301 16.7457 91.2301 16.817V31.1822C91.2301 31.2535 91.2057 31.3126 91.1553 31.363C91.1049 31.4135 91.0457 31.4378 90.9744 31.4378H88.5727C88.4301 31.4378 88.331 31.3822 88.2753 31.2674L82.771 22.1717C82.7431 22.13 82.7136 22.1109 82.6858 22.1178C82.6579 22.1248 82.644 22.1578 82.644 22.2135L82.6858 31.1805C82.6858 31.2518 82.6614 31.3109 82.611 31.3613C82.5606 31.4117 82.5014 31.4361 82.4301 31.4361H79.9431C79.8718 31.4361 79.8127 31.4117 79.7623 31.3613C79.7118 31.3126 79.6875 31.2518 79.6875 31.1805V16.8152C79.6875 16.7439 79.7118 16.6848 79.7623 16.6344C79.8127 16.5839 79.8718 16.5596 79.9431 16.5596H82.3449C82.4858 16.5596 82.5849 16.617 82.6423 16.73L88.124 25.7822C88.1518 25.8239 88.1797 25.8431 88.2092 25.8361C88.2371 25.8292 88.251 25.7978 88.251 25.7404L88.2301 16.8152C88.2301 16.7439 88.2545 16.6848 88.3049 16.6344L88.3066 16.6361Z" fill="currentColor"/>
<path d="M93.8951 31.3633C93.8446 31.3146 93.8203 31.2537 93.8203 31.1824V16.8172C93.8203 16.7459 93.8446 16.6868 93.8951 16.6363C93.9455 16.5859 94.0047 16.5615 94.076 16.5615H96.5629C96.6342 16.5615 96.6934 16.5859 96.7438 16.6363C96.7925 16.6868 96.8186 16.7459 96.8186 16.8172V31.1824C96.8186 31.2537 96.7942 31.3128 96.7438 31.3633C96.6934 31.4137 96.6342 31.4381 96.5629 31.4381H94.076C94.0047 31.4381 93.9455 31.4137 93.8951 31.3633Z" fill="currentColor"/>
<path d="M109.267 16.5615H111.754C111.825 16.5615 111.885 16.5859 111.935 16.6363C111.984 16.6868 112.01 16.7459 112.01 16.8172V31.1824C112.01 31.2537 111.985 31.3128 111.935 31.3633C111.885 31.4137 111.825 31.4381 111.754 31.4381H109.267C109.196 31.4381 109.137 31.4137 109.086 31.3633C109.036 31.3146 109.011 31.2537 109.011 31.1824V21.812C109.011 21.7563 108.998 21.7268 108.97 21.7268C108.942 21.7268 108.912 21.7476 108.885 21.7911L106.632 25.318C106.561 25.4311 106.462 25.4885 106.335 25.4885H105.081C104.954 25.4885 104.855 25.4328 104.784 25.318L102.531 21.7911C102.504 21.7494 102.474 21.7302 102.446 21.7372C102.418 21.7441 102.405 21.7772 102.405 21.8328V31.1824C102.405 31.2537 102.38 31.3128 102.33 31.3633C102.279 31.4137 102.22 31.4381 102.149 31.4381H99.6619C99.5906 31.4381 99.5315 31.4137 99.481 31.3633C99.4306 31.3146 99.4062 31.2537 99.4062 31.1824V16.8172C99.4062 16.7459 99.4306 16.6868 99.481 16.6363C99.5315 16.5859 99.5906 16.5615 99.6619 16.5615H102.149C102.276 16.5615 102.375 16.6189 102.446 16.732L105.634 21.6833C105.676 21.7685 105.719 21.7685 105.761 21.6833L108.97 16.732C109.041 16.6189 109.14 16.5615 109.267 16.5615Z" fill="currentColor"/>
<path d="M123.782 31.2241L123.144 29.1424C123.116 29.0867 123.079 29.0572 123.038 29.0572H117.81C117.768 29.0572 117.732 29.085 117.704 29.1424L117.088 31.2241C117.046 31.3668 116.954 31.4363 116.812 31.4363H114.112C114.027 31.4363 113.963 31.412 113.921 31.3615C113.879 31.3128 113.871 31.2381 113.9 31.1389L118.49 16.7737C118.532 16.6328 118.624 16.5615 118.766 16.5615H122.102C122.243 16.5615 122.335 16.6328 122.379 16.7737L126.968 31.1389C126.982 31.1668 126.989 31.2033 126.989 31.245C126.989 31.372 126.911 31.4363 126.756 31.4363H124.057C123.916 31.4363 123.824 31.365 123.78 31.2241H123.782ZM118.554 26.7407H122.295C122.38 26.7407 122.408 26.6989 122.38 26.6137L120.467 20.3024C120.453 20.2467 120.432 20.2207 120.403 20.2276C120.375 20.2346 120.352 20.2589 120.339 20.3024L118.469 26.6137C118.455 26.6989 118.483 26.7407 118.554 26.7407Z" fill="currentColor"/>
<path d="M128.222 31.353C128.18 31.2974 128.187 31.2261 128.243 31.1409L132.365 24.0643C132.393 24.0226 132.393 23.9791 132.365 23.9374L128.243 16.8609L128.201 16.7339C128.201 16.6209 128.28 16.5635 128.434 16.5635H131.133C131.274 16.5635 131.38 16.6209 131.452 16.7339L134.213 21.6C134.255 21.6852 134.299 21.6852 134.34 21.6L137.102 16.7339C137.173 16.6209 137.28 16.5635 137.42 16.5635H140.099C140.198 16.5635 140.269 16.5913 140.311 16.6487C140.353 16.7061 140.346 16.7756 140.29 16.8609L136.168 23.9374C136.154 23.9791 136.154 24.0226 136.168 24.0643L140.29 31.1409L140.332 31.2678C140.332 31.3809 140.253 31.4383 140.099 31.4383H137.42C137.278 31.4383 137.172 31.3826 137.102 31.2678L134.34 26.4226C134.299 26.3374 134.255 26.3374 134.213 26.4226L131.429 31.2678C131.358 31.3809 131.252 31.4383 131.111 31.4383H128.433C128.333 31.4383 128.262 31.4104 128.22 31.353H128.222Z" fill="currentColor"/>
<defs>
<linearGradient id="paint0_linear_17_483" x1="3.99826" y1="24" x2="51.6208" y2="24" gradientUnits="userSpaceOnUse">
<stop stop-color="#E21680"/>
<stop offset="1" stop-color="#FF633A"/>
</linearGradient>
</defs>
</svg>
</div>
<hr>
<div align="center" style="line-height: 1.4; font-size:16px; margin-top: 30px;">
Join Our
<a href="https://platform.minimaxi.com/docs/faq/contact-us" target="_blank" style="font-size:17px; margin: 2px;">
💬 WeChat
</a> |
<a href="https://discord.com/invite/hvvt8hAye6" target="_blank" style="font-size:17px; margin: 2px;">
🧩 Discord
</a>
community.
</div>
<div align="center" style="line-height: 1.2; font-size:16px;">
<a href="https://agent.minimax.io/" target="_blank" style="display: inline-block; margin: 4px;">
MiniMax Agent
</a> |
<a href="https://platform.minimax.io/docs/guides/text-generation" target="_blank" style="display: inline-block; margin: 4px;">
⚡️ API
</a> |
<a href="https://github.com/MiniMax-AI/MiniMax-MCP" style="display: inline-block; margin: 4px;">
MCP
</a> |
<a href="https://www.minimax.io" target="_blank" style="display: inline-block; margin: 4px;">
MiniMax Website
</a>
</div>
<div align="center" style="line-height: 1.2; font-size:16px; margin-bottom: 30px;">
<a href="https://huggingface.co/MiniMaxAI" target="_blank" style="margin: 2px;">
🤗 Hugging Face
</a> |
<a href="https://github.com/MiniMax-AI/MiniMax-M2.1" target="_blank" style="margin: 2px;">
🐙 GitHub
</a> |
<a href="https://www.modelscope.cn/organization/MiniMax" target="_blank" style="margin: 2px;">
🤖️ ModelScope
</a> |
<a href="https://github.com/MiniMax-AI/MiniMax-M2.1/blob/main/LICENSE" style="margin: 2px;">
📄 License: Modified-MIT
</a>
</div>
<p align="center">
<img width="100%" src="figures/bench_11.png">
</p>
Today we're introducing our latest model, **MiniMax-M2.5**.
Extensively trained with reinforcement learning in hundreds of thousands of complex real-world environments, M2.5 is **SOTA in coding, agentic tool use and search, office work, and a range of other economically valuable tasks**, boasting scores of **80.2% in SWE-Bench Verified, 51.3% in Multi-SWE-Bench, and 76.3% in BrowseComp** (with context management).
Trained to reason efficiently and decompose tasks optimally, M2.5 exhibits tremendous speed in performing complicated agentic tasks, completing the SWE-Bench Verified evaluation **37% faster** than M2.1, matching the speed of **Claude Opus 4.6**.
M2.5 is the first frontier model where users do not need to worry about cost, delivering on the promise of intelligence too cheap to meter. **It costs just $1 to run the model continuously for an hour at a rate of 100 tokens per second.** At 50 tokens per second, the cost drops to $0.30. We hope that the speed and cost effectiveness of M2.5 enable innovative new agentic applications.
## Coding
In programming evaluations, MiniMax-M2.5 saw substantial improvements compared to previous generations, reaching SOTA levels. The performance of M2.5 in multilingual tasks is especially pronounced.
<p align="center">
<img width="100%" src="figures/bench_2.png">
</p>
A significant improvement from previous generations is M2.5's ability to think and plan like an architect. The Spec-writing tendency of the model emerged during training: before writing any code, M2.5 actively decomposes and plans the features, structure, and UI design of the project from the perspective of an experienced software architect.
M2.5 was trained on over 10 languages (including Go, C, C++, TypeScript, Rust, Kotlin, Python, Java, JavaScript, PHP, Lua, Dart, and Ruby) across more than 200,000 real-world environments. Going far beyond bug-fixing, M2.5 delivers reliable performance across the entire development lifecycle of complex systems: from 0-to-1 system design and environment setup, to 1-to-10 system development, to 10-to-90 feature iteration, and finally 90-to-100 comprehensive code review and system testing. It covers full-stack projects spanning multiple platforms including Web, Android, iOS, and Windows, encompassing server-side APIs, business logic, databases, and more, not just frontend webpage demos.
To evaluate these capabilities, we also upgraded the VIBE benchmark to a more complex and challenging Pro version, significantly increasing task complexity, domain coverage, and evaluation accuracy. Overall, M2.5 performs on par with Opus 4.5.
<p align="center">
<img width="100%" src="figures/bench_4.png">
</p>
We focused on the model's ability to generalize across out-of-distribution harnesses. We tested performance on the SWE-Bench Verified evaluation set using different coding agent harnesses.
- On Droid: 79.7(M2.5) > 78.9(Opus 4.6)
- On OpenCode: 76.1(M2.5) > 75.9(Opus 4.6)
## Search and Tool calling
<p align="center">
<img width="100%" src="figures/bench_6.png">
</p>
Effective tool calling and search are prerequisites for a model's ability to autonomously handle more complex tasks. In evaluations on benchmarks such as BrowseComp and Wide Search, M2.5 achieved industry-leading performance. At the same time, the model's generalization has also improved — M2.5 demonstrates more stable performance when facing unfamiliar scaffolding environments.
In research tasks performed by professional human experts, using a search engine is only a small part of the process; most of the work involves deep exploration across information-dense webpages. To address this, we built RISE (Realistic Interactive Search Evaluation) to measure a model's search capabilities on real-world professional tasks. The results show that M2.5 excels at expert-level search tasks in real-world settings.
Compared to its predecessors, M2.5 also demonstrates much better decision-making when handling agentic tasks: it has learned to solve problems with more precise search rounds and better token efficiency. For example, across multiple agentic tasks including BrowseComp, Wide Search, and RISE, M2.5 achieved better results with fewer rounds, using approximately 20% fewer rounds compared to M2.1. This indicates that the model is no longer just getting the answer right, but is also reasoning towards results in more efficient paths.
## Office work
M2.5 was trained to produce truly deliverable outputs in office scenarios. To this end, we engaged in thorough collaboration with senior professionals in fields such as finance, law, and social sciences. They designed requirements, provided feedback, participated in defining standards, and directly contributed to data construction, bringing the tacit knowledge of their industries into the model's training pipeline. Based on this foundation, M2.5 has achieved significant capability improvements in high-value workspace scenarios such as Word, PowerPoint, and Excel financial modeling. On the evaluation side, we built an internal Cowork Agent evaluation framework (GDPval-MM) that assesses both the quality of the deliverable and the professionalism of the agent's trajectory through pairwise comparisons, while also monitoring token costs across the entire workflow to estimate the model's real-world productivity gains. In comparisons against other mainstream models, it achieved an average win rate of 59.0%.
<p align="center">
<img width="100%" src="figures/bench_8.png">
</p>
## Efficiency
Because the real world is full of deadlines and time constraints, task completion speed is a practical necessity. The time it takes a model to complete a task depends on its task decomposition effectiveness, token efficiency, and inference speed. M2.5 is served natively at a rate of 100 tokens per second, which is nearly twice that of other frontier models. Further, our reinforcement learning setup incentivizes the model to reason efficiently and break down tasks optimally. Due to these three factors, M2.5 delivers a significant time savings in complex task completion.
For example, when running SWE-Bench Verified, M2.5 consumed an average of 3.52 million tokens per task. In comparison, M2.1 consumed 3.72M tokens. Meanwhile, thanks to improvements in capabilities such as parallel tool calling, the end-to-end runtime decreased from an average of 31.3 minutes to 22.8 minutes, representing a 37% speed improvement. This runtime is on par with Claude Opus 4.6's 22.9 minutes, while the total cost per task is only 10% that of Claude Opus 4.6.
## Cost
Our goal in designing the M2-series of foundation models is to power complex agents without having to worry about cost. We believe that M2.5 is close to realizing this goal. We’re releasing two versions of the model, M2.5 and M2.5-Lightning, that are identical in capability but differ in speed. M2.5-Lightning has a steady throughput of 100 tokens per second, which is two times faster than other frontier models, and costs $0.3 per million input tokens and $2.4 per million output tokens. M2.5, which has a throughput of 50 tokens per second, costs half that. Both model versions support caching. Based on output price, the cost of M2.5 is one-tenth to one-twentieth that of Opus, Gemini 3 Pro, and GPT-5.
At a rate of 100 output tokens per second, running M2.5 continuously for an hour costs $1. At a rate of 50 TPS, the price drops to $0.3. To put that into perspective, you can have four M2.5 instances running continuously for an entire year for $10,000. We believe that M2.5 provides virtually limitless possibilities for the development and operation of agents in the economy. For the M2-series, the only problem that remains is how to continually push the frontier of model capability.
## Improvement Rate
Over the three and a half months from late October to now, we have successively released M2, M2.1, and M2.5, with the pace of model improvement exceeding our original expectations. For instance, in the highly-regarded SWE-Bench Verified benchmark, the rate of progress of the M2-series has been significantly faster than that of peers such as the Claude, GPT, and Gemini model families.
<p align="center">
<img width="100%" src="figures/bench_10.png">
</p>
## RL Scaling
One of the key drivers of the aforementioned developments is the scaling of reinforcement learning. As we train our models, we also benefit from their abilities. Most of the tasks and workspaces that we perform in our company have been made into training environments for RL. To date, there are already hundreds of thousands of such environments. At the same time, we did plenty of work on our agentic RL framework, algorithms, reward signals, and infrastructure engineering to support the continued scaling of our RL training.
### Forge –– Agent-Native RL Framework
We designed an agent-native RL framework in-house, called Forge, which introduces an intermediary layer that fully decouples the underlying training-inference engine from the agent, supporting the integration of arbitrary agents and enabling us to optimize the model's generalization across agent scaffolds and tools. To improve system throughput, we optimized asynchronous scheduling strategies to balance system throughput against sample off-policyness, and designed a tree-structured merging strategy for training samples, achieving approximately 40x training speedup.
<p align="center">
<img width="60%" src="figures/rl_1.png">
</p>
### Agentic RL Algorithm and Reward Design
On the algorithm side, we continued using the CISPO algorithm we proposed at the beginning of last year to ensure the stability of MoE models during large-scale training. To address the credit assignment challenge posed by long contexts in agent rollouts, we introduced a process reward mechanism for end-to-end monitoring of generation quality. Furthermore, to deeply align with user experience, we evaluated task completion time through agent trajectories, achieving an optimal trade-off between model intelligence and response speed.
<p align="center">
<img width="60%" src="figures/rl_2.png">
</p>
We will release a more comprehensive introduction to RL scaling soon in a separate technical blogpost.
## MiniMax Agent: M2.5 as a Professional Employee
M2.5 has been fully deployed in MiniMax Agent, delivering the best agentic experience.
We have distilled core information-processing capabilities into standardized Office Skills deeply integrated within MiniMax Agent. In MAX mode, when handling tasks such as Word formatting, PowerPoint editing, and Excel calculations, MiniMax Agent automatically loads the corresponding Office Skills based on file type, improving the quality of task outputs.
Furthermore, users can combine Office Skills with domain-specific industry expertise to create reusable Experts tailored to specific task scenarios.
Take industry research as an example: by merging a mature research framework SOP (standard operating procedure) with Word Skills, the Agent can strictly follow the established framework to automatically fetch data, organize analytical logic, and output properly formatted research reports — rather than merely generating a raw block of text. In financial modeling scenarios, by combining an organization's proprietary modeling standards with Excel Skills, the Agent can follow specific risk control logic and calculation standards to automatically generate and validate complex financial models, rather than simply outputting a basic spreadsheet.
To date, users have built over 10,000 Experts on MiniMax Agent, and this number is still growing rapidly. MiniMax has also built multiple sets of deeply optimized, ready-to-use Expert suites on MiniMax Agent for high-frequency scenarios such as office work, finance, and programming.
MiniMax itself has been among the first to benefit from M2.5's capabilities. Throughout the company's daily operations, 30% of overall tasks are autonomously completed by M2.5, spanning functions including R&D, product, sales, HR, and finance — and the penetration rate continues to rise. Performance in coding scenarios has been particularly notable, with M2.5-generated code accounting for 80% of newly committed code.
## How to Use
MiniMax Agent: https://agent.minimax.io/
MiniMax API Platform: https://platform.minimax.io/
MiniMax Coding Plan: https://platform.minimax.io/subscribe/coding-plan
## Local Deployment Guide
Download the model from HuggingFace repository: https://huggingface.co/MiniMaxAI/MiniMax-M2.5
We recommend using the following inference frameworks (listed alphabetically) to serve the model:
### SGLang
We recommend using [SGLang](https://docs.sglang.io/) to serve MiniMax-M2.5. Please refer to our [SGLang Deployment Guide](./docs/sglang_deploy_guide.md).
### vLLM
We recommend using [vLLM](https://github.com/vllm-project/vllm) to serve MiniMax-M2.5. Please refer to our [vLLM Deployment Guide](./docs/vllm_deploy_guide.md).
### Transformers
We recommend using [Transformers](https://github.com/huggingface/transformers) to serve MiniMax-M2.5. Please refer to our [Transformers Deployment Guide](./docs/transformers_deploy_guide.md).
### Inference Parameters
We recommend using the following parameters for best performance: `temperature=1.0`, `top_p = 0.95`, `top_k = 40`. Default system prompt:
```
```python
#SDK模型下载
from modelscope import snapshot_download
model_dir = snapshot_download('MiniMax/MiniMax-M2.5')
```
Git下载
```
#Git模型下载
git clone https://www.modelscope.cn/MiniMax/MiniMax-M2.5.git
You are a helpful assistant. Your name is MiniMax-M2.5 and is built by MiniMax.
```
<p style="color: lightgrey;">如果您是本模型的贡献者,我们邀请您根据<a href="https://modelscope.cn/docs/ModelScope%E6%A8%A1%E5%9E%8B%E6%8E%A5%E5%85%A5%E6%B5%81%E7%A8%8B%E6%A6%82%E8%A7%88" style="color: lightgrey; text-decoration: underline;">模型贡献文档</a>,及时完善模型卡片内容。</p>
## Tool Calling Guide
Please refer to our [Tool Calling Guide](./docs/tool_calling_guide.md).
## Contact Us
Contact us at [model@minimax.io](mailto:model@minimax.io).
## Appendix
Further benchmark results of M2.5:
| Benchmark | MiniMax-M2.5 | MiniMax-M2.1 | Claude Sonnet 4.5 | Claude Opus 4.5 | Claude Opus 4.6 | Gemini 3 Pro | GPT-5.2 (thinking) |
|---|---|---|---|---|---|---|---|
| AIME25 | 86.3 | 83.0 | 88.0 | 91.0 | 95.6 | 96.0 | 98.0 |
| GPQA-D | 85.2 | 83.0 | 83.0 | 87.0 | 90.0 | 91.0 | 90.0 |
| HLE w/o tools | 19.4 | 22.2 | 17.3 | 28.4 | 30.7 | 37.2 | 31.4 |
| SciCode | 44.4 | 41.0 | 45.0 | 50.0 | 52.0 | 56.0 | 52.0 |
| IFBench | 70.0 | 70.0 | 57.0 | 58.0 | 53.0 | 70.0 | 75.0 |
| AA-LCR | 69.5 | 62.0 | 66.0 | 74.0 | 71.0 | 71.0 | 73.0 |
Evaluation methods:
> - SWE benchmark: SWE-bench Verified, SWE-bench Multilingual, SWE-bench-pro, and Multi-SWE-bench were tested on internal infrastructure using Claude Code as the scaffolding, with the default system prompt overridden, and results averaged over 4 runs. Additionally, SWE-bench Verified was also evaluated on the Droid and Opencode scaffoldings using the default prompt.
> - Terminal Bench 2: We tested Terminal Bench 2 using Claude Code 2.0.64 as the evaluation scaffolding. We modified the Dockerfiles of some problems to ensure the correctness of the problems themselves, uniformly expanded sandbox specifications to 8-core CPU and 16 GB memory, set the timeout uniformly to 7,200 seconds, and equipped each problem with a basic toolset (ps, curl, git, etc.). While not retrying on timeouts, we added a detection mechanism for empty scaffolding responses, retrying tasks whose final response was empty to handle various abnormal interruption scenarios. Final results are averaged over 4 runs.
> - VIBE-Pro: Internal benchmark. Uses Claude Code as the scaffolding to automatically verify the interaction logic and visual effects of programs. All scores are computed through a unified pipeline that includes a requirements set, containerized deployment, and a dynamic interaction environment. Final results are averaged over 3 runs.
> - BrowseComp: Uses the same agent framework as WebExplorer (Liu et al., 2025). When token usage exceeds 30% of the maximum context, all history is discarded.
> - Wide Search: Uses the same agent framework as WebExplorer (Liu et al., 2025).
> - RISE: Internal benchmark. Contains real questions from human experts, evaluating the model's multi-step information retrieval and reasoning capabilities when combined with complex web interactions. A Playwright-based browser tool suite is added on top of the WebExplorer (Liu et al., 2025) agent framework.
> - GDPval-MM: Internal benchmark. Based on the open-source GDPval test set, using a custom agentic evaluation framework where an LLM-as-a-judge performs pairwise win/tie/loss judgments on complete trajectories. Average token cost per task is calculated based on each vendor's official API pricing (without caching).
> - MEWC: Internal benchmark. Built on MEWC (Microsoft Excel World Championship), comprising 179 problems from the main and other regional divisions of Excel esports competitions from 2021–2026. It evaluates the model's ability to understand competition Excel spreadsheets and use Excel tools to complete problems. Scores are calculated by comparing output and answer cell values one by one.
> - Finance Modeling: Internal benchmark. Primarily contains financial modeling problems constructed by industry experts, involving end-to-end research and analysis tasks performed via Excel tools. Each problem is scored using expert-designed rubrics. Final results are averaged over 3 runs.
> - AIME25 ~ AA-LCR: Obtained through internal testing based on the public evaluation sets and evaluation methods covered by the Artificial Analysis Intelligence Index leaderboard.

159
chat_template.jinja Normal file
View File

@@ -0,0 +1,159 @@
{# ----------‑‑‑ special token variables ‑‑‑---------- #}
{%- set toolcall_begin_token = '<minimax:tool_call>' -%}
{%- set toolcall_end_token = '</minimax:tool_call>' -%}
{#- Tool Rendering Functions ============================================== -#}
{%- macro render_tool_namespace(namespace_name, tool_list) -%}
{%- for tool in tool_list -%}
<tool>{{ tool.function | tojson(ensure_ascii=False) }}</tool>
{% endfor -%}
{%- endmacro -%}
{%- macro visible_text(content) -%}
{%- if content is string -%}
{{ content }}
{%- elif content is iterable and content is not mapping -%}
{%- for item in content -%}
{%- if item is mapping and item.type == 'text' -%}
{{- item.text }}
{%- elif item is string -%}
{{- item }}
{%- endif -%}
{%- endfor -%}
{%- else -%}
{{- content }}
{%- endif -%}
{%- endmacro -%}
{#- System Message Construction ============================================ -#}
{%- macro build_system_message(system_message) -%}
{%- if system_message and system_message.content -%}
{{- visible_text(system_message.content) }}
{%- else -%}
{%- if model_identity is not defined -%}
{%- set model_identity = "You are a helpful assistant. Your name is MiniMax-M2.5 and is built by MiniMax." -%}
{%- endif -%}
{{- model_identity }}
{%- endif -%}
{#- Handle current_date -#}
{%- if system_message and system_message.current_date -%}
{{- '\n' ~ 'Current date: ' + system_message.current_date }}
{%- endif -%}
{#- Handle current_location -#}
{%- if system_message and system_message.current_location -%}
{{- '\n' ~ 'Current location: ' + system_message.current_location }}
{%- endif -%}
{%- endmacro -%}
{#- Main Template Logic ================================================= -#}
{#- Extract system message (only first message if it's system) -#}
{%- set system_message = none -%}
{%- set conversation_messages = messages -%}
{%- if messages and messages[0].role == "system" -%}
{%- set system_message = messages[0] -%}
{%- set conversation_messages = messages[1:] -%}
{%- endif -%}
{#- Get the last user message turn, for interleved thinking -#}
{%- set ns = namespace(last_user_index=-1) %}
{% for m in conversation_messages %}
{%- if m.role == 'user' %}
{% set ns.last_user_index = loop.index0 -%}
{%- endif %}
{%- endfor %}
{#- Render system message -#}
{{- ']~!b[' ~ ']~b]system' ~ '\n' }}
{{- build_system_message(system_message) }}
{#- Render tools if available -#}
{%- if tools -%}
{{- '\n\n' ~ '# Tools' ~ '\n' ~ 'You may call one or more tools to assist with the user query.\nHere are the tools available in JSONSchema format:' ~ '\n' }}
{{- '\n' ~ '<tools>' ~ '\n' }}
{{- render_tool_namespace("functions", tools) }}
{{- '</tools>' ~ '\n\n' }}
{{- 'When making tool calls, use XML format to invoke tools and pass parameters:' ~ '\n' }}
{{- '\n' ~ toolcall_begin_token }}
<invoke name="tool-name-1">
<parameter name="param-key-1">param-value-1</parameter>
<parameter name="param-key-2">param-value-2</parameter>
...
</invoke>
{{- '\n' ~ toolcall_end_token }}
{%- endif -%}
{{- '[e~[\n' }}
{#- Render messages -#}
{%- set last_tool_call = namespace(name=none) -%}
{%- for message in conversation_messages -%}
{%- if message.role == 'assistant' -%}
{#- Only render reasoning_content if no user message follows -#}
{{- ']~b]ai' ~ '\n' }}
{%- set reasoning_content = '' %}
{%- set content = visible_text(message.content) %}
{%- if message.reasoning_content is string %}
{%- set reasoning_content = message.reasoning_content %}
{%- else %}
{%- if '</think>' in content %}
{%- set reasoning_content = content.split('</think>')[0].strip('\n').split('<think>')[-1].strip('\n') %}
{%- set content = content.split('</think>')[-1].strip('\n') %}
{%- endif %}
{%- endif %}
{%- if reasoning_content and loop.index0 > ns.last_user_index -%}
{{- '<think>' ~ '\n' ~ reasoning_content ~ '\n' ~ '</think>' ~ '\n\n' }}
{%- endif -%}
{%- if content -%}
{{- content }}
{%- endif -%}
{%- if message.tool_calls -%}
{{- '\n' ~ toolcall_begin_token ~ '\n' }}
{%- for tool_call in message.tool_calls -%}
{%- if tool_call.function %}
{%- set tool_call = tool_call.function %}
{%- endif %}
{{- '<invoke name="' + tool_call.name + '">' }}
{% set _args = tool_call.arguments %}
{%- for k, v in _args.items() %}
{{- '<parameter name="' + k + '">' }}
{{- v | tojson(ensure_ascii=False) if v is not string else v }}
{{- '</parameter>' }}
{% endfor %}
{{- '</invoke>' ~ '\n' }}
{%- endfor -%}
{{- toolcall_end_token}}
{%- set last_tool_call.name = message.tool_calls[-1].name -%}
{%- else -%}
{%- set last_tool_call.name = none -%}
{%- endif -%}
{{- '[e~[' ~ '\n' }}
{%- elif message.role == 'tool' -%}
{%- if last_tool_call.name is none -%}
{{- raise_exception("Message has tool role, but there was no previous assistant message with a tool call!") }}
{%- endif -%}
{%- if loop.first or (conversation_messages[loop.index0 - 1].role != 'tool') -%}
{{- ']~b]tool' }}
{%- endif -%}
{%- if message.content is string -%}
{{- '\n<response>' }}
{{- message.content }}
{{- '</response>' }}
{%- else -%}
{%- for tr in message.content -%}
{{- '\n<response>' }}
{{- tr.output if tr.output is defined else (tr.text if tr.type == 'text' and tr.text is defined else tr) }}
{{- '\n</response>' }}
{%- endfor -%}
{%- endif -%}
{%- if loop.last or (conversation_messages[loop.index0 + 1].role != 'tool') -%}
{{- '[e~[\n' -}}
{%- endif -%}
{%- elif message.role == 'user' -%}
{{- ']~b]user' ~ '\n' }}
{{- visible_text(message.content) }}
{{- '[e~[' ~ '\n' }}
{%- endif -%}
{%- endfor -%}
{#- Generation prompt -#}
{%- if add_generation_prompt -%}
{{- ']~b]ai' ~ '\n' ~ '<think>' ~ '\n' }}
{%- endif -%}

113
config.json Normal file
View File

@@ -0,0 +1,113 @@
{
"architectures": [
"MiniMaxM2ForCausalLM"
],
"attn_type_list": [
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1,
1
],
"auto_map": {
"AutoConfig": "configuration_minimax_m2.MiniMaxM2Config",
"AutoModelForCausalLM": "modeling_minimax_m2.MiniMaxM2ForCausalLM"
},
"head_dim": 128,
"hidden_act": "silu",
"hidden_size": 3072,
"intermediate_size": 1536,
"max_position_embeddings": 196608,
"model_type": "minimax_m2",
"mtp_transformer_layers": 1,
"num_attention_heads": 48,
"num_experts_per_tok": 8,
"num_hidden_layers": 62,
"num_key_value_heads": 8,
"num_local_experts": 256,
"num_mtp_modules": 3,
"qk_norm_type": "per_layer",
"quantization_config": {
"activation_scheme": "dynamic",
"fmt": "float8_e4m3fn",
"quant_method": "fp8",
"weight_block_size": [
128,
128
],
"modules_to_not_convert": [
"gate",
"e_score_correction_bias",
"lm_head"
]
},
"rms_norm_eps": 1e-06,
"rope_theta": 5000000,
"rotary_dim": 64,
"scoring_func": "sigmoid",
"shared_intermediate_size": 0,
"tie_word_embeddings": false,
"transformers_version": "4.46.1",
"use_cache": true,
"use_mtp": true,
"use_qk_norm": true,
"use_routing_bias": true,
"vocab_size": 200064
}

200
configuration_minimax_m2.py Normal file
View File

@@ -0,0 +1,200 @@
# 🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨
# This file was automatically generated from src/transformers/models/minimax_m2/modular_minimax_m2.py.
# Do NOT edit this file manually as any edits will be overwritten by the generation of
# the file from the modular. If any change should be done, please apply the change to the
# modular_minimax_m2.py file directly. One of our CI enforces this.
# 🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨🚨
# coding=utf-8
# Copyright 2025 the HuggingFace Team. All rights reserved.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
from transformers.configuration_utils import PretrainedConfig
class MiniMaxM2Config(PretrainedConfig):
r"""
This is the configuration class to store the configuration of a [`MiniMaxM2Model`]. It is used to instantiate an
MiniMaxM2 model according to the specified arguments, defining the model architecture. Instantiating a configuration
with the defaults will yield a similar configuration to that of the MiniMaxM2-7B-v0.1 or MiniMaxM2-7B-Instruct-v0.1.
[minimax_m2ai/MiniMaxM2-8x7B](https://huggingface.co/minimax_m2ai/MiniMaxM2-8x7B)
[minimax_m2ai/MiniMaxM2-7B-Instruct-v0.1](https://huggingface.co/minimax_m2ai/MiniMaxM2-7B-Instruct-v0.1)
Configuration objects inherit from [`PretrainedConfig`] and can be used to control the model outputs. Read the
documentation from [`PretrainedConfig`] for more information.
Args:
vocab_size (`int`, *optional*, defaults to 32000):
Vocabulary size of the MiniMaxM2 model. Defines the number of different tokens that can be represented by the
`inputs_ids` passed when calling [`MiniMaxM2Model`]
hidden_size (`int`, *optional*, defaults to 4096):
Dimension of the hidden representations.
intermediate_size (`int`, *optional*, defaults to 14336):
Dimension of the MLP representations.
num_hidden_layers (`int`, *optional*, defaults to 32):
Number of hidden layers in the Transformer encoder.
num_attention_heads (`int`, *optional*, defaults to 32):
Number of attention heads for each attention layer in the Transformer encoder.
num_key_value_heads (`int`, *optional*, defaults to 8):
This is the number of key_value heads that should be used to implement Grouped Query Attention. If
`num_key_value_heads=num_attention_heads`, the model will use Multi Head Attention (MHA), if
`num_key_value_heads=1` the model will use Multi Query Attention (MQA) otherwise GQA is used. When
converting a multi-head checkpoint to a GQA checkpoint, each group key and value head should be constructed
by meanpooling all the original heads within that group. For more details, check out [this
paper](https://huggingface.co/papers/2305.13245). If it is not specified, will default to `8`.
head_dim (`int`, *optional*, defaults to `hidden_size // num_attention_heads`):
The attention head dimension.
hidden_act (`str` or `function`, *optional*, defaults to `"silu"`):
The non-linear activation function (function or string) in the decoder.
max_position_embeddings (`int`, *optional*, defaults to `4096*32`):
The maximum sequence length that this model might ever be used with. MiniMaxM2's sliding window attention
allows sequence of up to 4096*32 tokens.
initializer_range (`float`, *optional*, defaults to 0.02):
The standard deviation of the truncated_normal_initializer for initializing all weight matrices.
rms_norm_eps (`float`, *optional*, defaults to 1e-05):
The epsilon used by the rms normalization layers.
use_cache (`bool`, *optional*, defaults to `True`):
Whether or not the model should return the last key/values attentions (not used by all models). Only
relevant if `config.is_decoder=True`.
pad_token_id (`int`, *optional*):
The id of the padding token.
bos_token_id (`int`, *optional*, defaults to 1):
The id of the "beginning-of-sequence" token.
eos_token_id (`int`, *optional*, defaults to 2):
The id of the "end-of-sequence" token.
tie_word_embeddings (`bool`, *optional*, defaults to `False`):
Whether the model's input and output word embeddings should be tied.
rope_theta (`float`, *optional*, defaults to 1000000.0):
The base period of the RoPE embeddings.
sliding_window (`int`, *optional*):
Sliding window attention window size. If not specified, will default to `4096`.
attention_dropout (`float`, *optional*, defaults to 0.0):
The dropout ratio for the attention probabilities.
num_experts_per_tok (`int`, *optional*, defaults to 2):
The number of experts to route per-token, can be also interpreted as the `top-k` routing
parameter
num_local_experts (`int`, *optional*, defaults to 8):
Number of experts per Sparse MLP layer.
output_router_logits (`bool`, *optional*, defaults to `False`):
Whether or not the router logits should be returned by the model. Enabling this will also
allow the model to output the auxiliary loss. See [here]() for more details
router_aux_loss_coef (`float`, *optional*, defaults to 0.001):
The aux loss factor for the total loss.
router_jitter_noise (`float`, *optional*, defaults to 0.0):
Amount of noise to add to the router.
```python
>>> from transformers import MiniMaxM2Model, MiniMaxM2Config
>>> # Initializing a MiniMaxM2 7B style configuration
>>> configuration = MiniMaxM2Config()
>>> # Initializing a model from the MiniMaxM2 7B style configuration
>>> model = MiniMaxM2Model(configuration)
>>> # Accessing the model configuration
>>> configuration = model.config
```"""
model_type = "minimax_m2"
keys_to_ignore_at_inference = ["past_key_values"]
base_model_tp_plan = {
"layers.*.self_attn.q_proj": "colwise",
"layers.*.self_attn.k_proj": "colwise",
"layers.*.self_attn.v_proj": "colwise",
"layers.*.self_attn.o_proj": "rowwise",
"layers.*.block_sparse_moe.gate": "colwise_rep", # we need to replicate here to correctly route experts
"layers.*.block_sparse_moe.experts.*.w1": "colwise",
"layers.*.block_sparse_moe.experts.*.w2": "rowwise",
"layers.*.block_sparse_moe.experts.*.w3": "colwise",
}
base_model_pp_plan = {
"embed_tokens": (["input_ids"], ["inputs_embeds"]),
"layers": (["hidden_states", "attention_mask"], ["hidden_states"]),
"norm": (["hidden_states"], ["hidden_states"]),
}
def __init__(
self,
vocab_size=32000,
hidden_size=4096,
intermediate_size=14336,
num_hidden_layers=32,
num_attention_heads=32,
num_key_value_heads=8,
head_dim=None,
hidden_act="silu",
max_position_embeddings=4096 * 32,
initializer_range=0.02,
rms_norm_eps=1e-5,
use_cache=True,
pad_token_id=None,
bos_token_id=1,
eos_token_id=2,
tie_word_embeddings=False,
rope_theta=1e6,
sliding_window=None,
attention_dropout=0.0,
num_experts_per_tok=2,
num_local_experts=8,
output_router_logits=False,
router_aux_loss_coef=0.001,
router_jitter_noise=0.0,
**kwargs,
):
self.vocab_size = vocab_size
self.max_position_embeddings = max_position_embeddings
self.hidden_size = hidden_size
self.intermediate_size = intermediate_size
self.num_hidden_layers = num_hidden_layers
self.num_attention_heads = num_attention_heads
self.sliding_window = sliding_window
# for backward compatibility
if num_key_value_heads is None:
num_key_value_heads = num_attention_heads
self.num_key_value_heads = num_key_value_heads
self.hidden_act = hidden_act
self.initializer_range = initializer_range
self.rms_norm_eps = rms_norm_eps
self.use_cache = use_cache
self.rope_theta = rope_theta
self.attention_dropout = attention_dropout
self.head_dim = head_dim
self.num_experts_per_tok = num_experts_per_tok
self.num_local_experts = num_local_experts
self.output_router_logits = output_router_logits
self.router_aux_loss_coef = router_aux_loss_coef
self.router_jitter_noise = router_jitter_noise
self.use_qk_norm = kwargs.pop("use_qk_norm", False)
self.rotary_dim = kwargs.pop("rotary_dim", self.head_dim)
self.partial_rotary_factor = kwargs.pop("partial_rotary_factor", 1)
if self.head_dim is not None:
self.partial_rotary_factor = self.rotary_dim / self.head_dim
super().__init__(
pad_token_id=pad_token_id,
bos_token_id=bos_token_id,
eos_token_id=eos_token_id,
tie_word_embeddings=tie_word_embeddings,
**kwargs,
)
__all__ = ["MiniMaxM2Config"]

111
docs/sglang_deploy_guide.md Normal file
View File

@@ -0,0 +1,111 @@
# MiniMax M2.5 Model SGLang Deployment Guide
[English Version](./sglang_deploy_guide.md) | [Chinese Version](./sglang_deploy_guide_cn.md)
We recommend using [SGLang](https://github.com/sgl-project/sglang) to deploy the [MiniMax-M2.5](https://huggingface.co/MiniMaxAI/MiniMax-M2.5) model. SGLang is a high-performance inference engine with excellent serving throughput, efficient and intelligent memory management, powerful batch request processing capabilities, and deeply optimized underlying performance. We recommend reviewing SGLang's official documentation to check hardware compatibility before deployment.
## Applicable Models
This document applies to the following models. You only need to change the model name during deployment.
- [MiniMaxAI/MiniMax-M2.5](https://huggingface.co/MiniMaxAI/MiniMax-M2.5)
- [MiniMaxAI/MiniMax-M2.1](https://huggingface.co/MiniMaxAI/MiniMax-M2.1)
- [MiniMaxAI/MiniMax-M2](https://huggingface.co/MiniMaxAI/MiniMax-M2)
The deployment process is illustrated below using MiniMax-M2.5 as an example.
## System Requirements
- OS: Linux
- Python: 3.9 - 3.12
- GPU:
- compute capability 7.0 or higher
- Memory requirements: 220 GB for weights, 240 GB per 1M context tokens
The following are recommended configurations; actual requirements should be adjusted based on your use case:
- **96G x4** GPU: Supports a total KV Cache capacity of 400K tokens.
- **144G x8** GPU: Supports a total KV Cache capacity of up to 3M tokens.
> **Note**: The values above represent the total aggregate hardware KV Cache capacity. The maximum context length per individual sequence remains **196K** tokens.
## 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:
```bash
uv venv
source .venv/bin/activate
uv pip install sglang
```
Run the following command to start the SGLang server. SGLang will automatically download and cache the MiniMax-M2.5 model from Hugging Face.
4-GPU deployment command:
```bash
python -m sglang.launch_server \
--model-path MiniMaxAI/MiniMax-M2.5 \
--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:
```bash
python -m sglang.launch_server \
--model-path MiniMaxAI/MiniMax-M2.5 \
--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:
```bash
curl http://localhost:8000/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "MiniMaxAI/MiniMax-M2.5",
"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?"}]}
]
}'
```
## Common Issues
### MiniMax-M2 model is not currently supported
Please upgrade to the latest stable version, >= v0.5.4.post1.
## Getting Support
If you encounter any issues while deploying the MiniMax model:
- Contact our technical support team through official channels such as email at [model@minimax.io](mailto:model@minimax.io)
- Submit an issue on our [GitHub](https://github.com/MiniMax-AI) repository
We continuously optimize the deployment experience for our models. Feedback is welcome!

View File

@@ -0,0 +1,120 @@
# MiniMax M2.5 模型 SGLang 部署指南
[英文版](./sglang_deploy_guide.md) | [中文版](./sglang_deploy_guide_cn.md)
我们推荐使用 [SGLang](https://github.com/sgl-project/sglang) 来部署 [MiniMax-M2.5](https://huggingface.co/MiniMaxAI/MiniMax-M2.5) 模型。SGLang 是一个高性能的推理引擎,其具有卓越的服务吞吐、高效智能的内存管理机制、强大的批量请求处理能力、深度优化的底层性能等特性。我们建议在部署之前查看 SGLang 的官方文档以检查硬件兼容性。
## 本文档适用模型
本文档适用以下模型,只需在部署时修改模型名称即可。
- [MiniMaxAI/MiniMax-M2.5](https://huggingface.co/MiniMaxAI/MiniMax-M2.5)
- [MiniMaxAI/MiniMax-M2.1](https://huggingface.co/MiniMaxAI/MiniMax-M2.1)
- [MiniMaxAI/MiniMax-M2](https://huggingface.co/MiniMaxAI/MiniMax-M2)
以下以 MiniMax-M2.5 为例说明部署流程。
## 环境要求
- OS:Linux
- Python:3.9 - 3.12
- GPU:
- compute capability 7.0 or higher
- 显存需求:权重需要 220 GB,每 1M 上下文 token 需要 240 GB
以下为推荐配置,实际需求请根据业务场景调整:
- **96G x4 GPU**:总 KV Cache 容量支持 40 万 token。
- **144G x8 GPU**:总 KV Cache 容量支持高达 300 万 token。
> **注**:以上数值为硬件支持的最大并发缓存总量,模型单序列(Single Sequence)长度上限仍为 196k。
## 使用 Python 部署
建议使用虚拟环境(如 **venv**、**conda**、**uv**)以避免依赖冲突。
建议在全新的 Python 环境中安装 SGLang:
```bash
uv venv
source .venv/bin/activate
uv pip install sglang
```
运行如下命令启动 SGLang 服务器,SGLang 会自动从 Huggingface 下载并缓存 MiniMax-M2.5 模型。
4 卡部署命令:
```bash
python -m sglang.launch_server \
--model-path MiniMaxAI/MiniMax-M2.5 \
--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 卡部署命令:
```bash
python -m sglang.launch_server \
--model-path MiniMaxAI/MiniMax-M2.5 \
--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
```
## 测试部署
启动后,可以通过如下命令测试 SGLang OpenAI 兼容接口:
```bash
curl http://localhost:8000/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "MiniMaxAI/MiniMax-M2.5",
"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?"}]}
]
}'
```
## 常见问题
### Huggingface 网络问题
如果遇到网络问题,可以设置代理后再进行拉取。
```bash
export HF_ENDPOINT=https://hf-mirror.com
```
### MiniMax-M2 model is not currently supported
请升级到最新的稳定版本, >= v0.5.4.post1.
## 获取支持
如果在部署 MiniMax 模型过程中遇到任何问题:
- 通过邮箱 [model@minimax.io](mailto:model@minimax.io) 等官方渠道联系我们的技术支持团队
- 在我们的 [GitHub](https://github.com/MiniMax-AI) 仓库提交 Issue
- 通过我们的 [官方企业微信交流群](https://github.com/MiniMax-AI/MiniMax-AI.github.io/blob/main/images/wechat-qrcode.jpeg) 反馈
我们会持续优化模型的部署体验,欢迎反馈!

View File

@@ -0,0 +1,92 @@
# MiniMax M2.5 Model Transformers Deployment Guide
[English Version](./transformers_deploy_guide.md) | [Chinese Version](./transformers_deploy_guide_cn.md)
## Applicable Models
This document applies to the following models. You only need to change the model name during deployment.
- [MiniMaxAI/MiniMax-M2.5](https://huggingface.co/MiniMaxAI/MiniMax-M2.5)
- [MiniMaxAI/MiniMax-M2.1](https://huggingface.co/MiniMaxAI/MiniMax-M2.1)
- [MiniMaxAI/MiniMax-M2](https://huggingface.co/MiniMaxAI/MiniMax-M2)
The deployment process is illustrated below using MiniMax-M2.5 as an example.
## System Requirements
- OS: Linux
- Python: 3.9 - 3.12
- Transformers: 4.57.1
- GPU:
- compute capability 7.0 or higher
- Memory requirements: 220 GB for weights.
## Deployment with Python
It is recommended to use a virtual environment (such as **venv**, **conda**, or **uv**) to avoid dependency conflicts.
We recommend installing Transformers in a fresh Python environment:
```bash
uv pip install transformers==4.57.1 torch accelerate --torch-backend=auto
```
Run the following Python script to run the model. Transformers will automatically download and cache the MiniMax-M2.5 model from Hugging Face.
```python
from transformers import AutoModelForCausalLM, AutoTokenizer, GenerationConfig
import torch
MODEL_PATH = "MiniMaxAI/MiniMax-M2.5"
model = AutoModelForCausalLM.from_pretrained(
MODEL_PATH,
device_map="auto",
trust_remote_code=True,
)
tokenizer = AutoTokenizer.from_pretrained(MODEL_PATH)
messages = [
{"role": "user", "content": [{"type": "text", "text": "What is your favourite condiment?"}]},
{"role": "assistant", "content": [{"type": "text", "text": "Well, I'm quite partial to a good squeeze of fresh lemon juice. It adds just the right amount of zesty flavour to whatever I'm cooking up in the kitchen!"}]},
{"role": "user", "content": [{"type": "text", "text": "Do you have mayonnaise recipes?"}]}
]
model_inputs = tokenizer.apply_chat_template(messages, return_tensors="pt", add_generation_prompt=True).to("cuda")
generated_ids = model.generate(model_inputs, max_new_tokens=100, generation_config=model.generation_config)
response = tokenizer.batch_decode(generated_ids)[0]
print(response)
```
## Common Issues
### Hugging Face Network Issues
If you encounter network issues, you can set up a proxy before pulling the model.
```bash
export HF_ENDPOINT=https://hf-mirror.com
```
### MiniMax-M2 model is not currently supported
Please check that trust_remote_code=True.
## Getting Support
If you encounter any issues while deploying the MiniMax model:
- Contact our technical support team through official channels such as email at [model@minimax.io](mailto:model@minimax.io)
- Submit an issue on our [GitHub](https://github.com/MiniMax-AI) repository
We continuously optimize the deployment experience for our models. Feedback is welcome!

View File

@@ -0,0 +1,93 @@
# MiniMax M2.5 模型 Transformers 部署指南
[英文版](./transformers_deploy_guide.md) | [中文版](./transformers_deploy_guide_cn.md)
## 本文档适用模型
本文档适用以下模型,只需在部署时修改模型名称即可。
- [MiniMaxAI/MiniMax-M2.5](https://huggingface.co/MiniMaxAI/MiniMax-M2.5)
- [MiniMaxAI/MiniMax-M2.1](https://huggingface.co/MiniMaxAI/MiniMax-M2.1)
- [MiniMaxAI/MiniMax-M2](https://huggingface.co/MiniMaxAI/MiniMax-M2)
以下以 MiniMax-M2.5 为例说明部署流程。
## 环境要求
- OS:Linux
- Python:3.9 - 3.12
- Transformers: 4.57.1
- GPU:
- compute capability 7.0 or higher
- 显存需求:权重需要 220 GB
## 使用 Python 部署
建议使用虚拟环境(如 **venv**、**conda**、**uv**)以避免依赖冲突。
建议在全新的 Python 环境中安装 Transformers:
```bash
uv pip install transformers==4.57.1 torch accelerate --torch-backend=auto
```
运行如下 Python 命令运行模型,Transformers 会自动从 Huggingface 下载并缓存 MiniMax-M2.5 模型。
```python
from transformers import AutoModelForCausalLM, AutoTokenizer, GenerationConfig
import torch
MODEL_PATH = "MiniMaxAI/MiniMax-M2.5"
model = AutoModelForCausalLM.from_pretrained(
MODEL_PATH,
device_map="auto",
trust_remote_code=True,
)
tokenizer = AutoTokenizer.from_pretrained(MODEL_PATH)
messages = [
{"role": "user", "content": [{"type": "text", "text": "What is your favourite condiment?"}]},
{"role": "assistant", "content": [{"type": "text", "text": "Well, I'm quite partial to a good squeeze of fresh lemon juice. It adds just the right amount of zesty flavour to whatever I'm cooking up in the kitchen!"}]},
{"role": "user", "content": [{"type": "text", "text": "Do you have mayonnaise recipes?"}]}
]
model_inputs = tokenizer.apply_chat_template(messages, return_tensors="pt", add_generation_prompt=True).to("cuda")
generated_ids = model.generate(model_inputs, max_new_tokens=100, generation_config=model.generation_config)
response = tokenizer.batch_decode(generated_ids)[0]
print(response)
```
## 常见问题
### Huggingface 网络问题
如果遇到网络问题,可以设置代理后再进行拉取。
```bash
export HF_ENDPOINT=https://hf-mirror.com
```
### MiniMax-M2 model is not currently supported
请确认开启 trust_remote_code=True。
## 获取支持
如果在部署 MiniMax 模型过程中遇到任何问题:
- 通过邮箱 [model@minimax.io](mailto:model@minimax.io) 等官方渠道联系我们的技术支持团队
- 在我们的 [GitHub](https://github.com/MiniMax-AI) 仓库提交 Issue
- 通过我们的 [官方企业微信交流群](https://github.com/MiniMax-AI/MiniMax-AI.github.io/blob/main/images/wechat-qrcode.jpeg) 反馈
我们会持续优化模型的部署体验,欢迎反馈!

117
docs/vllm_deploy_guide.md Normal file
View File

@@ -0,0 +1,117 @@
# MiniMax M2.5 Model vLLM Deployment Guide
[English Version](./vllm_deploy_guide.md) | [Chinese Version](./vllm_deploy_guide_cn.md)
We recommend using [vLLM](https://docs.vllm.ai/en/stable/) to deploy the [MiniMax-M2.5](https://huggingface.co/MiniMaxAI/MiniMax-M2.5) model. vLLM is a high-performance inference engine with excellent serving throughput, efficient and intelligent memory management, powerful batch request processing capabilities, and deeply optimized underlying performance. We recommend reviewing vLLM's official documentation to check hardware compatibility before deployment.
## Applicable Models
This document applies to the following models. You only need to change the model name during deployment.
- [MiniMaxAI/MiniMax-M2.5](https://huggingface.co/MiniMaxAI/MiniMax-M2.5)
- [MiniMaxAI/MiniMax-M2.1](https://huggingface.co/MiniMaxAI/MiniMax-M2.1)
- [MiniMaxAI/MiniMax-M2](https://huggingface.co/MiniMaxAI/MiniMax-M2)
The deployment process is illustrated below using MiniMax-M2.5 as an example.
## System Requirements
- OS: Linux
- Python: 3.9 - 3.12
- GPU:
- compute capability 7.0 or higher
- Memory requirements: 220 GB for weights, 240 GB per 1M context tokens
The following are recommended configurations; actual requirements should be adjusted based on your use case:
- **96G x4** GPU: Supports a total KV Cache capacity of 400K tokens.
- **144G x8** GPU: Supports a total KV Cache capacity of up to 3M tokens.
> **Note**: The values above represent the total aggregate hardware KV Cache capacity. The maximum context length per individual sequence remains **196K** tokens.
## Deployment with Python
It is recommended to use a virtual environment (such as **venv**, **conda**, or **uv**) to avoid dependency conflicts.
We recommend installing vLLM in a fresh Python environment:
```bash
uv venv
source .venv/bin/activate
uv pip install vllm --torch-backend=auto
```
Run the following command to start the vLLM server. vLLM will automatically download and cache the MiniMax-M2.5 model from Hugging Face.
4-GPU deployment command:
```bash
SAFETENSORS_FAST_GPU=1 vllm serve \
MiniMaxAI/MiniMax-M2.5 --trust-remote-code \
--tensor-parallel-size 4 \
--enable-auto-tool-choice --tool-call-parser minimax_m2 \
--reasoning-parser minimax_m2_append_think
```
8-GPU deployment command:
```bash
SAFETENSORS_FAST_GPU=1 vllm serve \
MiniMaxAI/MiniMax-M2.5 --trust-remote-code \
--enable_expert_parallel --tensor-parallel-size 8 \
--enable-auto-tool-choice --tool-call-parser minimax_m2 \
--reasoning-parser minimax_m2_append_think
```
## Testing Deployment
After startup, you can test the vLLM OpenAI-compatible API with the following command:
```bash
curl http://localhost:8000/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "MiniMaxAI/MiniMax-M2.5",
"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?"}]}
]
}'
```
## Common Issues
### MiniMax-M2 model is not currently supported
This vLLM version is outdated. Please upgrade to the latest version.
### torch.AcceleratorError: CUDA error: an illegal memory access was encountered
Add `--compilation-config "{\"cudagraph_mode\": \"PIECEWISE\"}"` to the startup parameters to resolve this issue. For example:
```bash
SAFETENSORS_FAST_GPU=1 vllm serve \
MiniMaxAI/MiniMax-M2.5 --trust-remote-code \
--enable_expert_parallel --tensor-parallel-size 8 \
--enable-auto-tool-choice --tool-call-parser minimax_m2 \
--reasoning-parser minimax_m2_append_think \
--compilation-config "{\"cudagraph_mode\": \"PIECEWISE\"}"
```
### Output is garbled
If you encounter corrupted output when using vLLM to serve these models, you can upgrade to the nightly version (ensure it is a version after commit [cf3eacfe58fa9e745c2854782ada884a9f992cf7](https://github.com/vllm-project/vllm/commit/cf3eacfe58fa9e745c2854782ada884a9f992cf7))
## Getting Support
If you encounter any issues while deploying the MiniMax model:
- Contact our technical support team through official channels such as email at [model@minimax.io](mailto:model@minimax.io)
- Submit an issue on our [GitHub](https://github.com/MiniMax-AI) repository
We continuously optimize the deployment experience for our models. Feedback is welcome!

View File

@@ -0,0 +1,127 @@
# MiniMax M2.5 模型 vLLM 部署指南
[英文版](./vllm_deploy_guide.md) | [中文版](./vllm_deploy_guide_cn.md)
我们推荐使用 [vLLM](https://docs.vllm.ai/en/stable/) 来部署 [MiniMax-M2.5](https://huggingface.co/MiniMaxAI/MiniMax-M2.5) 模型。vLLM 是一个高性能的推理引擎,其具有卓越的服务吞吐、高效智能的内存管理机制、强大的批量请求处理能力、深度优化的底层性能等特性。我们建议在部署之前查看 vLLM 的官方文档以检查硬件兼容性。
## 本文档适用模型
本文档适用以下模型,只需在部署时修改模型名称即可。
- [MiniMaxAI/MiniMax-M2.5](https://huggingface.co/MiniMaxAI/MiniMax-M2.5)
- [MiniMaxAI/MiniMax-M2.1](https://huggingface.co/MiniMaxAI/MiniMax-M2.1)
- [MiniMaxAI/MiniMax-M2](https://huggingface.co/MiniMaxAI/MiniMax-M2)
以下以 MiniMax-M2.5 为例说明部署流程。
## 环境要求
- OS:Linux
- Python:3.9 - 3.12
- GPU:
- compute capability 7.0 or higher
- 显存需求:权重需要 220 GB,每 1M 上下文 token 需要 240 GB
以下为推荐配置,实际需求请根据业务场景调整:
- **96G x4 GPU**:总 KV Cache 容量支持 40 万 token。
- **144G x8 GPU**:总 KV Cache 容量支持高达 300 万 token。
> **注**:以上数值为硬件支持的最大并发缓存总量,模型单序列(Single Sequence)长度上限仍为 196k。
## 使用 Python 部署
建议使用虚拟环境(如 **venv**、**conda**、**uv**)以避免依赖冲突。
建议在全新的 Python 环境中安装 vLLM:
```bash
uv venv
source .venv/bin/activate
uv pip install vllm --torch-backend=auto
```
运行如下命令启动 vLLM 服务器,vLLM 会自动从 Huggingface 下载并缓存 MiniMax-M2.5 模型。
4 卡部署命令:
```bash
SAFETENSORS_FAST_GPU=1 vllm serve \
MiniMaxAI/MiniMax-M2.5 --trust-remote-code \
--tensor-parallel-size 4 \
--enable-auto-tool-choice --tool-call-parser minimax_m2 \
--reasoning-parser minimax_m2_append_think
```
8 卡部署命令:
```bash
SAFETENSORS_FAST_GPU=1 vllm serve \
MiniMaxAI/MiniMax-M2.5 --trust-remote-code \
--enable_expert_parallel --tensor-parallel-size 8 \
--enable-auto-tool-choice --tool-call-parser minimax_m2 \
--reasoning-parser minimax_m2_append_think
```
## 测试部署
启动后,可以通过如下命令测试 vLLM OpenAI 兼容接口:
```bash
curl http://localhost:8000/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "MiniMaxAI/MiniMax-M2.5",
"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?"}]}
]
}'
```
## 常见问题
### Huggingface 网络问题
如果遇到网络问题,可以设置代理后再进行拉取。
```bash
export HF_ENDPOINT=https://hf-mirror.com
```
### MiniMax-M2 model is not currently supported
该 vLLM 版本过旧,请升级到最新版本。
### torch.AcceleratorError: CUDA error: an illegal memory access was encountered
在启动参数添加 `--compilation-config "{\"cudagraph_mode\": \"PIECEWISE\"}"` 可以解决。例如:
```bash
SAFETENSORS_FAST_GPU=1 vllm serve \
MiniMaxAI/MiniMax-M2.5 --trust-remote-code \
--enable_expert_parallel --tensor-parallel-size 8 \
--enable-auto-tool-choice --tool-call-parser minimax_m2 \
--reasoning-parser minimax_m2_append_think \
--compilation-config "{\"cudagraph_mode\": \"PIECEWISE\"}"
```
### 模型输出乱码
如果您在使用 vLLM 运行这些模型时遇到输出乱码,可以升级到最新版本(请至少确保版本在提交 [cf3eacfe58fa9e745c2854782ada884a9f992cf7](https://github.com/vllm-project/vllm/commit/cf3eacfe58fa9e745c2854782ada884a9f992cf7) 之后)。
## 获取支持
如果在部署 MiniMax 模型过程中遇到任何问题:
- 通过邮箱 [model@minimax.io](mailto:model@minimax.io) 等官方渠道联系我们的技术支持团队
- 在我们的 [GitHub](https://github.com/MiniMax-AI) 仓库提交 Issue
- 通过我们的 [官方企业微信交流群](https://github.com/MiniMax-AI/MiniMax-AI.github.io/blob/main/images/wechat-qrcode.jpeg) 反馈
我们会持续优化模型的部署体验,欢迎反馈!

BIN
figures/bench_1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 184 KiB

BIN
figures/bench_10.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 177 KiB

BIN
figures/bench_11.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 179 KiB

BIN
figures/bench_2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 197 KiB

BIN
figures/bench_3.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 94 KiB

BIN
figures/bench_4.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 101 KiB

BIN
figures/bench_5.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 165 KiB

BIN
figures/bench_6.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 172 KiB

BIN
figures/bench_7.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 97 KiB

BIN
figures/bench_8.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 105 KiB

BIN
figures/bench_9.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 84 KiB

BIN
figures/rl_1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 329 KiB

BIN
figures/rl_2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 69 KiB

9
generation_config.json Normal file
View File

@@ -0,0 +1,9 @@
{
"bos_token_id": 200019,
"do_sample": true,
"eos_token_id": 200020,
"temperature": 1.0,
"top_p": 0.95,
"top_k": 40,
"transformers_version": "4.46.1"
}

3
merges.txt Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ca47ea60cf5bd48832586adc264f439d0ea4254176b24a95f85eaa9750e2b5f9
size 2414077

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:1b1c5466a9970efff18d4de8c0ab60cbfc712473b233034e0694971b9d49ef80
size 3693062776

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ed126600b65b79847e2b0e46b1df3f06193151cb1eeaf0dfd31c0080f73feb1d
size 1208321208

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e01f274b2ea33d8be995e88979f57910a03ee2a982e730587848fab59b90a8b4
size 2463868968

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:3bbe8d7dd07fb4fd4f9cbb994f99dda8262bcebd426c4ade445778fef79dc05d
size 1208321208

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:73098f1d0c8abb2cf6a6eeae0ac56c9f74827db99f21daf27dc9025b2d8b53bb
size 2463868968

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ca9c8234a91d4fa5bed8972e1acb9a478fefc3d0616aa75a7054e5ed42a355ab
size 1208321208

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:28fb1bb3e1e10aaf0d94922b381cfbf10fab932594104e8639f3500b8f6b7fe5
size 2463868968

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:719cdde66b577b3b78f32218ae35829a692f42d5a8365564293b6b4572a3bf19
size 1208321208

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:3f28a408bd995f95d645a0afdb09187c77e68201876935a346a3e18de80603f8
size 2463868968

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:9dbfc5fb0c262222af4db090dd979525af71cf8c8202569d4c9f99a5d3985af3
size 1208321208

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:13c4908d9edd395bbaf84f905148051f759f4c494cd69bf396bec06687fc0edd
size 2463868968

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:4dfcc175b5553cfff3cb2b7d63b6cdf8919421be4d12bd9dfda176de6477f583
size 1208321208

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6765316e7a69e78e62fde1b620f6e75067669bed32757368fcbbe8505cbb440d
size 2463868968

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:46468675fadd24ed94a04efe21c44d283a1e351eb4ff315d5f8bad2b5ff9151f
size 1208321208

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:5ba50107d7536ebe1a395c0e80b679dfa11a538cb7b8d89eb2f252734a33cc63
size 2463868968

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:863708baaceaf7658b7d07144bf57e9f34ecfc278f2be7ef104ff2c5a3535e7c
size 1208321208

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e00f33983210adcdf7f131fee0f8391f2afba477b21808d48e0f6a0e7540ae4b
size 2463868968

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:549da782be1d9803a585387d2a082ebbe46d3cd214bec1702d6cbfb47421814f
size 1208321208

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:41009aef1e3a3871ecd2b931a6a8f666d8f00074f113ec241740d976279ec82c
size 2463868968

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ee7f5ae1d73509de35105fcd707bba37410c9ef738287ae607386f168ed22250
size 1208321208

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a9b3f1d32c7687a4f470a837501da6f276121dab89b2559e12f7c16e69cb7aeb
size 2463870000

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:2c4de90e8bc55be57c694d3adc754370836738c2eef4f3dd778a379a85ed2e0d
size 1208321720

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d2db1caad71c7b6e6fb6cc9c76cb4630c7994c731236405c5a5efc993adaf931
size 2463870000

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d06531f2e74eedc5fa5a03dae62cbcf804afac22fe184bd00ad90b211f4795d6
size 1208321720

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:46dd4067c9971b7ff3160e0cd1c29143bf464db286a35efffdbc7aa12df7ff11
size 2463870000

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:bf5da218100165ee1973101083a45202a4a9176d80fad139652adb04444f80d3
size 1208321720

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:8d426f7035f1120b0b6c7c5370ce5595f90d5fb9a132c743c046ff59db5cb265
size 2463870000

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:7b8875b5644c876c229c453f0e9bae040d54dc364da0d8005bf1161813db7c7f
size 1208321720

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:2518a73b3974b4f0d3c215ddef5a7e0e12644163573b5b5decd8ce50a152793c
size 2463870000

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:275939435df08f8223cad05ae0af71ea06b55cb9afe3f64cc766fd9b81a0844e
size 1208321720

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ab4d0c2c8ee70e59460f5ec00fe988f1ff681e78a5ae089773b9b2b42fc6beb2
size 2463870000

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:90cb43eb2e0169961033bbd43983644acee48e921aa3e232b187c24e9ada0397
size 1208321720

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:cdef46dd4b737e39cd61425bc32113b431d1aa095e648eafdb8560a274316f61
size 2463870000

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a22b4f151873f8533308bca289db23ad07e77d5d6bbad358f7185214d0477321
size 1208321720

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:cddc3fce4142f03b7dd0114863d425c93c8499c7364a5188599b716cf0dff14e
size 2463870000

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:aeede5d62eafad803c8fd70644543d3434449bc17ab898d3405f39f674fcd613
size 1208321720

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:85d5547bbe03ddc2a319ecaf5601ae5471e95ad24aa8489ce1535e60ebb53e1d
size 2463870000

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:2fa4aa203fd33d1fdf8aef5e5c77a2dca6adf52e1d36cea122888c6da5eda159
size 1208321720

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:330dbd9c71d6d110c6eb845f968f5954ee70f772584ff99df9b6871a921a5e38
size 2463870000

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f0ce38595220a00e51a53ea32b6cf1035b1c780ba4e274dc61748ac210a1db56
size 1208321720

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:5ce08f09007e623a7b7f79cdab47ba4f8dc54a5c6be852e69264f030fa0f3065
size 2463870000

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:1d0e4c4fdaa567cea9bc6695c00ae234cf7b9db993164fb4ed7ef4dcf8266136
size 1208321720

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:45c0a0c9455c93c7065dcfce7ba6863c5db3c727d3d2564b79fc088fbe0f2037
size 2463870000

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:edd078ceb93e7ac863cda3e5ce0a7a364b068137544e8413339dfcc7f5280af2
size 1208321720

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d026b30f983279df9691a0d4de034571dc514f3784dfcd1213b3c9cc91c8e97f
size 2463870000

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d693a9decbf6255ddd54e67228edf921faeabaf8d141659c71b890cec7defb72
size 1208321720

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:7e4ab9efb0787a344a0e092950b452b67fb6d5105945eda109453400960dd1f1
size 2463870000

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:736d97f77a0684ecad6125fc63766ffed5cad86a0b07f02f5bb504ca9d31b709
size 1208321720

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:9c2747c4b511a25aadaefd4dfedf4d1d15adf60d250501efb1280cfb90d88990
size 2463870000

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ffa3607b75896c8021a27151cb63caf3d703c5e4e5f385b86a9a2a7a8feb652e
size 1208321720

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d79646bc2d4ef2cf4daaebe019ff3403122c9a5161ebff9f701638777353078f
size 2463870000

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:7cfc68037dd760ad6ea326c3ca72e2e27c84f1b54cd0557b0ed553e291f9dbc6
size 1208321720

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:8b6d7e21cd053f181085ef9f99afd2b864293d2a42e0232dd90e8379c340a559
size 2463870000

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:fc48ad7ebb3307394b7011bba4248d2ef487238750f3d8abb4bab851d61dd791
size 1208321720

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:45eba87312cd1de165f64d83fd8d7019514a6fda3e7f1d6986b52f65237f769c
size 2463870000

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6a5d1551a0afc63411068b0b113329a8d2cbb1ba62fec8fc3c595ccc4331e855
size 1208321720

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b9eba2fef3a19730e0008dd1da29014f82071f4a7d1158524226d2baa5e2f51a
size 2463870000

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:23530a38ed0191282bb17c4b86a4e8ba7851f98f0ad9b27a043611e9d8c44be2
size 1208321720

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:7a97673ec72afe4c78944356ffcb0a10d35428df362ef668ec6d0ca779eb48ce
size 2463870000

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:ea588c26d28d502fc5c3184ee4771937263521e9e4059fd43aadd49bb3e3b8e1
size 1208321720

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d7ee9284bf5d4318507fdc4aafcc51821d34a1e072606da7c50a25c923023047
size 2463870000

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e565d13da2b065bc0a9b24044365bcea5f35756791b595aadb771a23bee05089
size 1208321720

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:b15f2d87586e27ca72e5913a3ad8d83fcf6aaaf35300ff2f8f3715a6bb2a694c
size 2463870000

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:bbf5628ada8a6b50d300cd1dc44b36cf45172fabf580dc9e066f41286b24383c
size 1208321720

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:cbf5b4e8da2ccb572fbe2b745dfe54e598526b748d776530574d120cd370f22e
size 2463870000

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:44486bbde18b0dab1741d5d45e2f02bf2269e054a6eb56b9c57bbc5abf1973e3
size 1208321720

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:f15f19cb76fb87fbd619ee5ab53252a1fde5648aaaa84bac1c8c4f5cb0a30e9d
size 2463870000

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:d6b01fe56901cc4da3ddf1b0d93d5eaccfb789dc7b95bba5bbbd1f1e94b908e7
size 1208321720

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:aa73015b23d024c86d7af74108e4a59dc93de846d58f3818695f9cab9fbd60b2
size 2463870000

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:67c2dbda624c37375871def7bb328a3329d7cf5db36bdd6a610f217e5405edb0
size 1208321720

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:953fd9e8120b4b7ff45990e2b7234136abd904921007f9c7022698ae1a81256f
size 2463870000

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:8c135509d9365fb167d90fbb94d03c1b94c3752ed2119959e99dceb83efde8f8
size 1208321720

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:2dcc96f23d6a488d0c01fbf6e2b20429c644064a97894bb1770800ceac929055
size 2463870000

View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:0c344180277049767ef42283501f7a2314e97247e0e57c745678e1605b877991
size 1208321720

Some files were not shown because too many files have changed in this diff Show More