SageSched: Efficient LLM Scheduling Confronting Demand Uncertainty and Hybridity

SageSched 是一种高效的 LLM 调度器,它通过结合提示内容与历史结果来预测输出长度分布,并综合考虑计算与内存成本,利用不确定性感知策略在需求不确定和混合负载场景下实现了超过 28.7% 的效率提升。

Zhenghao Gan, Yichen Bao, Yifei Liu, Chen Chen, Quan Chen, Minyi Guo

发布于 Tue, 10 Ma
📖 1 分钟阅读☕ 轻松阅读

Each language version is independently generated for its own context, not a direct translation.

这篇论文介绍了一个名为 SageSched 的新系统,它的任务是让大型语言模型(LLM,比如我们聊天用的 AI)在同时处理大量请求时,运行得更快、更顺畅。

为了让你轻松理解,我们可以把 AI 服务器 想象成一家繁忙的“魔法面包店”,而 AI 模型 就是面包师

1. 面包店遇到了什么麻烦?(核心问题)

这家面包店现在生意太火爆了,但有两个大难题:

  • 难题一:不知道要烤多久(需求的不确定性)

    • 现状:顾客(用户)点单时,只说“我要一个面包”,但没说具体要多大。面包师开始烤了,可能烤 3 分钟就出炉,也可能烤了 30 分钟还在烤。
    • 后果:传统的排队系统(比如“先来先服务”)不管这个。如果第一个顾客点了一个巨无霸面包,后面排队的 10 个只想吃小面包的顾客都得干等着,大家都急得跳脚。
    • 比喻:就像你在餐厅点菜,前面的人点了个需要炖 3 小时的佛跳墙,后面点炒青菜的人只能饿着肚子等,这体验太糟糕了。
  • 难题二:既要火又要锅(资源的混合性)

    • 现状:烤面包不仅需要(计算能力,GPU 算力),还需要大烤盘(显存,KVCache)。
    • 后果:以前的系统只关心“火”够不够大,却忽略了“烤盘”够不够大。有时候,一个面包虽然烤得快(火够大),但它占用了巨大的烤盘,导致后面很多小面包根本放不进去。
    • 比喻:就像出租车调度,以前只考虑“司机开得快不快”,却不管“车座够不够坐”。如果一辆大车只坐一个人,后面很多想拼车的人就坐不上了。

2. SageSched 是怎么解决的?(三大法宝)

SageSched 就像给面包店请了一位超级聪明的店长,他有三招绝活:

第一招:看人下菜碟的“预言家”(语义感知历史预测)

  • 传统做法:请一个专门的“算命先生”(复杂的 AI 模型)来猜面包要烤多久。这太慢了,而且算得不准,换个面包师(模型)还得重新请人。
  • SageSched 的做法:店长翻开过去的账本
    • 他发现:“哦,刚才那个顾客问‘写一首关于春天的诗’,烤了 5 分钟;现在这个顾客也问‘写一首关于春天的诗’,那大概率也要 5 分钟。”
    • 他不仅猜时间,还能猜出时间的范围(比如:有 80% 概率是 4-6 分钟,20% 概率是 10 分钟)。
    • 比喻:就像老练的厨师,不用拿计算器,看一眼菜单就知道这道菜大概要多久,而且心里清楚这道菜可能快也可能慢,留有余地。

第二招:算总账的“精算师”(基于资源边界的成本建模)

  • 传统做法:只算“烤了多久”(计算时间)。
  • SageSched 的做法:店长会算一笔总账烤的时间 + 占用的烤盘大小
    • 如果一个面包烤得很快,但占用了整个大烤盘,导致后面 10 个小面包没地方放,那这个面包的“真实成本”其实很高。
    • 他建立了一个统一的公式,把“火”和“锅”的消耗都算进去,给每个订单打个真实分数
    • 比喻:就像打车软件,不仅看路程长短,还看这辆车是不是把整条路都堵死了。如果一辆大车只坐一个人却堵了路,它的“打车成本”其实比坐满人的小车要高。

第三招:会变通的“调度大师”(不确定性感知调度)

  • 传统做法:谁时间短谁先上(最短作业优先)。但这有个问题:如果两个面包,一个确定烤 5 分钟,另一个不确定(可能 1 分钟,也可能 100 分钟),选哪个?
  • SageSched 的做法:使用一种叫 Gittins 指数 的数学魔法。
    • 它不只看“平均时间”,而是看“谁最有可能马上做完”。
    • 它还会动态调整:如果一个正在烤的面包突然变慢了,店长会立刻重新计算它的优先级,把它插队或者换位置,确保大家都能尽快吃上。
    • 比喻:就像机场安检,如果前面那个人证件齐全但动作慢,后面有个证件不全但马上能补好的,聪明的安检员会灵活处理,让整体队伍流动得最快,而不是死板地按顺序来。

3. 效果如何?

经过在真实服务器上的测试,SageSched 就像给面包店装上了涡轮增压:

  • 效率提升:相比目前最先进的系统,它让所有顾客平均等待时间缩短了 28.7%
  • 更稳定:即使面对各种奇怪的订单(有的长、有的短、有的占地方),它也能保持队伍不乱。

总结

SageSched 就是一个懂历史、会算账、能变通的 AI 调度员。它不再盲目地让 AI 模型排队,而是通过参考历史经验计算真实资源消耗、以及灵活调整顺序,让每一个 AI 请求都能以最快速度得到响应,极大地提升了我们使用 AI 时的体验。

简单来说,它让 AI 服务器从“死板的流水线”变成了“灵活的智能管家”。