← 最新论文
💻 computer science

Load Testing for Machine Learning Model Serving Systems at Scale

本文介绍了 \sys,这是一个工业级负载测试框架,它采用一种自适应、反馈驱动的搜索策略来系统地估计机器学习推理系统的 GPU 容量,并通过 14 个案例研究证明,它通过减少估计误差和防止 SLO 违规,显著提高了资源效率和运维可靠性。

原作者: Amr S. Abdelfattah, Nakul Tirumalai, Indu Mohanan, Xiao Li, Pengchao Wang, Dinakar Dhurjati, Eric Sung

发布于 2026-06-23
📖 1 分钟阅读☕ 轻松阅读

原作者: Amr S. Abdelfattah, Nakul Tirumalai, Indu Mohanan, Xiao Li, Pengchao Wang, Dinakar Dhurjati, Eric Sung

原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明

想象一下,你是这家规模宏大、高科技餐厅的经理。这家厨房并不烹饪食物,而是利用强大的图形处理器(GPU)每秒处理数百万个复杂的数学问题,以运行人工智能(AI)模型。

最大的问题在于?你并不确切知道需要雇佣多少名厨师(GPU 资源)。

  • 如果你雇佣得太少,厨房就会不堪重负,订单会被延迟,客户会感到愤怒(这被称为违反“服务水平目标”或 SLO)。
  • 如果你雇佣得太多,你就是在为空置的椅子和闲置的厨师买单,造成巨大的资金和能源浪费。

长期以来,确定合适的人数一直是一场靠猜测的游戏。这篇论文介绍了一个名为 Vanguard 的新系统,它就像一个超级智能的“压力测试”经理,旨在找到最完美的厨师人数。

以下是 Vanguard 的工作原理,通过简单的类比进行解释:

1. 旧工具的问题

标准的压力测试工具(如 JMeter 或 k6)就像通用的健身教练。它们非常擅长测试在跑步机上跑步的人类,但不了解 AI 厨房的特性。

  • “预热”问题: 当你启动一个高性能 GPU 时,它就像一台赛车引擎。它需要几分钟时间来加热、缓存部件并进入状态。如果你立即进行测试,它看起来会很缓慢且迟钝。旧工具认为引擎坏了;而 Vanguard 知道要等待引擎预热完成后再判断其速度。
  • “批处理”问题: AI 系统通常会将请求分组在一起(就像一辆巴士接载乘客)以提高效率。如果巴士是半空的,它很快;如果满了,它可能会变慢。这种关系不是一条直线,而是一条曲线。旧工具假设是直线;Vanguard 理解曲线。
  • “硬件”问题: 一个模型在一种类型的 GPU 上运行完美,但在另一种 GPU 上可能会遇到困难。Vanguard 测试的是你实际使用的特定硬件。

2. Vanguard 如何工作:“智能搜索”

Vanguard 不仅仅是猜测一个数字并寄希望于好运,它使用的是一种反馈驱动的搜索策略。这就像是通过调节收音机来寻找最清晰的电台。

  • 自适应搜索: Vanguard 从较低的请求量开始。它会慢慢调高“音量”(增加请求量)。
  • 阻尼作用(减震器): 当接近系统可能崩溃的极限时,它会放慢步伐。它不会猛踩刹车,而是会轻轻地减速,以避免冲过头。
  • 峰值容忍度(忽略噪音): 有时,系统会出现微小的、瞬间的波动(“峰值”)。一个愚笨的系统可能会因此恐慌并停止测试。Vanguard 会忽略这些微小的波动,因为它知道这些只是噪音,它会继续测试,直到看到真正的、持续性的问题。
  • 收敛(知道何时停止): 它会持续测试,直到确定已经找到了“甜点”(sweet spot)——即系统在不破坏对用户承诺的前提下,所能处理的最大请求量。

3. “健康检查”引擎

Vanguard 不仅仅观察一个数字(如速度)。它观察的是一个类似于医生检查病人的“生命体征仪表盘”。

  • 它检查系统是否健康(有充足的呼吸空间)。
  • 它检查是否处于警告状态(接近极限)。
  • 它检查是否处于临界状态(即将崩溃)。
  • 为了避免误报(例如心率监测仪出现故障),它使用了一种“滞后”(hysteresis)规则:系统必须在“警告”状态下持续几分钟,系统才会正式宣布遇到了麻烦。这防止了因临时故障而引发的恐慌。

4. 他们的发现(结果)

团队在 Meta 的 14 种不同 AI 模型(如推荐引擎、图像识别器和文本生成器)上测试了 Vanguard。以下是他们的收获:

  • 真实流量才是王道: 人们犯下的最大错误就是使用虚假的、伪造的数据进行测试。研究发现,使用记录的真实世界流量(重放实际的用户请求)可以将错误率从 30% 降低到仅 2–6%。这就像是在平坦的赛道上测试汽车,与在汽车实际行驶的颠簸道路上测试汽车之间的区别。
  • 预热至关重要: 忽略“预热”阶段会导致预测出现 22% 的误差。你不能在转动钥匙的瞬间就去判断汽车的最高时速。
  • “拥挤房间”效应: 当多个模型共享同一个 GPU(同址部署/co-location)时,它们会互相干扰,就像人们在拥挤的房间里互相说话一样。这是一个难以预测的主要误差来源。
  • 准确性: 在所有设置正确的情况下,Vanguard 预测容量的准确率达到了 94%
  • 现实世界的影响: 通过使用 Vanguard,该公司能够将不同模型的 GPU 资源浪费减少 15% 到 83%,并显著减少了因人员配置不足导致的服务崩溃次数。

5. 总结

论文得出结论,你不能仅仅使用通用的工具来测试 AI。你需要一种能够理解以下内容的专门方法:

  1. 预热: 在测试前让系统热起来。
  2. 真实数据: 使用真实流量进行测试,而不是伪造数据。
  3. 智能耐心: 不要因为微小的故障而恐慌;要观察持续性的趋势。

通过遵循这些规则,公司可以在保持服务快速可靠的同时,节省大量的硬件成本。

您所在领域的论文太多了?

获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。

试用 Digest →