中文字幕在线观看,亚洲а∨天堂久久精品9966,亚洲成a人片在线观看你懂的,亚洲av成人片无码网站,亚洲国产精品无码久久久五月天

社交數(shù)據(jù)那么多,看Facebook如何用貝葉斯實時優(yōu)化后端

2018-09-19    來源:raincent

容器云強勢上線!快速搭建集群,上萬Linux鏡像隨意使用

面對每天海量更新的在線數(shù)據(jù),F(xiàn)acebook 必須尋求快速的參數(shù)優(yōu)化方法來不斷完善后端系統(tǒng),而網格搜索和手工調參顯然不是合適的選擇。

Facebook 每天依賴一套大型后端系統(tǒng)服務于數(shù)十億人。這些系統(tǒng)中大部分都具有大量內部參數(shù),如支持 Facebook 的 web 服務器使用 HipHop 虛擬機(HHVM)來滿足請求,HHVM 有幾十個參數(shù)來控制實時編譯器。另一方面,機器學習系統(tǒng)可用來執(zhí)行很多預測任務。這些系統(tǒng)通常包含預測模型的多個層,其中有大量參數(shù),用于決定模型如何連接以輸出最終推薦。這些參數(shù)必須通過使用實時的隨機實驗來仔細調整,也就是所謂的 A/B 測試。每個實驗可能花費一周或更長時間,因此難點在于用盡可能少的實驗優(yōu)化一套參數(shù)。

A/B 測試通常被用作改進產品的一次性實驗。在論文《Constrained Bayesian Optimization with Noisy Experiments》(現(xiàn)已刊登在《Bayesian Analysis》雜志)中,F(xiàn)acebook 描述了如何使用一種名為「貝葉斯優(yōu)化」的 AI 技術,根據(jù)先前測試的結果自適應地設計一輪 A/B 測試。與網格搜索或手工調參相比,貝葉斯優(yōu)化可以用更少的實驗聯(lián)合調整更多的參數(shù),并找到更好的值。Facebook 已經使用該技術在一大批后端系統(tǒng)中進行了數(shù)十次調參實驗,發(fā)現(xiàn)該技術在機器學習系統(tǒng)調參方面非常有效。

針對 A/B 測試的貝葉斯優(yōu)化

在線系統(tǒng)調參的典型方法是手動運行小規(guī)模網格搜索來分別優(yōu)化每個參數(shù)。貝葉斯優(yōu)化構建了參數(shù)和興趣在線結果之間的統(tǒng)計模型,并使用該模型來決定進行哪些實驗。這種基于模型的方法有幾個關鍵優(yōu)勢,尤其是在優(yōu)化在線機器學習系統(tǒng)方面:

更好地利用參數(shù)維度進行縮放:由于運行在線實驗存在數(shù)量限制,網格搜索或手工調參不能用于同時調整多個參數(shù)。模型的使用使得貝葉斯優(yōu)化可以擴展到更多的參數(shù),通常聯(lián)合優(yōu)化的參數(shù)可以達到 20 個。這對機器學習系統(tǒng)至關重要,因為在這些系統(tǒng)中,參數(shù)之間經常存在相互作用,需要聯(lián)合優(yōu)化。

實驗次數(shù)減少:貝葉斯優(yōu)化使得我們可以從多輪實驗中獲得信息:連續(xù)空間中的一次參數(shù)值的測試不僅可以提供有關該測試結果的信息,還能提供周圍點的信息。因此,探索空間所需的實驗次數(shù)可以大大減少。

實驗結果更好:模型可以識別空間中可能無法提供良好結果的部分,避免在那些參數(shù)值上運行測試。這種做法改進了實驗組內的經驗。

理解參數(shù)空間:模型幫助我們可視化并更好地理解參數(shù)如何影響感興趣的結果。下圖顯示了一個 8 參數(shù)實驗的二維切片,是為了更好地理解參數(shù)空間而進行的可視化的典型例子:

 

 

下文將提供貝葉斯優(yōu)化的深入介紹,并討論來自論文的工作及其中的一些實驗結果。

貝葉斯優(yōu)化

貝葉斯優(yōu)化是一種解決最優(yōu)化問題的技術,其中未知形式的目標函數(shù)(即在線度量)不會有解析解,且它只能通過一些耗時的運算(即隨機試驗)評估出來。通過有限的試驗數(shù)高效探索多維空間的關鍵是建模:真實的目標函數(shù)是未知的,但是我們能令模型擬合已有的觀察樣本,并使用模型預測參數(shù)空間中更好的部分,而這一部分應該需要運行更多的試驗。

高斯過程(GP)是一種非參數(shù)的貝葉斯模型,因為它能提供優(yōu)秀的不確定性估計和簡便的分析,所以高斯過程非常適用于貝葉斯優(yōu)化。高斯過程為目標函數(shù)提供了一種估計,它用來判斷隨著參數(shù)的變化在線度量到底會怎么變化:

 

 

上圖中每一個數(shù)據(jù)標記對應于該參數(shù)值的 A/B 測試結果。通過平衡探索(很大的不確定性)和利用(良好的模型估計),我們能使用高斯過程來決定接下來要測試的參數(shù)。這一過程可以通過計算采集函數(shù)(Acquisition Function)完成,該函數(shù)用任何給定的參數(shù)值來估計執(zhí)行試驗后的觀察值。

假設我們正嘗試決定是否應該使用參數(shù)配置 x 執(zhí)行一次實驗,那么在 x 的情況下觀察值有多大的價值?這個問題的答案依賴于效用函數(shù),F(xiàn)在假設在觀察到 x 后就結束優(yōu)化,那么這些參數(shù)的效用就僅僅只是它所找到的最優(yōu)解的值。在這種情況下,觀察到 x 的效用就是 f(x),相當于當前最優(yōu)的改進程度,我們可以稱為 x*(假設我們在做最大化):I(x) = max(0, f(x) – f(x*))。

