README.md 4.55 KB
Newer Older
chenych's avatar
chenych committed
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
# MiMo-V2-Flash
## 论文
[MiMo-V2-Flash Technical Report](doc/paper.pdf)

## 模型简介
MiMo-V2-Flash 是一个混合专家(Mixture-of-Experts, MoE)语言模型,总参数量为 3090 亿,激活参数量为 150 亿。该模型专为高速推理和智能体工作流设计,采用了一种新颖的混合注意力架构和多词元预测(Multi-Token Prediction, MTP),在显著降低推理成本的同时实现了业界领先的性能。

MiMo-V2-Flash 在长上下文建模能力和推理效率之间实现了新的平衡。其主要特性包括:

- **混合注意力架构:**以 5:1 的比例交错使用滑动窗口注意力(Sliding Window Attention, SWA)和全局注意力(Global Attention, GA),并采用激进的 128 词元窗口。这使 KV 缓存存储需求减少了近 6 倍,同时通过可学习的 注意力汇聚偏置(attention sink bias) 保持了长上下文性能。
- **多词元预测(MTP):**配备轻量级 MTP 模块(每层 0.33B 参数),使用密集前馈网络(FFN)。这使推理时的输出速度提升三倍,并有助于加速强化学习(RL)训练中的 rollout 过程。
- **高效预训练:**使用 FP8 混合精度和原生 32k 序列长度,在 27T 词元上完成训练。上下文窗口最大支持 256k 长度。
- **智能体能力:**后训练阶段采用多教师在线策略蒸馏(Multi-Teacher On-Policy Distillation, MOPD)和大规模智能体强化学习,在 SWE-Bench 和复杂推理任务上表现卓越。

<div align=center>
    <img src="./doc/MiMo-v2-flash-performance.jpg"/>
</div>

## 环境依赖

| 软件 | 版本 |
| :------: | :------: |
| DTK | 26.04 |
| Python | 3.10.12 |
| torch | 2.9.0+das.opt1.dtk2604.2604151933.g4ed9ab |
| triton | 3.3.0+das.opt2.dtk2604.torch290.20260331.g31542e |
| Transformers | 5.3.0 |
| SGLang | 2.9.0+das.opt1.dtk2604.2604151933.g4ed9ab |

推荐使用镜像: harbor.sourcefind.cn:5443/dcu/admin/base/custom:sglang-0.5.10-glm5-0416

- 挂载地址`-v`根据实际模型情况修改

```bash
docker run -it \
    --shm-size 256g \
    --network=host \
    --name mimo-v2-flash \
    --privileged \
    --device=/dev/kfd \
    --device=/dev/dri \
    --device=/dev/mkfd \
    --group-add video \
    --cap-add=SYS_PTRACE \
    --security-opt seccomp=unconfined \
    -u root \
    -v /opt/hyhal/:/opt/hyhal/:ro \
    -v /path/your_code_data/:/path/your_code_data/ \
    harbor.sourcefind.cn:5443/dcu/admin/base/custom:sglang-0.5.10-glm5-0416 bash
```
更多镜像可前往[光源](https://sourcefind.cn/#/service-list)下载使用。

关于本项目DCU显卡所需的特殊深度学习库可从[光合](https://developer.sourcefind.cn/tool/)开发者社区下载安装。

## 数据集
`暂无`

## 训练
`暂无`

## 推理
### SGLang
#### 单机推理
1. 启动服务
```bash
export SGLANG_USE_LIGHTOP=1
export SGLANG_KV_LAYOUT_DCU_FA=0
export SGLANG_ENABLE_SPEC_V2=1
export SGLANG_USE_AITER_FP8_ASM_MOE=1
export SGLANG_USE_TRITON_EXTEND_FROM_AITER=1

sglang serve --model-path XiaomiMiMo/MiMo-V2-Flash \
        --tp-size 4 \
        --page-size 64 \
        --host 0.0.0.0 \
        --port 8001 \
        --trust-remote-code \
        --mem-fraction-static 0.85 \
        --max-running-requests 64 \
        --tool-call-parser mimo \
        --context-length 262144 \
        --attention-backend triton \
        --chunked-prefill-size -1 \
        --speculative-algorithm EAGLE \
        --speculative-num-steps 3 \
        --speculative-eagle-topk 1 \
        --speculative-num-draft-tokens 4 \
        --disable-radix-cache
```

2. 访问推理服务
```bash
curl http://localhost:8001/v1/chat/completions   \
    -H "Content-Type: application/json"  \
    -d '{
        "model": "XiaomiMiMo/MiMo-V2-Flash",
        "messages": [
            {
                "role": "user",
                "content": "Nice to meet you MiMo"
            }
        ],
        "max_tokens": 1024,
        "temperature": 0.8,
        "top_p": 0.95,
        "chat_template_kwargs": {
            "enable_thinking": true
        }
    }'
```

## 效果展示
<div align=center>
    <img src="./doc/results-dcu.png"/>
</div>

### 精度
`DCU与GPU精度一致,推理框架:SGLang。`

## 预训练权重
| 模型名称  | 权重大小  | DCU型号  | 最低卡数需求 |下载地址|
|:-----:|:----------:|:----------:|:---------------------:|:----------:|
| MiMo-V2-Flash | 309B | BW1100 | 4 | [ModelScope](https://modelscope.cn/models/XiaomiMiMo/MiMo-V2-Flash) |

## 源码仓库及问题反馈
- https://developer.sourcefind.cn/codes/modelzoo/mimo-v2-flash

## 参考资料
- https://github.com/XiaomiMiMo/MiMo-V2-Flash