10分钟跑通大模型推理性能测试:vLLM 吞吐量压测脚本完整指南
2026/9/2 22:14:38 网站建设 项目流程

10分钟跑通大模型推理性能测试:vLLM 吞吐量压测脚本完整指南

【免费下载链接】self-llm《开源大模型食用指南》针对中国宝宝量身打造的基于Linux环境快速微调(全参数/Lora)、部署国内外开源大模型(LLM)/多模态大模型(MLLM)教程项目地址: https://gitcode.com/GitHub_Trending/se/self-llm

部署开源大模型时,你最先卡住的问题往往是:这台机器到底跑这个模型有多快?选 vLLM 还是原生 Transformers,差距有多少?本文带你用vLLM 吞吐量压测(benchmark_throughput,官方自带基准测试脚本)十分钟拿到 requests/s、tokens/s 指标,让"感觉挺快"变成可对比的数字。

关键指标速览 📊

  • 吞吐量(Throughput):单位时间内模型处理的数据总量,分请求数和 token 数两种口径
  • requests/s:每秒完成多少条提示词请求,衡量服务能扛多少并发
  • tokens/s:每秒处理多少 token(含输入+输出),衡量计算总效率
  • 输入/输出长度:压测时人为固定的 prompt 长度和生成长度,决定单次请求的负载
  • 对比基线:同一脚本支持vllmhf(HuggingFace Transformers)两个后端,同一台机器跑两次即可量化加速比

图:不同大模型在各类基准测试上的表现对比,吞吐测试解决的是"跑得多快",这类榜单解决"答得多好"

从零跑通第一次测试

环境准备

你只需要一台有 NVIDIA GPU 的机器(仓库示例中 7B 模型用 RTX 3090 即可),装好 vLLM:

pip install vllm git clone https://gitcode.com/GitHub_Trending/se/self-llm cd self-llm

压测脚本已放在仓库的 models/Qwen2/benchmark_throughput.py,把它拷到你的模型目录旁边即可。

执行测试

以 Qwen2-7B-Instruct 为例,一条命令跑起 vLLM 后端压测:

python benchmark_throughput.py \ --model /root/autodl-tmp/qwen/Qwen2-7B-Instruct \ --backend vllm \ --input-len 64 \ --output-len 128 \ --num-prompts 25 \ --max-model-len 512

关键参数说明:

  • --model:模型本地路径
  • --input-len/--output-len:固定每条请求的输入和输出长度
  • --num-prompts:测试样本数,首次跑用 25 足够

图:压测前先在镜像/框架层面确认 PyTorch 与 CUDA 版本匹配

想量化加速比,把--backend vllm改成--backend hf并加上--hf-max-batch-size 25再跑一次即可。仓库里 Qwen2 的 vLLM 部署教程 有完整对照流程。

看懂输出结果

脚本跑完会打印一行核心结果:

Throughput: 7.68 requests/s, 1474.75 tokens/s

新版 vLLM 的脚本会输出三个值,各字段含义对照如下:

指标含义健康参考值
requests/s每秒完成的请求数7B 模型消费级显卡上:5~30,长度越短越高
total tokens/s输入+输出 token 总吞吐同硬件 7B 模型约 1000~6000,随长度翻倍变化
output tokens/s模型净生成速度通常约为 total 的 1/1.5~1/2 区间

仓库实测数据:同一块卡上 Qwen2-7B 走 vLLM 是 7.68 requests/s,走 hf 后端只有 5.73 requests/s,vLLM 快约 34%;DeepSeek-R1-Distill-Qwen-7B 短文本场景甚至跑到 29.34 requests/s。判断你的结果是否合理,看同后端、同长度下的量级即可。

踩坑与排障 🔧

显存不够(OOM)应对:先降--num-prompts,再调小--input-len/--output-len;vLLM 默认占 90% 显存,可用--gpu-memory-utilization 0.8留出余量。

两次结果波动很大应对:固定--seed,把--num-prompts加到 50 以上,跑之前nvidia-smi确认没有别的进程占着 GPU。

hf 后端直接报错应对:--hf-max-batch-size只对 hf 后端生效但必填,漏了脚本会直接抛错;反之 vllm 后端传了它也会报错,别混着抄命令。

图:显存紧张时换一张大显存的卡,是比降并发更直接的解法

收个尾

  • 一条benchmark_throughput.py命令就能拿到 requests/s 与 tokens/s,无需自己写压测代码
  • 同机器、同长度下对比vllmhf两个后端,加速比一目了然
  • 指标要固定长度、固定 seed、固定样本数才可比,别拿不同配置的数硬比
  • 7B 模型单卡即可压测,先跑短文本(64/128)定位瓶颈,再测长文本

现在就选一个你部署过的模型,把上面的命令填上路径跑一遍,明天对比推理引擎时你就有数据说话了。

【免费下载链接】self-llm《开源大模型食用指南》针对中国宝宝量身打造的基于Linux环境快速微调(全参数/Lora)、部署国内外开源大模型(LLM)/多模态大模型(MLLM)教程项目地址: https://gitcode.com/GitHub_Trending/se/self-llm

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询