Facebook利用人工智能調(diào)整網(wǎng)絡(luò)服務(wù)器性能

機(jī)器學(xué)習(xí)近年來已被用于調(diào)整機(jī)器學(xué)習(xí)本身的性能,那么為什么不用機(jī)器學(xué)習(xí)來提高網(wǎng)絡(luò)服務(wù)器的性能呢?

Facebook的研究人員就是這樣做的,他們周一發(fā)表了有關(guān)用機(jī)器學(xué)習(xí)調(diào)整運(yùn)行在社交網(wǎng)絡(luò)服務(wù)器基礎(chǔ)設(shè)施上的服務(wù)器設(shè)置的文章。

Benjamin Letham、Brian Karrer、Guilherme Ottoni和Eytan Bakshy的文章發(fā)表在_Bayesian Analysis_期刊上,作者還在Facebook的人工智能研究博客上發(fā)了博文。

Facebook與所有互聯(lián)網(wǎng)服務(wù)一樣也運(yùn)行所謂的A/ B測(cè)試,目的是評(píng)估服務(wù)器在各個(gè)變量發(fā)生變化時(shí)的運(yùn)行情況。有些人調(diào)整過不同版本的網(wǎng)頁(yè),例如改變按鈕的外觀或文本的布局,他們就知道,調(diào)整(例如在一個(gè)商業(yè)網(wǎng)站上的調(diào)整)可以優(yōu)化諸如點(diǎn)擊率或購(gòu)物車使用之類的東西。

Facebook的科學(xué)家在這項(xiàng)研究中研究了實(shí)時(shí)生產(chǎn)系統(tǒng)(JIT:Just- in-time)編譯器選項(xiàng)的改變對(duì)性能的影響,編譯器將Python轉(zhuǎn)換為Facebook用于提供HTTP請(qǐng)求的開源Web服務(wù)器內(nèi)的本機(jī)x86服務(wù)器代碼,即“HipHop虛擬機(jī)”。

例如,可以將JIT設(shè)置為執(zhí)行給定代碼塊的內(nèi)嵌之類的操作。這樣的調(diào)整會(huì)令代碼更大些,因此需要進(jìn)行A / B測(cè)試,原因是更大的代碼會(huì)消耗更多的服務(wù)器內(nèi)存,因而有必要確定是否值得這樣做。

文章的作者用了名為“貝葉斯分析”的方法,貝葉斯分析是一種機(jī)器學(xué)習(xí)算法,基本思想是強(qiáng)調(diào)使用過去或先前的信息來確定最佳解決方案。貝葉斯分析在過去十年里被廣泛用來優(yōu)化“超參數(shù)”機(jī)器學(xué)習(xí),例如用來確定批量的大小或?qū)W習(xí)速度參數(shù)的大小。由于貝葉斯優(yōu)化可以代替人手做超參數(shù)設(shè)計(jì)的苦差事,有人將用了貝葉斯優(yōu)化的機(jī)器學(xué)習(xí)稱為“自動(dòng)化”機(jī)器學(xué)習(xí)。

文章的作者在使用JIT編譯器的設(shè)置運(yùn)行A / B測(cè)試時(shí)在各種不同的地方用了貝葉斯。這樣做最大的好處是速度。由于必須在生產(chǎn)環(huán)境中進(jìn)行測(cè)試以觀察不同設(shè)置的影響,因此希望能夠快速完成測(cè)試,以便將更改進(jìn)一步用于網(wǎng)絡(luò)服務(wù)器。

作者在文章里表示,典型的A / B測(cè)試是在每一次只測(cè)試一個(gè)配置的改變,而貝葉斯優(yōu)化則“允許我們用更少的測(cè)試共同調(diào)整更多的參數(shù)并找到更好的值?!?/p>

