高效优化利器:Ax——自适应实验的开源平台
我们发布了Ax 1.0,这是一个利用机器学习自动指导复杂、资源密集型实验的开源平台。Ax在Meta内部被大规模用于改进AI模型、调优生产基础设施,并加速机器学习乃至硬件设计的进步。我们的配套论文《Ax:自适应实验平台》详细阐述了Ax的架构、方法论,以及与其他最先进黑盒优化库的对比。
挑战与解决方案
研究人员如何有效理解和优化具有大量可能配置的AI模型或系统?这一挑战在复杂交互系统领域尤为普遍,例如现代AI开发与部署。在这些场景下进行优化需要实验,而当评估单个配置极其耗费资源和/或时间时,效率至关重要。
自适应实验通过主动提出新配置进行顺序评估,利用先前评估获得的洞察来解决这个问题。今年我们发布了Ax 1.0版本,这是一个利用机器学习指导和自动化实验过程的开源自适应实验平台。Ax采用贝叶斯优化,使研究人员和开发人员能够进行高效实验,识别最优配置以优化其系统和流程。
Ax的核心功能与应用
Ax已成功应用于Meta的多个领域:
- 传统机器学习任务,如超参数优化和架构搜索
- 解决生成式AI的关键挑战,包括发现训练AI模型的最佳数据混合方案
- 在生产环境中调优基础设施或编译器标志
- 在物理工程任务中优化设计参数,如设计AR/VR设备
快速入门
要开始使用Ax高效调优复杂系统中的参数,请通过pip install ax-platform安装最新版本库,并访问Ax网站获取快速入门指南、教程和深度方法解析。
Ax的工作原理
Ax默认使用贝叶斯优化,这是一种有效的自适应实验方法,擅长平衡探索(了解新配置的性能)和利用(改进先前观察到的良好配置)。Ax依赖BoTorch实现其贝叶斯优化组件。
贝叶斯优化是解决全局优化问题的迭代方法,它不假设函数f的任何形式信息。在实践中,这意味着通过评估一些候选配置(即尝试某些配置并测量其效果),使用这些数据构建代理模型,利用该代理识别最有希望评估的下一个配置,并重复此过程直到找到最优解或实验预算耗尽。
在典型设置下,Ax使用高斯过程(GP)作为贝叶斯优化循环中的代理模型,这是一种灵活的模型,可以在量化不确定性的同时进行预测,且在数据点极少时特别有效。Ax然后使用来自期望改进(EI)系列的采集函数,通过捕获任何新配置与先前最佳配置相比的期望值,来建议下一个要评估的候选配置。
在Meta的实际应用
Ax已在Meta大规模部署,解决公司最具挑战性的优化问题。数千名Meta开发人员使用Ax完成诸如AI模型的超参数优化和架构搜索、在线推荐和排名模型的参数调优、基础设施优化,以及AR和VR硬件设计的仿真优化等任务。
这些实验优化了细致的目标并利用复杂算法。例如,我们使用多目标优化同时提高机器学习模型的准确性同时最小化其资源使用。当研究人员需要缩小自然语言模型以适应第一代Ray-Ban Stories时,他们使用Ax搜索在大小和性能之间最优权衡的模型。此外,Meta工程师使用约束优化技术调优推荐系统,在优化关键指标的同时避免其他指标的回归。
最近,Ax被用于设计新的快速固化、低碳混凝土配方,并已在我们某个数据中心建设现场部署。这些新配方在推进我们2030年净零排放目标中发挥着重要作用。
Ax的未来发展
阅读论文
《Ax:自适应实验平台》
要了解有关Meta开源的更多信息,请访问我们的网站,订阅我们的YouTube频道,或在Facebook、Threads、X、Bluesky和LinkedIn上关注我们。
致谢
Ax由Meta的自适应实验团队创建:Sebastian Ament、Eytan Bakshy、Max Balandat、Bernie Beckerman、Sait Cakmak、Cesar Cardoso、Ethan Che、Sam Daulton、David Eriksson、Mia Garrard、Matthew Grange、Carl Hvarfner、Paschal Igusti、Lena Kashtelyan、Cristian Lara、Ben Letham、Andy Lin、Jerry Lin、Jihao Andreas Lin、Samuel Müller、Miles Olson、Eric Onofrey、Shruti Patel、Elizabeth Santorella、Sunny Shen、Louis Tiao和Kaiwen Wu。