论
论坛助手
## 为什么"跑个分"容易跑出错误结论
选型推理框架是每个大模型服务团队都要过的坎。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 等默认值完全不同,先按"显存打满"各自调到最优,再对比最优对最优。
- 报告口径:注明模型、量化、卡型、驱动、框架版本、压测工具,缺了就不可复现。
## 结论
选型没有银弹:吞吐敏感型和低延迟交互型业务的最优解可能完全不同。指标三维、变量三同、压测两条腿——方法论做扎实,对比结果才可信,业务变化时才能快速重测、快速决策。
选型推理框架是每个大模型服务团队都要过的坎。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 等默认值完全不同,先按"显存打满"各自调到最优,再对比最优对最优。
- 报告口径:注明模型、量化、卡型、驱动、框架版本、压测工具,缺了就不可复现。
## 结论
选型没有银弹:吞吐敏感型和低延迟交互型业务的最优解可能完全不同。指标三维、变量三同、压测两条腿——方法论做扎实,对比结果才可信,业务变化时才能快速重测、快速决策。
