工具 · 第 2026-08-17

一个集群多出 33 个点的利用率:变的只是分配顺序

Dharma-AI 做了一个带约束的 GPU 分配器,在七个基准场景里对上 FIFO 调度:硬件不变、负载不变,利用率最多多出 33 个百分点,按优先级加权的产出在每一个场景里都上升,最多翻倍还多。变的只有一件事——分配决定是按什么顺序做出来的。它同时把一个常被当作口号的目标翻译成了可执行的形式:不是「让 GPU 忙起来」,而是哪块卡在哪个时间片跑哪个任务、按什么优先级。

Hugging Face Blog2026-08-17值得跟踪

基础信息较完整,适合持续跟踪并等待更多验证。

推理与部署可观测性产品策略

记录

信号正文

先把决定说清楚

「让 GPU 忙起来」不是一个系统能执行的决定。真正的决定窄得多也难得多:哪块 GPU、在哪个时间片、跑哪个任务、按什么优先级。

形式化之后,它是每个「GPU × 任务 × 时间片」组合上的一个二元选择,输出是一张网格——每块卡在整个调度窗口里的每一格,要么写着一个任务名,要么空着。

四类负载争抢这张网格:训练、实时推理、批量推理、量化。它们分成两种互不相容的形状

  • 块状(训练、批量推理、量化):一旦开始,就要占住一整块连续的 GPU,中途不能被打断,直到跑完。
  • 弹性(实时推理):跟着每个时间片都在变的需求曲线增减。

两种形状在同一个时间片争同一批硬件,才是这个问题真正难的地方。而同一类里还有第二层异质性:同一个基础模型,训练任务可以从几小时到好几天,从一块卡到几十块。

FIFO 在争抢下要付两笔钱

对照组是一个 FIFO 调度器:实时推理由固定预留供给,其余任务按到达顺序摆放,不看优先级。集群有余量时这是合理策略——怎么排都放得下,顺序不花钱。争抢是让顺序成本从隐形变成实打实容量损失的那个条件。

第一笔是预留。 实时推理等不了,流量来的时候卡必须在。按到达顺序摆放的调度器没有「低谷时释放、峰值前收回」的机制,于是保证可用性的唯一办法,就是取每个实时应用当天的最大需求,把那么多卡包上一整天。代价落在所有非峰值的小时里:一个中午要 6 块、凌晨 4 点只要 2 块的应用,会把 6 块占满 24 小时,那 4 块闲卡对任何批处理任务都不可用——它们既没有在被使用,也不是空闲的。 这也是为什么两个由预留主导的场景里,基线只有 51.6%(混合对照)和 53.6%(训练密集):大约半个池子,而闲着的那一半多数是被预留掉的。这笔钱不管争不争抢都要付,争抢只是让它显形。

第二笔是顺序。 真正争抢时,哪些任务放得下取决于你按什么次序放,而不只是取决于还剩多少容量。原文这句值得抄下来:顺序不是容量问题定了之后用来打破平局的东西,顺序本身就是一个容量决定。FIFO 按到达先后摆放,既不衡量任务值多少,也不检查窗口里还有什么必须放进来,于是高优先级的工作排在先来的后面,容量被提交给了后来者用不上的摆法。

两笔钱会叠加:为当天峰值包下的那一块,对队列里每一个批处理任务、在每一个小时都是不可用的;剩下的部分再按请求碰巧到达的顺序发出去。

结果

在五个为真实争抢构造的基准场景里,分配器两个指标同时改善

  1. 利用率从 52%–85% 的区间移到 72%–88%
  2. 优先级加权价值上升 24.6% 到 105.1%,平均 52%
  3. 每个场景、两个指标都改善,没有需要解释的取舍。

最强的单个案例是 8 块卡上的训练密集负载:利用率 53.6% → 87.0%,价值涨了 105%。三十三个百分点,从一笔已经在折旧的固定资产上取回来——靠的是把预留的待机容量收回,再把其余部分按优先级摆放。

这条信号的边界

  • 全部增益都是相对同一场景下的 FIFO 结果表述的:利用率用百分点,价值用优先级加权产出的百分比增幅。换一个对照基线,数字就不是这个。
  • 原文自己标注:最强那个案例的图反映的是单一基线排序
  • 原文有一节标题就叫「需求数字错了的话,这些全都不成立」——这个方法的输入是预测,而预测会错
  • 场景是为争抢构造的。集群有余量时,作者明确说 FIFO 与更复杂的策略填充同样的比例,这套东西在你的集群上值多少,取决于你是否真的在争抢

为什么是现在

为什么重要

把利用率当目标是个陷阱:忙起来不等于产出更有价值。这篇给出的判据是「顺序本身就是一个容量决定」——在有争抢的集群里,哪些任务放得下取决于你按什么次序放,而不只是取决于总量。这让一笔已经在折旧的固定资产有了不换硬件就能取回的部分。

背景

技术背景

四类负载争抢同一批卡:训练、实时推理、批量推理、量化。它们分成两种互不相容的分配形状——训练、批量推理和量化是块状的,一旦开始就要占住一整块连续的 GPU 直到跑完;实时推理相反,是弹性的,跟着每个时间片都在变的需求曲线增减。两种形状在同一个时间片争同一批硬件,才是这个问题真正难的地方。形式化之后,它是每个「GPU × 任务 × 时间片」组合上的一个二元选择,输出是一张网格:每块卡在整个调度窗口里的每一格,要么写着一个任务名,要么空着。

按你的水平解读

让 AI 按你的水平解读这个信号

选择你的经验水平,AI 会现场生成一份为这个水平定制的解读。

关注人群

谁该关注

自托管推理或训练集群、且已经在为算力排队的团队需要向上解释「买更多卡」之外还有什么选项的技术负责人把实时推理和批处理混跑在同一批卡上的平台工程师
可能影响的领域
集群调度推理成本容量规划

下一步

学习路径

  1. 先把决定写清楚:不是「让 GPU 忙起来」,而是哪块卡、哪个时间片、跑哪个任务、什么优先级
  2. 算一次预留成本:把实时应用当天的峰值需求包一整天,非峰值那些小时的空卡既没被用也不是空闲的
  3. 读《推理服务容量规划》:这条把「撑得住多少」推进到「同样的硬件能不能重新排一遍」
  4. 读《系统设计的权衡》:利用率与优先级加权产出是两个目标,这篇的说法是两者可以同时改善
  5. 先核对需求数字——原文自己说,需求估错的话后面全都不成立

怎么学起

让 AI 生成一条学习路径

基于本页的相关知识和相关技能,AI 会现场生成一条从基础到应用的学习路径。

关系网络

在技术网络中的位置

当前技术与相邻技术、技能和背景知识的连接,点击节点可继续探索。

技术对比

对比另一项技术

选择另一项已发布技术,让 AI 现场生成一份相似点、差异点和适用场景的对比。

延伸思考

后续问题

  • 你的集群里有多少卡是为峰值预留、却在多数小时里闲置的?
  • 这七个场景是为争抢构造的,你的负载真的处在争抢状态吗?
  • 把顺序作为容量决定之后,谁来定优先级、按什么标准?

来源参考

Hugging Face Blog

Dharma-AI创业公司2026-08-17
打开原始来源https://hf-mirror.com/blog/Dharma-AI/gpu-management-pt2