Meta优化机器学习模型服务基础设施的关键举措
Meta(前身为Facebook)通过优化尾部利用率,显著提升了其机器学习模型服务基础设施的效率和可靠性。根据其工程博客文章,这些优化措施使得Meta在不增加资源的情况下,工作输出提高了35%,超时错误率减少了三分之二,并且在第99百分位尾部延迟降低了50%。尾部利用率是指按使用量排名前5%的服务器的利用率水平,对于像Meta广告平台这样的大规模运营系统尤为重要。
尾部利用率的挑战与优化背景
尾部利用率的挑战主要来自流量增长与服务器利用率之间的非线性关系。随着流量增加,高尾部利用率的服务器可能会过载甚至故障,从而影响服务水平协议(SLA)。为了解决这一问题,Meta采取了两种主要策略:调整负载均衡机制和实施系统级的模型部署优化。
负载均衡优化
Meta采用了“两选择算法”(power of two choices),即从两个随机选择的服务器中选择负载较轻的服务器来处理每个请求。这种通过Meta的ServiceRouter基础设施实现的方法,有助于避免服务器过载并改善尾部利用率。此外,Meta还通过调整Shard Manager的配置,优化了模型副本在主机之间的负载均衡。
系统级优化
在系统级优化方面,Meta发现了内存带宽对副本部署的重要性,并意识到CPU峰值实际上是由于内存延迟增加而非纯CPU利用率。Meta还实施了每模型负载计数器,通过统一不同系统组件的负载预期,提高了负载均衡和资源分配的准确性。此外,Meta还引入了快照过渡预算功能,减少了高峰流量期间的模型更新对系统的影响。
跨服务负载均衡与预测性资源管理
Meta通过反馈控制器调整跨不同硬件类型和容量池的流量路由比例,实现了跨服务负载均衡。此外,团队还开发了预测性副本估算系统,能够提前两小时预测资源使用情况,从而在需求高峰前确保资源的可用性。
优化效果与未来计划
这些优化显著提升了Meta的广告模型推理服务,支持了35%的负载增长而无需增加容量,同时提高了系统可靠性并降低了延迟。Meta计划将这些经验应用到新的系统架构和平台中,包括其下一代统一平台IPnext,用于管理机器学习模型部署的整个生命周期。随着机器学习在各应用中的重要性日益增加,高效服务大规模模型的能力将继续是技术公司和研究人员的重点领域。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。