04.01 探秘 Facebook AI 实验室:如何使 A

Facebook AI 实验室是世界上业界最顶尖的几个实验室之一,承载了 Facebook 在 AI 领域的应用和研究。此次让我们一起走进 Facebook AI 实验室,揭秘他们是如何 “信贝爷得永生” 的?


探秘 Facebook AI 实验室:如何使 A/B 测试和超参调优更加智能?



超参调优一直是人工智能领域与现实应用结合的一个重要课题。虽然使用网格搜索等超参调优方法对于优化某些单个模型时非常有效,但是在真实的商业应用中,我们会发现,这些方法很难进行扩展和应用

像 Facebook 这样的公司,每一秒钟都至少运营着数以千计的并发机器学习模型。为了实现对线上大量模型的超参优化,Facebook 工程团队需要定期进行 A/B 测试,以确保模型运行正确。但是在实际的 A/B 测试中,Facebook 的科学家们发现:测试相关的数据非常难以收集,并且大多数时候,这些 A/B 测试被一个一个的运行,最终导致整个团队花了很长的时间去进行 A/B 测试和相关计算。

基于这个问题,来自 Facebook AI 实验室的研究团队提出了一种基于贝叶斯优化的方法:让 A/B 测试基于不断产生的测试结果,自适应地设计 A/B测试的轮次和方案,实现智能化的超参调优。



为什么选择贝叶斯优化?

贝叶斯优化是一种解决黑盒优化问题的有效方法。最近,贝叶斯优化更是发展除了一套能够用于优化机器学习模型中的超参调优技术。

根据贝叶斯理论:贝叶斯优化首先会随机选取少量样本,并根据高斯过程(GP)回归模型拟合样本。GP 提供了基于每个函数值的点估计,以及该估计的置信度。GP 用于贝叶斯优化时效果明显,因为它能提供的置信度估计,并且非常方便实验人员分析结果。利用基于 GP 的贝叶斯估计,我们可以对线上指标进行监控,并且对参数变化造成的实验结果变动进行科学的估计。

在实际业务中,我们会不断的对机器学习模型进行随机或者定期的实验,这种情况下,贝叶斯优化可用于构建一个统计模型,该模型可以分析不同实验的参数与结果之间的关系,并使用该分析结果来决定哪些实验可以继续运行。

下面的动图对该概念进行了一些解释,在图中,每个数据标记对应于当前参数值的 A/B 测试的结果。我们可以通过 GP 来对实验结果和参数进行决策。图中横坐标上的一个点代表一组参数,纵坐标代表实验效果。蓝色区域代表置信区间。


探秘 Facebook AI 实验室:如何使 A/B 测试和超参调优更加智能?




提出噪声问题

进行随机实验时,实验结果中无一例外的都会出现噪声。如果我们直接利用上面的数据进行贝叶斯优化,出来的结果可能是会被质疑的。

通常情况下,我们可以使用启发式方法来处理贝叶斯优化中的噪声数据,但是一旦噪声过多,这类方法效果就会非常糟糕。为了解决这个问题,Facebook 团队提出了一个非常聪明的答案:为什么不把噪音作为观察数据的一部分?

让我们省去数学证明的部分,结论是,Facebook 发现对于这种数据,可以使用 蒙特卡罗对实验结果进行优化,并且优化后得到结果非常准确,可以直接应用到现实应用中。

Facebook 团队给出的最终解决方案草图如下:


探秘 Facebook AI 实验室:如何使 A/B 测试和超参调优更加智能?




解决噪声问题

Facebook 团队在几个真实场景中应用蒙特卡洛对实验结果进行优化。

为了制造噪音数据,并测试蒙特卡洛的应用结果。Facebook 团队首先确定了要对比的机器学习模型为 Facebook 的排名系统,并把这个排名系统运行的服务器进行了一些调整,也就是:让部分服务器的 CPU 性能随机抖动,成为噪声数据,对排名系统的实验结果产生影响。最后,再使用基于蒙特卡洛的贝叶斯优化对比不同 A/B 测试的实验结果数据,可以发现,贝叶斯优化可以清楚的分辨出这些随机噪声。

下图中横坐标为时间,第一个图的纵坐标是 CPU(噪声)的抖动情况,第二个图是贝叶斯优化对于实验结果的可信度评估。可以明显看出,贝叶斯优化能够从 A/B 测试的实验结果中精确的捕捉到意外的噪声变化,从而指导新的 A/B 测试设计。


探秘 Facebook AI 实验室:如何使 A/B 测试和超参调优更加智能?



Facebook 提出的这个方案不仅效果显著,而且能应用到大规模机器学习模型中。虽然也有前人在这个领域做了很多贡献,但是应用到现实世界的商业模型中,Facebook 是首屈一指的,感谢 Facebook 对于业界科学评测所做出的贡献。




英文原稿来源: Towards Data Science



分享到:


相關文章: