日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪(fǎng)問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

Facebook基于数据中心的机器学习实践

發(fā)布時(shí)間:2025/3/21 46 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Facebook基于数据中心的机器学习实践 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

周圣盛???文

張懷政 校正

引言

“賦予人們建立社區(qū)的力量,讓世界更緊密地聯(lián)系在一起”是Facebook的使命。為了完成這樣的目標(biāo),Facebook連接了全球兩億的用戶(hù)(2017年12月)。為了提供更好的服務(wù)質(zhì)量以達(dá)到最大的用戶(hù)滿(mǎn)意度,Facebook大量應(yīng)用了機(jī)器學(xué)習(xí)在它的各種服務(wù)上面,比如頁(yè)面推薦、廣告推薦、語(yǔ)音識(shí)別、翻譯、圖像與視頻分類(lèi)等。但是Facebook是一家服務(wù)于全球用戶(hù)的企業(yè),用戶(hù)與用戶(hù)產(chǎn)生的數(shù)據(jù)量巨大,而且其數(shù)據(jù)中心分布在世界各地,這些都給Facebook建設(shè)機(jī)器學(xué)習(xí)服務(wù)帶來(lái)了巨大挑戰(zhàn)。

Facebook的機(jī)器學(xué)習(xí)

圖1展示了Facebook的一個(gè)機(jī)器學(xué)習(xí)流程與用到的基礎(chǔ)設(shè)施示例,其機(jī)器學(xué)習(xí)主要包括兩步:

(1)? 訓(xùn)練(Training):使用機(jī)器學(xué)習(xí)算法結(jié)合數(shù)據(jù)訓(xùn)練模型,一般離線(xiàn)訓(xùn)練;

(2)? 預(yù)測(cè)(Inference):使用訓(xùn)練好的模型進(jìn)行在線(xiàn)實(shí)時(shí)預(yù)測(cè)。

圖1. Facebook的機(jī)器學(xué)習(xí)流程與基礎(chǔ)設(shè)施示例

Facebook基于機(jī)器學(xué)習(xí)創(chuàng)建的主要服務(wù)如下:

表1. Facebook基于機(jī)器學(xué)習(xí)的主要服務(wù)

從表1中我們可以看出,Facebook使用機(jī)器學(xué)習(xí)給用戶(hù)提供了豐富的智能服務(wù)。而且每個(gè)服務(wù)可能包含了更多的子服務(wù),比如翻譯服務(wù),Facebook支持45種語(yǔ)言?xún)蓛呻p向翻譯,其使用的模型數(shù)量就高達(dá)2000多種。為了更好的訓(xùn)練、上線(xiàn)以及管理這些服務(wù)所用到的機(jī)器學(xué)習(xí)模型,Facebook對(duì)機(jī)器學(xué)習(xí)進(jìn)行了服務(wù)化治理。注意這里的服務(wù)指的是模型服務(wù),而不是上文提到的具體的應(yīng)用服務(wù)。正如圖1中所展示的那樣,在Facebook內(nèi)部,模型的訓(xùn)練、上線(xiàn)以及管理等都是使用FBLearner來(lái)完成的。FBLearner是一個(gè)統(tǒng)一的機(jī)器學(xué)習(xí)與調(diào)度平臺(tái),它包含了以下幾個(gè)模塊:

  • FBLearner Feature Store:用于抽取并存儲(chǔ)特征以供模型的訓(xùn)練和實(shí)時(shí)預(yù)測(cè);

  • FBLearner Flow:用于模型的訓(xùn)練,Flow使用工作流來(lái)描述一個(gè)模型的訓(xùn)練任務(wù),通過(guò)對(duì)工作流的調(diào)度來(lái)完成訓(xùn)練;

  • FBLearner Predictor:模型的預(yù)測(cè)引擎,用于模型的在線(xiàn)實(shí)時(shí)預(yù)測(cè)。

FBLearner對(duì)主流的機(jī)器學(xué)習(xí)框架(如Caffe2、TensorFlow、PyTorch等)進(jìn)行了抽象與封裝,也就是說(shuō)FBLearner感知不到其內(nèi)部使用的是什么框架。

資源對(duì)機(jī)器學(xué)習(xí)的影響

機(jī)器學(xué)習(xí)中的訓(xùn)練和預(yù)測(cè)有著不一樣的資源需求、頻率以及時(shí)長(zhǎng),所以對(duì)訓(xùn)練和預(yù)測(cè)應(yīng)該采取不一樣的資源分配策略。

Facebook不光是一個(gè)應(yīng)用軟件服務(wù)提供商,它也設(shè)計(jì)并開(kāi)源了很多硬件架構(gòu),如圖2所示的Big Basin GPU服務(wù)器就是目前Facebook在用的主要的GPU服務(wù)器。這款GPU服務(wù)器支持NVIDIA Tesla P100 GPU以及V100 GPU,GPU之間使用NVLink進(jìn)行連接,從而提供了高速的數(shù)據(jù)交互。

圖2 Big Basin GPU服務(wù)器,在一個(gè)3U機(jī)箱中可以放8個(gè)GPU

Facebook大量使用了CPU服務(wù)器和GPU服務(wù)器應(yīng)對(duì)機(jī)器學(xué)習(xí),訓(xùn)練主要使用CPU和GPU,而預(yù)測(cè)主要使用CPU。GPU適用于一些高負(fù)載的運(yùn)算場(chǎng)景,這正是訓(xùn)練的一個(gè)重要特征,而且訓(xùn)練也不會(huì)發(fā)生的太頻繁。此外,GPU的實(shí)時(shí)性沒(méi)有CPU好,所以在線(xiàn)上實(shí)時(shí)預(yù)測(cè)的場(chǎng)景中,CPU可以發(fā)揮出更大的優(yōu)勢(shì)。表2顯示了Facebook不同服務(wù)訓(xùn)練使用的資源類(lèi)型、訓(xùn)練頻率以及時(shí)長(zhǎng),不難發(fā)現(xiàn),不同服務(wù)模型訓(xùn)練所需資源類(lèi)型、訓(xùn)練頻率、時(shí)長(zhǎng)都不一樣,這里給出的數(shù)據(jù)來(lái)自Facebook的最佳實(shí)踐,不一定適用于其他公司,但是可以作為參考。

表2 服務(wù)的離線(xiàn)訓(xùn)練所需資源類(lèi)型、頻率以及時(shí)長(zhǎng)

數(shù)據(jù)中心級(jí)別的機(jī)器學(xué)習(xí)

圖3顯示的是Facebook全球的數(shù)據(jù)中心分布(2017年12月數(shù)據(jù)),可以發(fā)現(xiàn)Facebook的數(shù)據(jù)中心分布在全球各地。在進(jìn)行機(jī)器學(xué)習(xí)訓(xùn)練的過(guò)程中,一個(gè)很重要的輸入就是數(shù)據(jù),而且Facebook用戶(hù)產(chǎn)生的數(shù)據(jù)極大,某些服務(wù)(如News Feed)在訓(xùn)練的時(shí)候需要PB級(jí)別的數(shù)據(jù),如果每次訓(xùn)練都要將這么大的數(shù)據(jù)量從數(shù)據(jù)倉(cāng)庫(kù)傳輸?shù)接?xùn)練節(jié)點(diǎn)上,那么對(duì)網(wǎng)絡(luò)帶寬的要求會(huì)非常大,對(duì)于跨數(shù)據(jù)中心的數(shù)據(jù)傳遞也會(huì)十分耗時(shí)。另外,基于如此巨大的數(shù)據(jù)量進(jìn)行訓(xùn)練,往往會(huì)帶來(lái)非常大的資源消耗,為了不影響用戶(hù)的服務(wù)質(zhì)量,必須設(shè)計(jì)一套切實(shí)可行的解決方案。

圖3 Facebook全球數(shù)據(jù)中心分布圖(2017年12月)

針對(duì)以上提到的一些問(wèn)題,Facebook通過(guò)不斷探索和實(shí)踐,給了我們一些可以應(yīng)對(duì)的方針。Facebook主要通過(guò)以下手段克服上面提到的幾個(gè)問(wèn)題:

  • 針對(duì)距離遠(yuǎn)而且數(shù)據(jù)量大的問(wèn)題,Facebook采用的方案是縮短數(shù)據(jù)中心和訓(xùn)練中心的距離,這樣數(shù)據(jù)傳輸耗時(shí)就會(huì)縮短很多。另外Facebook將讀取數(shù)據(jù)的機(jī)器“readers”和用來(lái)訓(xùn)練的機(jī)器“trainers”物理上分離,也就是說(shuō)用來(lái)訓(xùn)練的trainers只需要專(zhuān)心的跑訓(xùn)練,不需要從數(shù)據(jù)中心讀取數(shù)據(jù),而是依賴(lài)于“readers”從數(shù)據(jù)中心拉取數(shù)據(jù)。

  • 針對(duì)訓(xùn)練十分消耗資源的問(wèn)題,Facebook觀察到一個(gè)區(qū)域的機(jī)器的負(fù)載狀況滿(mǎn)足日間活動(dòng)特性(Diurnal),如圖4所示,其實(shí)確實(shí)如此,因?yàn)榇蠖鄶?shù)用戶(hù)白天使用App、網(wǎng)站等服務(wù)的頻率會(huì)比較高,夜里比較少。所以Facebook的訓(xùn)練大多數(shù)跑在夜間,這樣可以最大程度上提高硬件資源利用率,同時(shí)減少和用戶(hù)服務(wù)競(jìng)爭(zhēng)資源。

圖4 Facebook服務(wù)器集群24小時(shí)的負(fù)載狀況(2017年12月19日)

總結(jié)

該文章簡(jiǎn)單介紹了Facebook基于數(shù)據(jù)中心的機(jī)器學(xué)習(xí)實(shí)踐,從大公司應(yīng)用機(jī)器學(xué)習(xí)建立智能服務(wù)的過(guò)程中我們可以看出,工業(yè)界對(duì)于機(jī)器學(xué)習(xí)的應(yīng)用,會(huì)更加考慮服務(wù)可用性、預(yù)測(cè)實(shí)時(shí)性、訓(xùn)練速度、數(shù)據(jù)中心的網(wǎng)絡(luò)傳輸、資源利用率等指標(biāo)。為了建設(shè)更完善的機(jī)器學(xué)習(xí)平臺(tái),Facebook從硬件架構(gòu)、模型訓(xùn)練與服務(wù)框架、數(shù)據(jù)中心建設(shè)等方面都在不停的嘗試新方案。正是不斷創(chuàng)新的解決方案,才讓Facebook給其20億用戶(hù)帶來(lái)了穩(wěn)定且高質(zhì)量的服務(wù)。

引用

Hazelwood, Kim, et al. "Applied machine learning at facebook: A datacenter infrastructure perspective." 2018 IEEE International Symposium on High Performance Computer Architecture (HPCA). IEEE, 2018.

資料免費(fèi)送(點(diǎn)擊鏈接下載)


加入運(yùn)維管理VIP群(點(diǎn)擊鏈接查看)

掃描以下二維碼加入學(xué)習(xí)群

總結(jié)

以上是生活随笔為你收集整理的Facebook基于数据中心的机器学习实践的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。