天天看點

Facebook釋出三套AI硬體系統,并順手宣布将其開源

Facebook釋出三套AI硬體系統,并順手宣布将其開源

雷鋒網消息,昨日,Facebook在其代碼官網code.fb.com上釋出消息,釋出了其用于AI訓練的下一代硬體平台Zion、針對AI推理的新定制晶片設計Kings Canyon以及用于視訊轉碼的Mount Shasta。

消息稱,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加速器子產品

Facebook釋出三套AI硬體系統,并順手宣布将其開源
Facebook釋出三套AI硬體系統,并順手宣布将其開源

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機架

Facebook釋出三套AI硬體系統,并順手宣布将其開源
Facebook釋出三套AI硬體系統,并順手宣布将其開源

在系統級别,每個伺服器均由M.2 Kings Canyon加速器和連接配接到Twin Lakes伺服器的Glacier Point v2載卡組成。将兩組元件安裝到更新的Yosemite v2機架中,并通過多主機NIC連接配接到架頂式交換機。更新後的Yosemite sled是目前Yosemite v2 sled的疊代更新,它将Twin Lakes主機的其他PCI-E通道連接配接到NIC,以獲得更高的網絡帶寬。每個Kings Canyon子產品都包含ASIC、相關記憶體和其它支援元件,其中CPU主機通過PCI-E通道與加速器子產品通信。Glacier Point v2包括一個內建的PCI-E交換機,允許伺服器同時通路所有子產品。

深度學習模型是儲存密集型負載,如SparseNN模型具有非常大的嵌入表征表,它會占用好幾GB的存儲空間,并且還可能會持續增長。這樣的大模型可能不适合加載到單獨裝置的記憶體中,不論是CPU還是加速器都不行,這就要求在多個裝置記憶體上進行模型分割(model partitioning)。當資料位于另一個裝置的記憶體中時,分割将産生很多通信成本,好的分割算法會應用捕獲局部的概念,進而降低通信成本。

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

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

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

Facebook釋出三套AI硬體系統,并順手宣布将其開源

使用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釋出三套AI硬體系統,并順手宣布将其開源

與推理一樣,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公開提供所有設計和規格,歡迎其他公司的加入以加速基礎架建構設的程序,并通過硬體和軟體協同設計繼續努力改進這些系統。

雷鋒網雷鋒網(公衆号:雷鋒網)

原文連結:Accelerating Facebook's infrastructure with application-specific hardware

雷鋒網版權文章,未經授權禁止轉載。詳情見轉載須知。

繼續閱讀