vLLM AgentX 发布:优化现实世界中的智能体服务

TL;DR

vLLM 引入了一套协调的 KV 缓存、并行化和调度改进,将智能体服务的性能提升至每 GPU 秒 130K 个总 token,并在服务成本上相比 Opus 5 API 定价实现了 14.6×–106× 的优势。

智能体工作负载特征

  • 中位会话长度:43 轮。
  • 中位输入上下文:142K token;中位输出:444 token。
  • 前缀缓存命中率:>96%。
  • 44% 的会话包含子智能体,中位子智能体展开次数为 4 次。

这些数据来自 SemiAnalysis 的 AgentX 基准测试,该测试捕捉了现实世界中的代码助手调用轨迹。每轮都会将最新的工具结果追加到累积上下文中,因此输入不断增长,而仅新增一小段预填充内容,请求的大部分是之前已见过的前缀。

服务智能体的核心挑战

  1. 前缀缓存压力 – 每轮都重放完整对话,迫使频繁在 GPU 和副本之间进行 KV 缓存卸载。
  2. 执行效率 – 长上下文和严格的延迟 SLO 要求更高的每 token 吞吐量和更低的解码延迟。
  3. P/D 比例选择 – 不同的上下文长度和缓存命中率使得在并发场景下难以选择最优的预填充-解码(P/D)平衡。

全栈优化方法

vLLM 在三个层面(数据、执行、控制)解决了上述三个挑战。

数据平面 – 热的、靠近计算的 KV 缓存

混合 KV 缓存管理器

  • 使用统一的内存页作为所有注意力类型(完整、滑动窗口、线性)的分配单元。
  • 维护单一共享块池,支持根据并发性和前缀重用模式动态重新分配。
  • 用紧凑布局替代每类型碎片化分配(例如 DeepSeek V4 的 92 个张量),在启用 FP4 索引时减少约 10% 的填充和 P/D 传输开销。

分层 KV 缓存卸载

  • 集成 Mooncake Store 作为具有 CPU 内存和磁盘层级的分布式 KV 缓存池。
  • 支持稀疏、压缩和线性注意力的模型对齐。
  • 实现两种保留策略以保持高命中率前缀:
    1. 基于时间间隔的保留 – 每轮保存提示结尾的缓存。
    2. Marconi 风格的选择性保留 – 当某个前缀第二次被观察到时保存检查点。
  • 优化(PR #46188, #45444, #45659, #47317)降低了 CPU 查找成本,并将工作移出调度器的关键路径。

执行平面 – 更快的 token 生成

模型特定的并行化

  • Kimi K3 – 使用 解码上下文并行(DCP) 而非张量并行。DCP 沿序列维度切分 KV,降低解码延迟并提升 KV 容量。对称内存缓冲区融合查询收集和部分输出归约,将每层延迟降低约 13%。
  • DeepSeek V4 – 预填充上下文并行(PCP)在长提示(32K 提示)上优于 TP(提速 2.65×)。对于混合工作负载,数据+专家并行(DEP)为默认配置,因为 DCP 通信开销过大。

混合流量调度

  • 队首阻塞缓解--long-prefill-token-threshold 限制每步 token 数量(例如 512),使短缓存轮次可与长预填充交错,总 token 数每 GPU 秒提升高达 93%,P90 交互性提升约 2.3×。
  • DEP 预填充节奏对齐--prefill-schedule-interval 将预填充在不同 rank 上对齐到相同的引擎步骤,释放中间步骤用于纯解码,减少锁步停顿。

控制平面 – 最优的 P/D 解耦

  • 阶段 1:饱和度分析 – 在不同并行策略和 GPU 数量下基准测试仅预填充和仅解码配置,获取最大每秒请求数限制。
  • 阶段 2:P/D 扫描 – 结合最佳预填充和解码配置,调整 P/D 比例,测量完整部署下的延迟-成本权衡。

开源内核贡献

  • MiniMax M3 – CuteDSL 长上下文索引器(延迟提升 +3%–31%),MSA top-k 路径(最坏情况提速高达 4×),推测性验证路径(解码吞吐提升 +20%)。
  • Kimi K3 – GEMM 与 reduce-scatter 融合,潜在尾部 MoE 融合(延迟降低约 5%)。
  • DeepSeek V4 – MXFP4 MoE 和 HCA 压缩改进,多流 C4A,基于集群的 top-k。

所有补丁均可在 vLLM 仓库中公开获取。

AgentX 上的性能结果

模型 GPU / 并发数 每 GPU 秒总 token 数(TPGS)@ P90 > 50 tok/s P90 交互性
DeepSeek V4 Pro 1.6T 12 GB300 GPU / 256 83K 58.3 tok/s
MiniMax M3 428B 2 B300 GPU / 24 70K 74.2 tok/s
Kimi K3 2.8T 16 GB300 GPU / 48 11.8K 62.7 tok/s

与 Opus 5 的成本对比(保守缓存命中假设):

模型 GPU TCO / 小时 等效 Opus 5 成本 / 小时 成本优势
DeepSeek V4 Pro $27.72 $2,926 106×
MiniMax M3 $4.52 $384 85×
Kimi K3 $36.96 $538 14.6×

优势源于 >96% 的前缀缓存重用,将缓存 token 转化为所有三个模型中的低成本计算。

经验教训(“苦涩”的那些)

  • 流水线并行 适用于冷启动、长预填充,但在热启动、前缀密集的轮次中会引入气泡;不应作为智能体流量的默认策略。
  • DCP 无法泛化 到具有复杂稀疏注意力堆栈的模型(例如 DeepSeek V4);并行化必须匹配模型架构。
  • 仅负载均衡不足 – 会话感知的粘性路由可保持缓存局部性,优于激进的队列深度均衡,尤其在短轮次延迟场景下表现更优。

未来路线图

  • 控制平面路由 – 将首轮(长新预填充)与后续轮次(高缓存重用)分离,避免队首阻塞。
  • 智能体提示 API – 接收关于会话结构、工具调用延迟和分支点的元数据,以指导调度和缓存驱逐。
  • 可编程 KV 缓存 – 提供自定义预取、驱逐和软固定策略的接口。
  • 基于会话的 KV 迁移 – 在轮次间空闲时间将 KV 状态预取到下一个工作节点,隐藏传输延迟。

致谢

本工作由 Inferact 主导,vLLM 社区、SemiAnalysis(基准设计与基础设施)、以及硬件合作伙伴 NVIDIA 和 AMD 均作出了广泛贡献。

Sources