跳到主内容
快讯直播
AI智模界
AI 词典

噪声邻居:你的推理延迟为什么忽高忽低

一句话定义:噪声邻居(Noisy Neighbor)指多个租户共享同一份计算资源时,其中一方的正常业务波动占满了共享瓶颈(显存带宽、缓存、网络、CPU 时间片),导致另一方的延迟出现无法解释的抖动和长尾;双方通常都不知情,也谈不上故障与恶意。

原理:平均延迟与 P99 的落差

很多人排障时只看平均值:平均延迟 40ms,看起来一切正常;可用户投诉不断,一看 P99 已经是 400ms。问题多半出在“共用”这件事上。

打个比方:你和邻居合租一套房,厨房、卫生间和水管都是公用的。你早上刷牙时水压突然变小,只因隔壁开了洗衣机。隔壁没做错什么,他也不知道你在刷牙,但你的体验实实在在地变差了。噪声邻居就是同一个道理,只是场景换成了同一张 GPU 卡或同一个宿主机。

AI 基础设施里,算力相对好切分,但共享的“水管”很难切:显存带宽、L2 缓存、PCIe 通道、内存控制器、网卡队列都由多个任务共用。当邻居的任务恰好在一瞬间申请大量高带宽操作(比如做一次大 batch 的 prefill、拷贝权重、写日志到本地盘),你的 kernel 拿不到足够的带宽,就得排队。排队论告诉我们:资源利用率越高,排队延迟呈非线性增长——95% 的利用率下,延迟可能翻好几倍。这就是“忽高忽低”的来源:抖动不出在均值上,而是出在长尾上。

它和相邻概念的区别值得说清:

  • 资源超卖(overcommit):平台主动把 1 张卡卖给 3 个人,是策略选择;噪声邻居是策略之下必然出现的副作用。
  • 恶意攻击:邻居是有意为之,比如挖矿、刷接口;噪声邻居是无意的正常波动。
  • 硬件故障:故障会持续恶化且可复现;噪声邻居往往随邻居的流量曲线起落,白天明显、夜里消失。

几种常见的共享与隔离方式

共享方式隔离了什么噪声邻居风险
时间片轮转只隔离执行时间,任务不并行显存、带宽仍可能互相影响,切换有开销
多进程共享(如 MPS 类机制)让多任务真正并发使用 GPU缓存与带宽竞争最明显,尾部延迟容易劣化
硬件分区(如 MIG 类机制)显存与计算单元物理切分风险显著降低,但分区粒度与弹性受限制
整卡独占全部资源归一方基本无此问题,成本最高

具体型号是否支持、支持到什么粒度,以各厂商官方页面为准。

对从业者的实际意义

做推理服务,SLO 要盯 P95、P99 而不是均值,均值会掩盖一切;上量前在“共置”环境做压测,别在独占卡上测完就发布;对延迟敏感的业务优先选硬件分区或独占;做容量规划时给利用率留出余量,别逼近 100%;至少能让指标带上“同卡邻居”的维度,否则你永远分不清变慢是模型的问题还是隔壁的问题。

噪音邻居不可怕,可怕的是它不会出现在你的监控面板上。

AI 生成本文由 AI 基于公开信息自动生成,仅供参考。