跳到正文

AI Know · 技术研究笔记

批处理提升吞吐,但会推高尾延迟。

投机解码降低延迟,依赖草稿接受率;排队论揭示:高并发下尾延迟呈指数级放大;输入侧长度分布是决定系统上限的先天因素。

听书 00:00 / --:--
00

三分钟读懂

先看结论,再决定是否深读

  1. 批处理提升吞吐,但会推高尾延迟。
  2. 投机解码降低延迟,依赖草稿接受率。
  3. 排队论揭示:高并发下尾延迟呈指数级放大。
  4. 输入侧长度分布是决定系统上限的先天因素。
  5. 工程落地需在吞吐与延迟间建立动态平衡。
01 / DEEP DIVE

核心原理

在算力资源有限的背景下,推理服务始终面临吞吐量与延迟的根本性抉择。提升吞吐通常意味着要积攒更多请求进行批处理,这会直接导致排在后面的请求等待时间变长,尾延迟恶化。反之,为保证极致的低延迟,单个或小批量请求需要独占资源,吞吐量必然大幅下降。本文深入剖析批处理、投机解码与排队三种核心技术手段,探讨它们如何在同一张卡上争夺资源,以及各自的适用边界。

02 / DETAILS

技术细节

输入侧是延迟的先天决定因素。请求的到达模式与长度分布直接影响系统表现。平稳到达的泊松流可以通过弹性队列平滑处理,但真实流量往往是突发性的,瞬间涌入的请求量可能远超系统容量。此外,长尾输入分布意味着部分超长上下文请求会显著增加预填充阶段耗时,严重挤占解码阶段的算力资源。

推理/执行侧是三种机制交锋的核心地带。

批处理方面,连续批处理已成为主流方案。它将不同请求的预填充和解码阶段交织在一起,极大提升了 GPU 利用率。但批次越大,单个请求的平均等待时间越长。分页注意力机制通过优化显存碎片,允许更大的批次规模,但在极端负载下依然会触发排队。

投机解码方面,其核心思想是用一个小型草稿模型快速生成多个候选 token,再由大模型并行验证。理想情况下能显著降低解码延迟。然而,如果草稿模型质量差导致接受率低,不仅无法加速,反而会因为额外的验证计算拖垮系统。投机解码的收益高度依赖于任务类型与草稿模型的对齐程度。

排队方面,多级队列与抢占式调度是控制尾延迟的关键手段。通过将请求划分优先级,系统可在过载时优先保障关键任务的延迟,主动牺牲低优先级任务的吞吐。排队论模型显示,当系统利用率超过 80% 后,P99 延迟会急剧上升,这正是尾延迟失控的临界点。

输出/评测侧决定了如何判断系统表现。评测不能只看平均延迟,必须重点关注 P95 与 P99 尾延迟。同时要评估系统在突发流量下的稳定性。通过压测工具模拟真实流量曲线,观察系统在不同并发下的吞吐-延迟曲线拐点,是确定系统最佳工作点的唯一方法。

03 / IMPLEMENTATION

工程实践

第一,实施动态批处理调优。 不要使用固定的批次大小。应基于实时 P99 延迟监控,动态调整批处理窗口。当尾延迟接近 SLO 阈值时主动缩小批次,当负载较低时扩大批次以提高吞吐。让批处理规模成为延迟目标的函数,而非静态配置。

第二,按需启用投机解码。 为投机解码设置严格的启动条件。仅当草稿模型接受率稳定高于 0.6,且当前 GPU 利用率低于 60% 时启用。否则直接关闭,避免额外开销反噬系统整体性能。上线前必须进行接受率的 A/B 压测。

第三,实施分级队列与抢占机制。 对请求进行分类,为交互式请求设置独立队列和更高优先级。当高优先级队列堆积时,允许抢占低优先级请求的计算资源。同时设置请求超时与重试上限,防止长尾请求无限期占用队列。

05 / FAILURE MODES

风险边界

成本方面,投机解码需要额外加载草稿模型,占用显存并增加计算开销。若接受率不达标,单位有效算力成本将显著上升。批处理过大则可能导致显存溢出,需精确控制 KV Cache 水位线。

幻觉方面,高并发压力下系统可能简化质量控制流程。为降低延迟而关闭部分安全过滤或事实核查模块,会导致输出质量下降。过度优化的采样策略也可能降低输出多样性,加剧幻觉风险。

越权调用方面,排队与优先级机制若设计不当,可能引发资源争抢。低权限租户可能通过构造高流量请求耗尽队列,导致高权限租户服务不可用,形成拒绝服务攻击。必须在入口层实施租户级并发限制与配额管理。

长尾输入与延迟方面,长上下文请求在预填充阶段占用大量算力。高并发场景下这类请求会显著推高 P99 延迟。系统需在入口层对超长请求进行限制或隔离,防止少量长尾请求拖垮整体服务稳定性。

完整信源

事实从哪里来