把闲置推理算力变成更好的广告推荐

来自 Meta Engineering · 期号 2026-10-13

摘要

Meta 的推理集群存在一个矛盾:全局可能算力紧张,但局部总有闲置。 他们把分散的空闲算力聚合成一个共享池,用来做广告推荐。关键是用两个弹性杠杆来安全地吃掉这些算力:Rank More Ads(RMA)增加排序阶段评估的候选广告数量,Serve Better Models(SBM)把更多请求路由到更强的模型。 两个杠杆消耗不同的资源组合——RMA 需要 CPU 和加速器都有余量,SBM 只需要加速器。 安全性的核心是隔离:SBM 用物理隔离(独立副本),RMA 用逻辑隔离(全局预算)。PID 控制器和客户端协同调节工作量,当算力被突然回收时,服务器和客户端都会按价值优先丢弃低价值的可选工作,不让它挤占基线流量。 这套系统在不额外订购算力的前提下,让用户看到更相关的广告,也提升了广告主的效果。 原文是 Meta 工程博客,详细介绍了系统设计、两个杠杆的配合逻辑以及多层的保护机制。

深读

导读 Meta 的推理集群存在一个普遍矛盾:全局算力紧张,但局部总有闲置。这篇工程博客详细介绍了他们如何将这些分散的空闲算力聚合成一个共享池,用于提升广告推荐质量。核心是两套弹性杠杆——Rank More Ads(RMA)和 Serve Better Models(SBM)——以及一套多层保护机制,确保可选工作不会挤占基线流量。读完能带走一套在超大规模生产环境中安全利用“机会性算力”的系统设计思路。 关键信息 - 推理集群的闲置算力来自四种常见错配:峰值预配与需求波动、模型开发与算力交付的时间差、区域资源比例(CPU 与加速器)不匹配、加速器类型不兼容。 - RMA 利用空闲算力增加排序阶段评估的候选广告数量,需要 CPU 和加速器都有余量;SBM 将更多请求路由到更强模型,只需加速器余量。 - SBM 的隔离是物理的,基线模型和更强模型使用独立路由目标;RMA 的隔离是逻辑的,通过全局预算控制增量工作总量。 - PID 控制器根据观察到的尾延迟动态调整 RMA 的候选广告数量目标,客户端据此执行。 - 服务器端和客户端都实现了价值感知的负载丢弃机制,能在毫秒级响应算力被突然回收的情况,优先丢弃低价值的可选工作。 逐节讲解 推理集群的闲置算力从何而来 文章首先点明推理集群面临一个“容量悖论”:全局可能算力紧张,但局部总有闲置。原因有四种:峰值预配与需求波动不匹配(为高峰预配的算力在低谷闲置)、模型开发与算力交付的时间差(算力到了但模型还没准备好)、区域资源比例不匹配(CPU 和加速器比例不当导致一种资源闲置)、加速器类型不匹配(工作负载无法在不同代际或架构的加速器间随意迁移)。这些错配在 Meta 的规模下累积出可观的机会性算力。 两个互补的弹性杠杆:RMA 与 SBM 要安全利用这种易被回收、高度波动的算力,工作负载必须高度弹性、能持续提升质量、且跨服务依赖有限。Meta 识别出两个符合条件的杠杆。 Rank More Ads(RMA):广告推荐系统需要在不到一秒内从数百万候选广告中选出少数几个。RMA 在有机会性算力时增加排序阶段评估的候选数量,提高找到相关广告的概率。由于额外候选需要经过 CPU 密集的上游处理(检索、特征加工)和加速器密集的推理,RMA 通常需要 CPU 和加速器都有余量。 Serve Better Models(SBM):广告评估可以使用不同复杂度的模型。SBM 根据加速器算力变化,调整被更强模型评估的请求比例。它保持进入排序阶段的广告数量不变,因此上游 CPU 需求稳定,能消耗 RMA 无法利用的纯加速器余量。SBM 的模型路由器使用请求价值信号,优先将更强模型分配给预期收益最大的请求。 两个杠杆消耗不同的资源组合,合在一起能利用更广泛的机会性算力。系统会根据实测性能和资源需求,周期性地调整两者之间的分配。 安全机制:隔离、反馈与…

读原文

本站只做摘要与索引,全部内容版权归原作者所有。