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



分享到:


相關文章: