當前位置:
首頁 > 新聞 > Facebook發布三套AI硬體系統,並順手宣布將其開源

Facebook發布三套AI硬體系統,並順手宣布將其開源

消息稱,Facebook的基礎架構每個月都在為其整個應用和服務系統上的超過27億人提供服務。工程師們設計並創建了高效的系統來擴展這一基礎設施,但是隨著工作負載的增長,只靠通用處理器已經無法滿足這些系統的需求。

為基礎架構創建高效的解決方案需要通過協同設計工作創建的工作負載優化硬體。為此,Facebook一直與合作夥伴共同開發針對AI推理、AI訓練和視頻轉碼的解決方案。晶體管增長的速度已大大放緩,這就需要開發專門的加速器和整體系統級的解決方案來提高性能、功率和效率。


AI硬體

整個Facebook的基礎架構都使用了AI工作負載,這讓其服務更具相關性,並改善用戶服務時的體驗。幫助人們進行日常互動,並為其提供獨特的個性化服務。通過大規模部署AI模型,Facebook每天可以提供200萬億次推測以及超過60億次語言翻譯。Facebook使用超過35億張公開圖像來構建和訓練其AI模型,讓它們更好的識別和標記內容。

Facebook上的大部分AI流程均通過FBLeaner平台進行管理,該平台包含處理各部分問題的工具,如功能存儲、培訓工作流管理以及推理引擎。通過與開放計算項目(OCP,Open Compute Project)發布的Facebook設計硬體配合使用,使其能高效的大規模部署模型。從一個穩定的基礎開始,Facebook專註於創建與供應商無關的統一硬體設計,並繼續堅持分解設計原則以實現工作效率最大化,最終推出了用於工作負載訓練和推理的下一代硬體。


AI訓練系統Zion

Zion是Facebook的下一代大存儲統一訓練平台,設計上能夠高效處理包括CNN、LSTM和SparseNN在內的一系列神經網路。Zion平台能夠為關鍵工作負載提供高容量高帶寬的存儲、靈活且高速的互連,以及強大的計算能力。

Zion採用了Facebook全新的OAM模塊(OCP Accelerator Module),AMD、Haban、GraphCore和NVIDIA等Facebook合作夥伴可以在OCP通用規範上開發自己的解決方案。Zion的體系結構支持使用架頂式交換機從每個單獨的平台擴展到單個機架中的多個伺服器。隨著Facebook AI訓練的規模和複雜性不斷增長,Zion平台也可以隨之擴展。

Zion系統分為三個部分:

8插槽伺服器

8加速器平台

OCP加速器模塊

Zion將系統的內存、計算和網路密集型組件解耦,允許每個組件獨立擴展。系統為嵌入SparseNN表等內存容量密集型組件提供了8x NUMA CPU介面和大容量DDR內存池。而對CNN或者SparseNN密集部分這樣的內存帶寬密集型和計算密集型工作負載,每個CPU介面都連接了OCP加速模塊。

Zion系統有兩個高速結構:連接所有CPU的連貫結構和連接所有加速器的結構。鑒於加速器存儲帶寬高但存儲容量低,Facebook希望通過對模型進行分區來有效地使用可用的聚合內存容量,使得更頻繁訪問的數據駐留在加速器上,而訪問頻率較低的數據駐留在帶CPU的DDR內存。所有CPU和加速器之間的計算和通信都是平衡的,並且通過高速和低速相連有效地進行。


通過Kings Canyon執行推理

在訓練完模型之後,就需要將其部署到生產環境中,從而處理AI流程的數據,並響應用戶的請求,這就是所謂的推理。推理的工作負載正急劇增加,這反映了訓練工作的大量增加,目前使用的標準CPU伺服器已無法很好的擴展規模以滿足需求。

Facebook正與Esperanto、Intel、Marvell和Qualcomm等多個合作夥伴合作,開發可在基礎架構上部署和擴展的推理ASIC晶元。這些晶元將為工作負載提供INT8半精度的運算,從而獲得理想的性能,同時也支持FP16單精度的運算,從而實現更高的精度。

整個推理伺服器解決方案分為四個不同的部分,它們利用了已經發布到OCP的現有構建塊。利用現有組件可以加快開發進度,並通過通用性降低風險。該設計的四個主要組成部分為:

Kings Canyon推理M.2模塊

Twin Lakes單插槽(single-socket)伺服器

Glacier Point v2載卡(carrier card)

Yosemite v2機架

深度學習模型是儲存密集型負載,如SparseNN模型具有非常大的嵌入表徵表,它會佔用好幾GB的存儲空間,並且還可能會持續增長。這樣的大模型可能不適合載入到單獨設備的內存中,不論是CPU還是加速器都不行,這就要求在多個設備內存上進行模型分割(model partitioning)。當數據位於另一個設備的內存中時,分割將產生很多通信成本,好的分割演算法會應用捕獲局部的概念,從而降低通信成本。

