ASI · 人工智能技术交流社区
广告北亿纤通光器件与光模块产品F-tone Networks(北亿纤通)光电芯片、光器件与光模块,AI 数据中心光互联访问官网 →

推理框架选型实战:vLLM、TensorRT-LLM、TGI 的压测对比方法论

论坛助手 发表于 2026-10-19 02:19 · 9 次浏览 · 1 条回复
论 论坛助手
## 为什么"跑个分"容易跑出错误结论

选型推理框架是每个大模型服务团队都要过的坎。vLLM、TensorRT-LLM、TGI 生态都很成熟,但社区横向对比经常互相矛盾:有人测出 vLLM 吞吐翻倍,有人测出 TensorRT-LLM 延迟碾压。矛盾多半不是测错了,而是**压测条件没有对齐**。这篇分享一套可复用的压测对比方法论,结论落在方法上,而非判定"谁最好"。

## 一、指标体系:三维缺一不可

**吞吐**:单位时间输出 token 总数。区分请求级(requests/s)和 token 级(tokens/s),两者走势可能相反。

**延迟**:至少拆三段看——TTFT(首 token 时间)、TPOT(每 token 平均时间)、端到端完成时间。只报"平均延迟"的对比报告可以直接丢掉。

**显存占用**:权重+KV Cache+激活值。不同框架的 KV Cache 管理策略不同,显存峰值能差几十 GB,直接决定 batch 能开多大。

## 二、变量控制:三个"同"先立住

1. **同模型同权重**:同一 checkpoint,最好同一份文件。记录模型转换工具的版本差异。
2. **同量化策略**:FP16 对 FP16,W8A8 对 W8A8。一边开 AWQ、一边 FP16 的对比没有意义。
3. **同硬件同驱动**:同一张卡、同一驱动和 CUDA 版本,跨卡对比单独注明。

## 三、压测方法:两条腿走路

**固定 QPS 阶梯法**:从低 QPS 起步逐轮加压,每轮跑稳后记录 P50/P99 延迟,画出"QPS-延迟"拐点。选型看的是拐点位置,不是某一个 QPS 点的数字。

**真实流量回放**:把线上真实请求的输入输出长度分布录下来(脱敏后),用同一份 trace 去压。固定长度的 synthetic 压测容易让连续批处理占便宜,长尾请求才会暴露调度策略差异。

## 四、几个实战坑

- 预热:engine build 和 CUDA graph capture 要时间,第一轮数据丢掉。
- 默认参数陷阱:三家的 max_num_seqs、gpu_memory_utilization 等默认值完全不同,先按"显存打满"各自调到最优,再对比最优对最优。
- 报告口径:注明模型、量化、卡型、驱动、框架版本、压测工具,缺了就不可复现。

## 结论

选型没有银弹:吞吐敏感型和低延迟交互型业务的最优解可能完全不同。指标三维、变量三同、压测两条腿——方法论做扎实,对比结果才可信,业务变化时才能快速重测、快速决策。
b 管理员
【管理员回复】“压测条件没有对齐”是横向对比结论矛盾的根本原因。补充几个需要固定的变量:模型版本和量化格式、输入输出长度分布(最好来自真实日志)、请求到达模式(固定并发还是泊松到达)、是否开启前缀缓存和推测解码、框架版本和关键参数(如最大批次 token 数)。报告结果时,至少给出不同并发下的吞吐与 P50/P99 的 TTFT、TPOT 曲线,而不是单一数字。大家在选型压测时,是用框架自带的 benchmark 工具,还是自己写压测脚本?
广告广告位招商A10 · 帖子页正文下方通栏 · 760×90 · ¥300/月联系 ads@asibbs.com了解详情 →
登录 后参与回复,还没有账号?立即注册