由于 f(x) 是一個隨機變量,I(x) 同樣也為隨機變量,但是 f(x) 的后驗是從高斯過程模型中分析得出的。基于期望改進(EI)的采集函數(shù)會選擇參數(shù)點 x 以最大化 I(x) 的期望值,這一過程會基于高斯過程后驗。EI 是一種流行的采集函數(shù),因為這種期望具有易計算的分析形式,且在實踐中也有非常好的表現(xiàn)。下圖展示了上述模型的 EI:

 

 

最大化 EI(紅色虛線)的參數(shù)在下一個實驗中會進行測試。模型隨后用該實驗的結果進行更新,并重新計算 EI 以選擇新的候選參數(shù)。這一循環(huán)會持續(xù)到搜索結束,上圖展示了幾次迭代的結果。

高斯過程假設響應表面是平滑的,這將允許我們參考參數(shù)空間的近鄰觀察值,從而確定可能的下一組參數(shù)是怎么樣的。高斯過程使我們相信已經徹底探索了空間,因此不需要如網格搜索那樣實際測試每個可能的參數(shù)值。

將貝葉斯優(yōu)化應用到在線實驗

貝葉斯優(yōu)化方法應用于調整在線系統(tǒng)時需要面對幾項挑戰(zhàn),在 Facebook 的論文中對此進行了描述。

噪聲:通過隨機化實驗獲取的觀察結果通常有很高的噪聲等級,特別是相對于貝葉斯優(yōu)化的典型機器學習應用而言,例如超參數(shù)調整。

約束:除了需要優(yōu)化的指標,還有必須要滿足的約束。這些約束通常本身是帶噪聲的指標,因此我們必須考慮它們的可行的后驗分布。

批量實驗:由于在線實驗相當耗時間,它們通常不是按線性序列運行,如上動圖所示,它們是以大批量在并行測試中運行。在我們的實驗中,我們每次頻繁地評估 50 個配置,因此需要可以返回大批量可評估點的貝葉斯優(yōu)化過程。

EI 擁有可以解決這些問題的擴展,然而當噪聲等級達到 A/B 測試的典型等級時,使用啟發(fā)式方法處理噪聲的結果很糟糕。由于觀察結果中的噪聲,不僅對 f(x) 值存在不確定,而且對哪個 x*和 f(x*) 是目前最佳的觀察結果也存在不確定。處理觀察結果噪聲的常用方法是忽略它,并通過插件式的估計器替換 f(x*) 的高斯過程均值估計。

在論文中,F(xiàn)acebook 描述了一種貝葉斯方法來處理觀察噪聲,其中包括了 EI 期望值噪聲引入的后驗不確定性。即,我們在 f(x) 和 f(x*) 的聯(lián)合后驗下計算 I(x) 的期望值,而不是在 f(x) 的后驗下計算它。這個期望值不再擁有相近 EI 的形式,然而我們可以輕易地從 GP 后驗中采樣過去觀察 f(x_1), …, f(x_n) 的值,并且條件分布 f(x) | f(x_1), …, f(x_n) 有相近的形式。因此該期望值服從蒙特卡羅近似,其中我們采樣 f(x_1), …, f(x_n) 然后以相近的形式求條件期望 E[I(x) | f(x_1), …, f(x_n)]。論文中展示了擬蒙特卡羅方法(quasi-Monte Carlo)的結合如何為該期望提供了很好的估計,并可以高效地對其進行優(yōu)化。

Facebook 利用貝葉斯優(yōu)化得到的結果

研究者使用論文中描述的方法來優(yōu)化 Facebook 中的數(shù)個系統(tǒng),并在論文中描述了兩種優(yōu)化案例。第一個案例是優(yōu)化 Facebook 一個排序系統(tǒng)的 6 個參數(shù)。這些特定參數(shù)和索引器相關,該索引器聚集了要被發(fā)送到預測模型的內容。第二個案例是為 HHVM 優(yōu)化 7 個數(shù)值編譯器 flag。優(yōu)化的目標是減少網頁服務器的 CPU 占用,并滿足不增加峰值內存占用的約束。下面這張來自論文中的圖展示了每個測試配置的 CPU 占用(總共 100 個配置)隨迭代次數(shù)的變化,以及每個點滿足內存約束的概率。

 

 

前面 30 次迭代(綠線之前的部分)是隨機生成的配置,之后使用了貝葉斯優(yōu)化來識別用于評估的參數(shù)配置。在這項以及很多其它的實驗中,研究者發(fā)現(xiàn)貝葉斯優(yōu)化可以找到更好的且更容易滿足約束的配置。該優(yōu)化中找到的編譯器 flag 設置在開源 HHVM 中已被設定成了新的默認值。

研究者發(fā)現(xiàn),結合論文中的方法,貝葉斯優(yōu)化在隨機實驗優(yōu)化中是一種高效、魯棒的工具。通過取代多維空間的手工探索,它能讓工程師的工作變得更加高效,并提升后端系統(tǒng)和機器學習基礎建設的在線性能。

原文鏈接:https://research.fb.com/efficient-tuning-of-online-systems-using-bayesian-optimization/

標簽: 服務器 服務器使用 搜索 網頁服務器

版權申明:本站文章部分自網絡,如有侵權,請聯(lián)系:west999com@outlook.com
特別注意:本站所有轉載文章言論不代表本站觀點!
本站所提供的圖片等素材,版權歸原作者所有,如需使用,請與原作者聯(lián)系。

上一篇:智慧社區(qū)網格化服務管理系統(tǒng)解決方案

下一篇:用Python 進行深度學習