LLM 推理核心指标
在部署 LLM 应用时,“快”与“稳”需要被精确度量。不同的业务场景对性能的需求差异巨大:实时对话对首字延迟极为敏感,而离线批处理则更关注总耗时与吞吐量。本文将系统梳理 LLM 推理中的核心性能指标,帮助建立科学的评估体系。
1. 为什么需要精确的指标
- 实时对话(Chatbot):用户无法忍受长时间空白等待,首 Token 延迟(TTFT)至关重要。
- 离线摘要 / 批处理:用户不会实时等待,总耗时与吞吐量(Throughput)才是核心。
- 代码补全 / Agent 工作流:往往对端到端延迟(E2EL)和尾延迟(P99)有严格要求。
因此,必须依据业务场景选择合适的指标,而非盲目追求单一的 Token/s。
2. 延迟(Latency)
延迟衡量模型响应的时间长度,直接决定用户体验。
2.1 首 Token 延迟(Time to First Token,TTFT)
TTFT 指从请求发出到收到第一个输出 Token 的时间:
- 意义:用户感知的“响应灵敏度”。
- 建议目标:聊天场景下 TTFT 应低于 200 ms(极速)或 500 ms(流畅)。
- 瓶颈:主要来自 Prefill 阶段,即模型处理输入 Prompt 的计算耗时。
2.2 Token 生成时间(TPOT & ITL)
首个 Token 生成后,后续 Token 的输出速度决定阅读体验:
TPOT(Time Per Output Token):平均每生成一个 Token 所需时间。
ITL(Inter-Token Latency):两个连续输出 Token 之间的时间间隔。
为获得“跟手”的流畅感,通常建议 TPOT < 50–100 ms,即每秒生成 10–20 个 Token。
2.3 端到端延迟(End-to-End Latency,E2EL)
从发送请求到接收完整响应的总时长:
适用于非流式应用,如离线文章生成或批量代码补全。
2.4 长尾延迟:P99 vs Average
生产环境中,P99 延迟往往比平均值更能反映系统底线:
- Mean / Median:反映大多数用户体验。
- P99:最慢 1% 请求的体验。若 P99 显著高于均值,说明系统在高负载或长 Prompt 下存在抖动。
3. 吞吐量(Throughput)
吞吐量衡量单位时间内系统处理的工作量,直接关系到算力成本与并发能力。
3.1 每秒请求数(Requests per Second,RPS)
RPS 忽略了请求复杂度。处理 10 个“你好”与处理 10 篇论文摘要的算力消耗天差地别。
3.2 每秒 Token 数(Tokens per Second,TPS)
更细粒度的指标:
- Input TPS(Prefill):每秒处理的输入 Token 数。
- Output TPS(Decode):每秒生成的输出 Token 数。
场景差异:
- RAG / 文档分析:输入长、输出短,关注 Input TPS。
- 创意写作:输入短、输出长,关注 Output TPS。
4. 有效吞吐量(Goodput)
单纯追求高吞吐量可能导致延迟爆炸。Goodput 指在满足既定 SLA 前提下的最大吞吐量。
例如 SLA 要求 TTFT < 200 ms:
- 系统 A:TPS 1000,但 TTFT 普遍 500 ms → Goodput = 0。
- 系统 B:TPS 800,且 99% 请求 TTFT < 200 ms → Goodput = 800。
Goodput 是衡量商业化推理服务真实能力的黄金指标。
5. 延迟与吞吐量的权衡
在 GPU 算力与显存有限的情况下,二者通常互斥:
| 优化目标 | 典型手段 | 代价 | 适用场景 |
|---|---|---|---|
| 极致低延迟 | 小 Batch Size(如 1) | GPU 利用率低,单位成本高 | 高频交易、VIP 客服、实时语音 |
| 极致高吞吐 | 大 Batch Size(如 128+) | 排队增加,TTFT 变长 | 离线清洗、批量翻译、非实时分析 |
| 平衡态 | Continuous Batching | 系统复杂度增加 | 通用 Chatbot API |
6. 关键调节旋钮
要在延迟与吞吐之间找到平衡,可关注以下参数:
- Batch Size:批处理大小。
- 并行策略:张量并行(TP)、流水线并行(PP)。
- 量化精度:FP16 vs INT8 / FP8。
- KV Cache 策略:PagedAttention、Prefix Caching、Offloading 等。
总结
理解 TTFT、TPOT、RPS、TPS、Goodput 及其相互关系,是进行推理优化的第一步。建议结合业务场景制定测试标准:重首字延迟还是重总吞吐?重平均性能还是重尾延迟?只有明确 SLA,才能选出合适的优化路径。