MiMo-V2-Flash 使用指南¶
简介¶
MiMo-V2-Flash 是一个拥有 3090 亿总参数和 150 亿激活参数的 MoE 语言模型。该模型专为高速推理和代理工作流而设计,采用了一种新颖的混合注意力架构和多令牌预测 (MTP) 技术,实现了最先进的性能,同时显著降低了推理成本。
安装 vLLM¶
uv venv
source .venv/bin/activate
uv pip install vllm --extra-index-url https://wheels.vllm.ai/nightly
运行 MiMo-V2-Flash¶
像这样运行 TP
vllm serve XiaomiMiMo/MiMo-V2-Flash \
--host 0.0.0.0 \
--port 9001 \
--seed 1024 \
--served-model-name mimo_v2_flash \
--tensor-parallel-size 4 \
--trust-remote-code \
--gpu-memory-utilization 0.9 \
--generation-config vllm
像这样运行 Tool Call
vllm serve XiaomiMiMo/MiMo-V2-Flash \
--host 0.0.0.0 \
--port 9001 \
--seed 1024 \
--served-model-name mimo_v2_flash \
--tensor-parallel-size 4 \
--trust-remote-code \
--gpu-memory-utilization 0.9 \
--tool-call-parser qwen3_xml \
--reasoning-parser qwen3 \
--generation-config vllm
像这样运行 DP/TP/EP
vllm serve XiaomiMiMo/MiMo-V2-Flash \
--host 0.0.0.0 \
--port 9001 \
--seed 1024 \
--served-model-name mimo_v2_flash \
--data-parallel-size 2 \
--tensor-parallel-size 4 \
--enable-expert-parallel \
--trust-remote-code \
--gpu-memory-utilization 0.9 \
--generation-config vllm
- 您可以设置
--max-model-len来节省内存。对于大多数场景,--max-model-len=65536通常效果不错,最大值为 128k。 - 您可以设置
--max-num-batched-tokens来平衡吞吐量和延迟,数值越高意味着吞吐量越高但延迟也越高。--max-num-batched-tokens=32768通常适用于提示密集型工作负载。但您可以将其减少到 16k 和 8k 以减少激活内存使用并降低延迟。 - vLLM 默认使用 90% 的 GPU 内存,您可以设置
--gpu-memory-utilization=0.95来最大化 KVCache。 - 请务必按照命令行说明操作,以确保工具调用功能已正确启用。
curl 示例¶
您可以运行以下 curl 命令
curl -X POST https://:9001/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{
"model": "mimo_v2_flash",
"messages": [
{
"role": "user",
"content": "Hello MiMo!"
}
],
"chat_template_kwargs": {
"enable_thinking": true
}
}'
- 设置
"enable_thinking": false或删除chat_template_kwargs部分以禁用思考模式。
基准测试¶
对于基准测试,通过向服务器命令添加 --no-enable-prefix-caching 来禁用前缀缓存。
基准测试¶
# Prompt-heavy benchmark (8k/1k)
vllm bench serve \
--model XiaomiMiMo/MiMo-V2-Flash \
--dataset-name random \
--random-input-len 8000 \
--random-output-len 1000 \
--request-rate 3 \
--num-prompts 1800 \
--ignore-eos
基准测试配置¶
通过调整输入/输出长度测试不同的工作负载
- 提示密集型:8000 输入 / 1000 输出
- 解码密集型:1000 输入 / 8000 输出
- 平衡型:1000 输入 / 1000 输出
预期输出¶
目前仅支持基本运行,许多功能(如 MTP)尚未添加,因此性能测试将在稍后进行。
准确性¶
GSM8K¶
脚本
lm_eval \
--model local-chat-completions \
--tasks gsm8k \
--num_fewshot 5 \
--apply_chat_template \
--model_args model=mimo_v2_flash,base_url=http://0.0.0.0:9001/v1/chat/completions,num_concurrent=100,max_retries=20,tokenized_requests=False,tokenizer_backend=none,max_gen_toks=256
|Tasks|Version| Filter |n-shot| Metric | |Value | |Stderr|
|-----|------:|----------------|-----:|-----------|---|-----:|---|-----:|
|gsm8k| 3|flexible-extract| 5|exact_match|↑ |0.9128|± |0.0078|
| | |strict-match | 5|exact_match|↑ |0.9075|± |0.0080|
待办事项¶
- [ ] 支持 MTP。
- [ ] 提供压力测试性能数据。