跳到主要内容
返回开发者精选

MiniCPM5-1B FP8:NVIDIA GPU 推理加速方案

作者:vukrosic模型:MiniCPM5-1B

RTX 3060 解码 248 tok/s,比 BF16 快 1.5 倍

这个项目给 MiniCPM5-1B 在 NVIDIA Ampere 及更新架构的 GPU 上准备了一套优化过的默认配置,面向单个活跃请求、显存够用的部署场景。

RTX 3060 实测:解码速度 248.52 tok/s,是同条件 BF16 vLLM 基线的 1.503 倍。

MiniCPM5-1B 在 RTX 3060 上的速度与质量基准

基准测试​

速度​

指标BF16 基线FP8 默认配置变化
解码吞吐(中位数)165.39 tok/s248.52 tok/s+50.3%
端到端吞吐(中位数)152.42 tok/s221.42 tok/s+45.3%
首 token 延迟 TTFT(中位数)38.60 ms35.11 ms−9.0%

速度测试用了 6 个提示词,每个提示词 1 次预热、5 次计时,batch size 和并发数都是 1。

质量​

基准BF16 基线FP8 默认配置差值
HumanEval+95/16496/164+1
GSM8K 切片19/5018/50−1
MMLU 切片16/5018/50+2
C-Eval 切片16/5018/50+2
IFEval 切片38/5033/50−5
四个切片合计89/20087/200−2

质量测试是确定性运行的。FP8 会改变输出:和 BF16 相比,HumanEval+ 上有 8 题由对变错、9 题由错变对;四个切片合计 12 题变差、10 题变好。逐题对比放在仓库的 results/ 目录里。

优化内容​

默认配置由下面几项组合而成:

  1. vLLM 编译执行与 CUDA graph 回放;
  2. 在线逐块(per-block)FP8 量化,配合 Marlin 线性层 kernel;
  3. Triton attention,在 RTX 3060 上实测解码最快的后端;
  4. batch 为 1、最多一个活跃序列的调度器;
  5. 针对单请求场景关闭前缀缓存。

测出来的加速来自组合配置整体,仓库没有声称每一项单独贡献了多少百分比。

快速开始​

实测环境:Linux、RTX 3060 12 GB、vLLM 0.27.1、PyTorch 2.13.0+cu130,模型版本 4e9de7a0778dc1c362e983e6858f0e77542cbdca。

在 GPU 机器上直接下载官方权重:

Bash
hf download openbmb/MiniCPM5-1B \
--revision 4e9de7a0778dc1c362e983e6858f0e77542cbdca \
--local-dir /workspace/models/MiniCPM5-1B

安装并启动。FP8 会被自动选中,不用额外加参数:

Bash
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements-gpu.txt

export MINICPM5_MODEL_PATH=/workspace/models/MiniCPM5-1B
./serve --host 127.0.0.1 --port 8000

加上 --dry-run,只打印最终的 vLLM 启动命令,不真正启动服务。启动脚本会检查所选 NVIDIA GPU 的计算能力是否不低于 8.0,并且从不自动下载权重。RTX 3060 被标为“已实测”,其他符合要求的架构标为“兼容但未测试”。能不能启动,还要看可用显存和装的是哪个版本的 vLLM。

GPU 兼容性​

硬件默认配置
NVIDIA Ampere 及更新(SM80+)架构兼容,需自行测速
RTX 3060 12 GB支持且已在此实测
NVIDIA Turing(SM75)本 BF16 配置不支持
AMD、Intel、Apple GPU 或 CPU本项目不支持

vLLM 在更老的 NVIDIA 硬件上可以用 Marlin FP8 仅权重量化 kernel,但本方案同时依赖 BF16,所以实际最低要求是 SM80+。Turing 得另外测 FP16 配置。

发布内容​

  • 默认的 NVIDIA SM80+ FP8 服务配置和一键启动脚本;
  • 冻结的基准规格与文档哈希清单;
  • 完整的逐题配对对比记录;
  • 可复现的图表生成脚本和可在 CPU 上运行的测试集。

OpenBMB 的官方权重没有改动,也不重新分发。仓库里的 BF16 配置只用来复现基准,不是第二个面向终端用户的发布配置。完整测试协议见仓库的 docs/BENCHMARKS.md。

适用范围与说明​

  • 这套配置面向 NVIDIA SM80+ GPU 发布。实测加速只直接适用于固定的模型版本、软件版本、单请求负载和测试用的 RTX 3060;换一块 GPU 可能选中不同的 vLLM kernel,需要单独测速。
  • 四个 50 题的领域切片只是发布前的筛查,不是对官方榜单的完整复现。
  • 这是独立研究,不是 OpenBMB 官方发布。

链接​

项目信息

基于模型
MiniCPM5-1B
作者
vukrosic