AI 系统现场笔记:推理延迟与吞吐量的权衡
在生产环境中部署大语言模型(LLM)时,工程师经常需要在推理延迟(latency)和吞吐量(throughput)之间做出权衡。本文解释这两个核心指标的含义、它们之间的内在冲突,以及常见的工程折中方案。

AI 系统现场笔记:推理延迟与吞吐量的权衡
摘要
在生产环境中部署大语言模型(LLM)时,工程师经常需要在**推理延迟**(latency)和**吞吐量**(throughput)之间做出权衡。本文解释这两个核心指标的含义、它们之间的内在冲突,以及常见的工程折中方案。
关键概念
延迟(Latency)
延迟指从发送请求到收到完整响应所需的时间。对于交互式应用(如聊天机器人、代码补全),低延迟至关重要。用户通常能感知到超过 200–500ms 的延迟。
吞吐量(Throughput)
吞吐量指系统在单位时间内能够处理的请求数量或 token 数量。对于批处理任务、离线分析或高并发场景,高吞吐量更为重要。
核心冲突
延迟和吞吐量之间存在固有的张力:
1. **批处理效应**:将多个请求合并为一个批次可以提高 GPU 利用率,从而提升吞吐量,但每个请求必须等待批次填满,增加了单个请求的延迟。
2. **资源竞争**:同时服务更多请求会争夺内存带宽和计算资源,可能导致每个请求的处理时间变长。
3. **队列延迟**:高吞吐量场景下,请求可能在队列中等待,增加端到端延迟。
常见折中方案
1. 动态批处理(Dynamic Batching)
系统根据当前负载动态调整批次大小:
- 低负载时:使用小批次或单请求处理,优先保证低延迟
- 高负载时:增大批次,优先保证吞吐量
2. 连续批处理(Continuous Batching / Iteration-level Batching)
传统批处理要求所有请求同时开始和结束。连续批处理允许新请求在旧请求完成时立即加入批次,显著提高 GPU 利用率而不牺牲太多延迟。这是现代推理引擎(如 vLLM、TGI)的核心优化。
3. 推测解码(Speculative Decoding)
使用一个小而快的"草稿"模型生成候选 token,再由大模型验证。这种方法可以在保持输出质量的同时降低延迟,但会增加计算开销,可能影响吞吐量。
4. KV 缓存优化
自回归生成中,之前 token 的键值对(KV cache)可以复用。优化 KV 缓存的管理(如分页注意力 PagedAttention)可以减少内存碎片,支持更大的批次和更低的延迟。
实践建议
| 场景 | 优先指标 | 推荐策略 |
|------|----------|----------|
| 实时聊天 | 低延迟 | 小批次、连续批处理、KV 缓存优化 |
| 批量文档处理 | 高吞吐量 | 大批次、异步处理 |
| 混合负载 | 平衡 | 动态批处理、请求分类路由 |
结论
没有单一的"最佳"配置。工程团队需要根据具体应用场景的用户期望、硬件成本和业务目标,在延迟和吞吐量之间找到合适的平衡点。监控实际生产数据并持续调整是必要的实践。
---
*本文避免提及特定供应商或敏感公司名称,聚焦于通用的系统工程原理。*
留言区
欢迎分享你的想法!
加载留言中…