跳转至

HyGen: Efficient LLM Serving via Elastic Online-Offline Request Co-location

会议: NeurIPS 2025
arXiv: 2501.14808
代码: https://github.com/UIUC-MLSys/HyGen
领域: LLM推理系统、资源调度
关键词: 在线-离线共置、延迟预测、SLO保证、吞吐优化

一句话总结

HyGen是干扰感知LLM推理系统,通过延迟预测和虚拟队列调度实现在线离线工作负载的弹性共置,保证SLO同时获得3.87-5.84倍吞吐改进。

研究背景与动机

LLM服务面临资源利用效率与SLO保障的矛盾: - 在线请求(聊天、代码生成)需低延迟,要求预留峰值容量 - 离线任务(数据合成、批处理)追求吞吐,对延迟容忍高 - 实际负载具有高度时变性(分钟级3倍波动)

现有方案通常为每类工作负载专属集群,导致离峰严重低效。本工作提出在同一实例共置的可行性和系统设计。

方法详解

整体框架

两阶段调度: 1. 在线阶段:FCFS或公平性策略,形成初始批次 2. 离线阶段:利用残余容量最大化离线吞吐,同时保证在线SLO

关键创新: - 延迟预测器:精确估计批次执行时间 - 干扰感知分析:量化共置的延迟代价 - SLO感知调度:虚拟队列保证长期SLA compliance

关键设计

1. 延迟预测器 模型化批次执行时间: $\(T_{batch} = f(S_p, S_d, S_p^2, S_d^2, N_p, N_d)\)$

其中S_p/S_d为prefill/decode令牌总数,N_p/N_d为请求数。线性回归因特征简单、快速。

2. SLO感知性能分析 - 建立潜在预算范围内的可行SLO - 二分搜索确定满足SLO的上限延迟预算 - 运行时使用该预算进行请求决策

3. 前缀共享最大化(PSM)策略 - 构造Trie树用离线请求编码共享前缀结构 - DFS遍历优先处理前缀重叠大的请求对 - 扩展:融合新鲜度因子防止请求饥饿

实验关键数据

基准 方法 TTFT(ms) TBT(ms) P99 TBT(ms) 吞吐(TPS) 相对收益
Azure Sarathi 125 85 310 285 -
- HyGen* 135 88 325 520 1.82×
- HyGen 132 87 308 1100 3.86×
Mooncake HyGen 118 79 295 950 3.33×

延迟预测准确性: - Llama2-7B:平均绝对百分比误差 1.78% - Qwen-14B:平均绝对百分比误差 1.07% - 前缀共享收益:4倍吞吐改进(仿真)

多SLO同时保证: - P99 TTFT固定8% vs Mean TBT 10-50%:有效权衡 - 大多数约束由较严格SLO主导,自动满足松散约束

亮点与洞察

  1. 实用化的干扰管理
  2. 精细的批次级延迟预测(错误<2%)
  3. SLO感知的调度,避免保守过度配置

  4. 虚拟队列框架借鉴:应用Lyapunov drift理论,保证长期SLA compliance而非逐请求

  5. 前缀共享与SLO结合:创新地将cache优化与SLO调度统一,相比固定离线QPS获额外收益

  6. 生产痕迹验证:采用3个真实服务(Azure、Mooncake、OpenAI风格),提升可信度

  7. 跨硬件通用性:从A100到A5000,吞吐收益2-5倍,参数迁移容易

局限性

  1. 张量并行下的观察局限
  2. 宽模型更易扩展 → 会偏向优化这类架构
  3. 管道并行、序列并行下表现未知

  4. 探索空间有限

  5. 固定chunk大小、批大小
  6. 未探索动态调整这些参数的潜力

  7. 故障恢复与状态管理

  8. 保存预empt请求状态的成本未详细分析
  9. 不同preempt策略(discard vs preserve)的权衡粗略

  10. 离线请求队列假设

  11. 离线请求提前知晓和排队
  12. 真实场景可能更复杂(流式、实时优先级变化)

相关工作

  • LLM推理优化:Sarathi、SGLang、vLLM
  • 工作负载共置:OLPart、PARTIES、MuxServe
  • 检索增强:Prefix Caching、KV-Cache优化

评分

⭐⭐⭐⭐⭐ (5/5)