【论文分享】ServeGen:生产环境下大模型推理负载,远比你想的复杂

今天跟大家分享一篇由北大金鑫团队与阿里云翟恩南团队联合发表于 NSDI '26 的论文:《ServeGen: Workload Characterization and Generation of Large Language Model Serving in Production》。

这篇文章分为两部分:大模型推理服务负载特征分析和生成框架。今天我们重点聊聊第一部分——真实世界的推理负载,到底长什么样?

数据来源:足够真实,足够庞大

4 个月、12 种模型、数十亿次请求,ServeGen 在阿里巴巴百炼平台上采集的庞大且真实的数据,系统性地量化并揭示了这种“真实世界的动态性”。

图 1

真实世界的推理负载在关注什么?

论文主要从四个维度拆解了真实推理服务的负载特征,每一个发现都值得细品。

一、请求到达模式(Arrival Pattern):不是 Poisson,是 Burst!

论文基于三种 Qwen 模型的数据分析后发现:请求到达并不是 Poisson 的,即具有明显的突发性。

这里用一个指标来衡量——CV(Coefficient of Variation),定义为标准差/平均值,用于衡量波动程度。当 CV 值大于 1 时,即表明请求并不是均匀到来。

图 2

真实的请求到达模式呈现的是:平静、平静、突然爆发、再平静......这种 burst pattern 对推理系统的影响极大。Batching 系统最怕瞬时大量请求,这会带来一系列连锁反应:

  • queue 堆积
  • TTFT 爆炸
  • decode 被阻塞
  • KV cache 激增

反映到用户体验上,就是你刚才的提问被卡住了、失败了,或者弹出一句"服务器繁忙"。所以真实世界里只有:不断波动的瞬时负载。

二、Burstiness 本身是动态变化的!

这是论文里最有价值的发现之一。过去很多系统默认 burstiness 固定,但 ServeGen 发现:Burstiness 本身是动态变化的

图 3

论文展示了多个 workload 的真实情况:

  • 白天 burst、晚上稳定,甚至全天 burst;
  • Role-playing workload(聊天机器人)相对稳定(人类打字速度有限,调用频率更稳定);
  • API 类调用更容易出现批量提交、自动化任务触发等模式,因此更可能形成突发请求。

因此不应假设 workload 是静态的,而是动态适配 workload 的 burstiness。

三、输入输出长度的漂移

这是论文另一个极其重要的发现。很多系统默认:prompt length distribution 是固定的。但真实环境中,输入输出长度会随时间动态变化

ServeGen 的实测数据:

  • 输入长度变化最高可达:1.63×
  • 输出长度变化最高可达:1.46×

这意味着同一个模型,在不同时间段,系统负载完全不同:

  • 凌晨:短 prompt,长回答
  • 下午:长 prompt,短回答
  • 甚至输入增长时,输出可能下降

这会直接影响 Prefill / Decode 负载,改变系统瓶颈——某一时刻是 compute-bound,而另一时刻变成 memory-bound。这就是为什么很多优化实验效果好、上线就拉胯。

四、真正决定 workload 的,是 Top Clients

把 workload 拆成每个客户、应用、上游服务进行分析:2412 个 client 里,前 29 个贡献了近 90% 的请求。

图 4

【图 2 】中工作负载在周二晚上出现了暂时的峰值,这与【图 4】中客户端 A 的速率(突发性)在同一时间达到峰值相吻合。

真实世界的工作负载由异构客户端组成,其到达率存在偏差。顶级客户及其速率波动在很大程度上解释了工作负载模式的变化。

更关键的是:真实世界不是"随机系统",而是"客户叠加系统"。

单独观察每个 client 时它们很稳定——具有稳定的输入输出长度和突发性。但某个客户突然流量暴涨,会导致整个 workload 的统计特征都变了。

所以 workload 本质并不是随机噪声,而是多个稳定 client 的叠加。预测 top clients 就能在很大程度上预测整体的 workload。

这对推理系统意味着什么?

过去 serving 系统靠固定 batching、固定调度、固定参数优化,因为默认 workload 是静态的。

但 ServeGen 告诉我们:请求速率波动、burstiness 漂移、IO 长度变化、多模态请求改变负载结构——系统状态每时每刻都在变。

未来的大模型推理基础设施,正在从"静态优化"走向"动态优化":

  • 动态 batching
  • 动态调度
  • Prefill/Decode 解耦扩缩容

这些都将成为下一代推理系统的重要方向。

参考论文:《ServeGen: Workload Characterization and Generation of Large Language Model Serving in Production》

如果你也在做大模型推理相关的工作,强烈建议读一读原文,以上只是第一部分的负载分析,第二部分的生成框架同样精彩。