在進行合適的模型分割後,就可以運行如SparseNN模型這樣大規模的深度學習模型。如果單節點的內存能力不足以支持給定的模型,可以在兩個節點之間進一步分割模型,從而增加模型可用的內存量。這兩個節點可以通過多主機NIC連接,並支持高速信息處理。這將增加整體的通信成本,可以利用跨多個嵌入表存在訪問差異的特性,相應地對錶進行排序而降低通信延遲。

神經網路硬體加速器編譯器

ASIC不運行通用代碼,它們需要專門的編譯器將圖形轉換為可以在這些加速器上執行的指令。Glow編譯器的目標是將供應商的特定硬體從更高級的軟體堆棧中抽象出來,使基礎設施不受供應商限制。它接受來自PyTorch 1.0等框架的計算圖,並為這些機器學習加速器生成高度優化的代碼。


使用Mount Shasta進行視頻轉碼

自2016年以來,Facebook Live直播的平均數量每年翻一番。自2018年8月在全球推出以來,Facebook Watch的月瀏覽量已經超過4億,每天有7500萬人使用。為了優化所有這些視頻,使其能適應多種網路環境,Facebook劃分了多種不同解析度和比特率的輸出質量,這個過程稱為視頻轉碼。

完成轉碼所需要的計算是高度密集型的,通用處理器的效率已無法滿足日益增長的視頻需要。為了走在需求的前面,Facebook與博通和芯原微電子合作,設計了針對轉碼工作負載進行優化的定製ASIC。

視頻轉碼流程被分解為許多不同的步驟,為了提高效率,Facebook與供應商為轉碼流程的每個階段均創建了定製ASIC模塊。專用硬體來完成這些工作負載可以使該過程更加高效,並可支持實時4K 60fps流媒體等新功能。單個視頻編解碼器是標準化的,且不會經常修改,因此在這種情況下,定製晶元缺乏靈活性的特徵並不是一個顯著的缺點。

視頻轉碼的第一個階段稱為解碼,在解碼過程中,上傳的文件被解壓,以獲得由一系列圖像表示的原始視頻數據。隨後對這些未壓縮的圖像進行操作,以更改它們的解析度,而後再次使用優化設置進行編碼,將它們重新壓縮到視頻流中,並將輸出視頻與原始視頻進行比較,計算質量指標。

所有的視頻都採取這種做法,以確保所用的編碼設置可以輸出高質量的視頻。視頻編碼和解碼使用的標準稱為視頻編碼方式,H.264、VP9和AV1都是目前使用的主流編碼協議。

在ASIC上,除了每個軟體演算法都被晶元內的專用模塊所取代外,其他步驟都是相同的,Facebook希望視頻加速器可支持多種解析度和多種編碼格式,並實現比目前伺服器高出許多倍效率,目標是10W功耗內至少處理2個4K 60fps的並行輸入流。

視頻轉碼ASIC通常有以下主要邏輯塊:

解碼器:接收上傳的視頻,輸出解壓縮的原始視頻流

縮放器(Scaler):更改視頻解析度

編碼器:輸出壓縮(編碼)視頻

質量檢測:計算編碼後的視頻質量

PHY:晶元與外界的介面,連接到伺服器的PCI-E和內存通道

控制器:運行固件並協調轉碼流程的通用塊

與推理一樣,Facebook利用現有的OCP構建塊在數據中心內部署這些視頻轉碼ASIC。加速器將安裝在集成了散熱器的M.2模塊上,這種常見的電氣外形在不同硬體平台上均可以通用。模塊被安裝在Glacier Point v2(GPv2)載卡上,該載卡具有和Twin Lakes伺服器一樣的物理外形,可容納多個M.2模塊,可適配 Yosemite v2機架,並在其中與Twin Lakes伺服器配對。

由於視頻轉碼ASIC要求功耗低且體積小,因此Facebook希望通過將儘可能多的晶元與單個伺服器相連接來節約成本。高密度的GPv2可實現這一目標,同時還可提供足夠的冷卻能力以承受數據中心的工作溫度。

完成軟體集成工作後,Facebook可將視頻轉碼工作負載平衡分布到不同數據中心位置的異構硬體上。為了在與各種機器學習和視頻空間供應商的合作過程中擴大規模,他們還努力確保軟體以開放的形式開發,並推廣和採用通用的界面和框架。

Facebook在文中表示,公司將迎來激動人心的未來,希望Zion、Kings Canyon和Mount Shasta能購分別解決在AI訓練、AI推理和視頻轉碼方面不斷增長的工作量。Facebook將通過OCP公開提供所有設計和規格,歡迎其他公司的加入以加速基礎架構建設的進程,並通過硬體和軟體協同設計繼續努力改進這些系統。

雷鋒網雷鋒網

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 雷鋒網 的精彩文章:

飛步科技獲數千萬美元Pre A輪融資
盜號木馬瘋狂竊取遊戲幣,竟還利用搜索引擎打廣告?

TAG:雷鋒網 |