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

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

2018-09-19    來(lái)源:raincent

容器云強(qiáng)勢(shì)上線!快速搭建集群,上萬(wàn)Linux鏡像隨意使用

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

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

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

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

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

更好地利用參數(shù)維度進(jìn)行縮放:由于運(yùn)行在線實(shí)驗(yàn)存在數(shù)量限制,網(wǎng)格搜索或手工調(diào)參不能用于同時(shí)調(diào)整多個(gè)參數(shù)。模型的使用使得貝葉斯優(yōu)化可以擴(kuò)展到更多的參數(shù),通常聯(lián)合優(yōu)化的參數(shù)可以達(dá)到 20 個(gè)。這對(duì)機(jī)器學(xué)習(xí)系統(tǒng)至關(guān)重要,因?yàn)樵谶@些系統(tǒng)中,參數(shù)之間經(jīng)常存在相互作用,需要聯(lián)合優(yōu)化。

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

實(shí)驗(yàn)結(jié)果更好:模型可以識(shí)別空間中可能無(wú)法提供良好結(jié)果的部分,避免在那些參數(shù)值上運(yùn)行測(cè)試。這種做法改進(jìn)了實(shí)驗(yàn)組內(nèi)的經(jīng)驗(yàn)。

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

 

 

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

貝葉斯優(yōu)化

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

高斯過程(GP)是一種非參數(shù)的貝葉斯模型,因?yàn)樗芴峁﹥?yōu)秀的不確定性估計(jì)和簡(jiǎn)便的分析,所以高斯過程非常適用于貝葉斯優(yōu)化。高斯過程為目標(biāo)函數(shù)提供了一種估計(jì),它用來(lái)判斷隨著參數(shù)的變化在線度量到底會(huì)怎么變化:

 

 

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

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

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

 

 

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

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

將貝葉斯優(yōu)化應(yīng)用到在線實(shí)驗(yàn)

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

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

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

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

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

在論文中,F(xiàn)acebook 描述了一種貝葉斯方法來(lái)處理觀察噪聲,其中包括了 EI 期望值噪聲引入的后驗(yàn)不確定性。即,我們?cè)?f(x) 和 f(x*) 的聯(lián)合后驗(yàn)下計(jì)算 I(x) 的期望值,而不是在 f(x) 的后驗(yàn)下計(jì)算它。這個(gè)期望值不再擁有相近 EI 的形式,然而我們可以輕易地從 GP 后驗(yàn)中采樣過去觀察 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)的結(jié)合如何為該期望提供了很好的估計(jì),并可以高效地對(duì)其進(jìn)行優(yōu)化。

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

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

 

 

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

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

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

標(biāo)簽: 服務(wù)器 服務(wù)器使用 搜索 網(wǎng)頁(yè)服務(wù)器

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

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

下一篇:用Python 進(jìn)行深度學(xué)習(xí)