這里的關(guān)鍵是“共同”這個(gè)詞:貝葉斯機(jī)制可以從給定的A / B測(cè)試推斷出其他參數(shù),以縮小“可行的“配置,因而無(wú)需進(jìn)行相應(yīng)的實(shí)際A / B測(cè)試就能排除某些配置選擇。作者用了廣泛搜索能力的字眼,稱“連續(xù)空間里參數(shù)值的測(cè)試不僅為我們提供了關(guān)于這些參數(shù)結(jié)果的信息,而且還提供了關(guān)于附近點(diǎn)的信息?!?貝葉斯模型可以從前期測(cè)試結(jié)果中獲得了新的經(jīng)驗(yàn)數(shù)據(jù),這些經(jīng)驗(yàn)數(shù)據(jù)又可以用于進(jìn)一步縮小搜索潛在最優(yōu)配置的范圍,因此整個(gè)A / B測(cè)試逐步地就越來越高效了。

Facebook這項(xiàng)貝葉斯優(yōu)化研究的新貢獻(xiàn)是處理噪聲。作者指出,在A / B實(shí)驗(yàn)中測(cè)試服務(wù)器設(shè)置與優(yōu)化機(jī)器學(xué)習(xí)網(wǎng)絡(luò)不同,這時(shí)的測(cè)試結(jié)果和測(cè)量均存在很多噪音,在現(xiàn)實(shí)世界中,設(shè)置的變化對(duì)服務(wù)器性能的影響可以是各種各樣的,而且還存在“噪聲”約束,例如服務(wù)器內(nèi)存的使用需要在合理的范圍之內(nèi)。文章的作者提出了在貝葉斯算法中解決這種噪聲的方法,他們得出的結(jié)論是,用新方法比用其他類型的貝葉斯方法更容易得到最優(yōu)解。

用了此方法的A / B測(cè)試方法存在一個(gè)有趣的小問題,有些配置從不會(huì)被用到:因?yàn)樨惾~斯優(yōu)化分析的預(yù)測(cè)完全排除了那些配置,相應(yīng)的變量已在測(cè)試中被移除。文章的作者則認(rèn)為這是個(gè)好處,可以減少用戶進(jìn)行大量不同實(shí)驗(yàn)的煩惱。

(免責(zé)聲明:本網(wǎng)站內(nèi)容主要來自原創(chuàng)、合作伙伴供稿和第三方自媒體作者投稿,凡在本網(wǎng)站出現(xiàn)的信息,均僅供參考。本網(wǎng)站將盡力確保所提供信息的準(zhǔn)確性及可靠性,但不保證有關(guān)資料的準(zhǔn)確性及可靠性,讀者在使用前請(qǐng)進(jìn)一步核實(shí),并對(duì)任何自主決定的行為負(fù)責(zé)。本網(wǎng)站對(duì)有關(guān)資料所引致的錯(cuò)誤、不確或遺漏,概不負(fù)任何法律責(zé)任。
任何單位或個(gè)人認(rèn)為本網(wǎng)站中的網(wǎng)頁(yè)或鏈接內(nèi)容可能涉嫌侵犯其知識(shí)產(chǎn)權(quán)或存在不實(shí)內(nèi)容時(shí),應(yīng)及時(shí)向本網(wǎng)站提出書面權(quán)利通知或不實(shí)情況說明,并提供身份證明、權(quán)屬證明及詳細(xì)侵權(quán)或不實(shí)情況證明。本網(wǎng)站在收到上述法律文件后,將會(huì)依法盡快聯(lián)系相關(guān)文章源頭核實(shí),溝通刪除相關(guān)內(nèi)容或斷開相關(guān)鏈接。 )

贊助商
2018-10-01
Facebook利用人工智能調(diào)整網(wǎng)絡(luò)服務(wù)器性能
機(jī)器學(xué)習(xí)近年來已被用于調(diào)整機(jī)器學(xué)習(xí)本身的性能,那么為什么不用機(jī)器學(xué)習(xí)來提高網(wǎng)絡(luò)服務(wù)器的性能呢?Facebook的研究人員就是這樣做的,他們周一發(fā)表了有關(guān)用機(jī)器學(xué)習(xí)調(diào)整運(yùn)行在社交網(wǎng)絡(luò)服務(wù)器基礎(chǔ)設(shè)施上的服

長(zhǎng)按掃碼 閱讀全文