據Facebook一位高層證實,該公司目前正在招聘晶片工程師,並展開至少一款ASIC設計。在日前於美國加州舉行的Facebook @Scale 2018大會上,這家社交網路巨擘宣佈,預計將有五家晶片公司支援其Glow——一款開放來源的深度學習編譯器。

Facebook基礎架構副總裁Jason Taylor說,Facebook「確實成立了一支專門與晶片供應商合作的晶片團隊,同時,我們也在打造自家晶片。不過這當然不是我們的首要關注重點。」他表示,這款晶片「並不等同於Google TPU」深度學習加速器,但他並未提供與這款晶片有關的更多細節或時間表。

Facebook的新晶片部門工作重點之一在於與大約50家設計人工智慧(AI)加速器的公司合作。Taylor指出,「市場上將出現許多加速器晶片。但最大的問題在於他們針對的工作負載是否是當前最重要的。」

在主題演講中,Taylor將Glow描述為一種通用編譯器,讓開發人員能夠針對雲端或網路邊緣中任何新興深度學習加速器進行推論任務。它並不針對智慧型手機等客戶端系統。

「我們預期[推論加速器]市場將會出現硬體零碎化的情況。我們開發Glow的目的在於協助機器學習專家設計神經網路,而不必面對調整『每個特定晶片』所需的工作。」

「我們知道硬體零碎化即將發生,因為沒有人知道哪一種[硬體]資源的組合——例如晶片上記憶體區塊和乘法累加陣列——將會勝出,因此我們讓開發人員專注於高層級的圖形,而無需為硬體規格手動編碼。」

Jason Taylor Glow Facebook基礎架構副總裁Jason Taylor形容Glow是一款為雲端和邊緣網路進行推論的編譯器(來源:Facebook)

Taylor解釋,Glow採用由TensorFlow或Caffe2等架構產生的AI圖形,並將其渲染為硬體加速器的位元程式碼。根據Facebook的一篇部落格文章,該編譯器內含幾種工具,包括為晶片特定記憶體配置產生有效程式碼的指令排程器、線性代數最佳化器與記憶體分配器,以及用於測試硬體精確度的CPU參考建置。

益華電腦(Cadence)、Esperanto Technologies、英特爾(Intel)、Marvell和高通(Qualcomm)等公司都表示未來的晶片將支援Glow。Taylor則表示希望進一步擴展支援名單。「這是Glow作為開放來源的優點之一。」

一位資深晶片專家將Glow描述為在生產系統中部署神經網路的架構。其輸入是在TensorFlow或Caffe2等架構中創建的圖形。

幾家既有的晶片製造商已經提供了類似的軟體。例如,輝達(Nvidia)的Tensor RT自架構中提取圖形,並為其GPU輸出Cuda程式碼。

傳統上,編譯器針對特定晶片進行嚴密的最佳化。但是,Taylor說:「近來的編譯器範圍比過去的更加廣泛——Glow中的最佳化必須能辨識可以渲染到硬體加速器的大部份圖形。」

Facebook Glow

轉型AI的前兆?

在快速發展的深度學習領域,Glow可說是致力於填補軟體和硬體之間差距的最新例證。例如,Nvidia Tensor RT雖然在一年多前才首次發佈,至今已進展到第五個版本了。但有些加速器新創公司對於支持各種軟體架構及其變化所要求的工作程度也無能為力。

Facebook、微軟(Microsoft)和其他公司則都支援ONNX——一種以權重表現圖形的標準方法。去年12月,Khronos Group還發佈了用於深度學習加速器的硬體抽象層NNEF。

Glow是Pytorch 1.0的一個組成部份。Pytorch 1.0是一個開放來源計劃組合,包括合併的Caffe2和Pytorch架構。Pytorch 1.0的第一個開發者大會將於今年10月在舊金山舉行。

Facebook工程經理Kim Hazelwood在另一場活動中展示Facebook使用的十幾種不同深度學習工作負載,其中至少使用了四種不同類型的神經網路。每天,該AI應用程式(App)產生超過200兆個推論,翻譯超過50億個文本,同時也自動刪除至少100萬個假帳戶。

她說,Facebook的一些推論任務需要的運算量是其他任務的100倍。如今,Facebook在其設計的一小部份CPU和GPU伺服器上執行這些任務。

Hazelwood在接受《EE Times》訪問時說,從通用硬體轉向客製硬體,必須為那些仍在定義中的工作負載量身打造晶片。但她拒絕透露Facebook對於使用任何自定義AI加速器的想法。

Facebook neural nets 在至少十幾種深度學習app中,僅Facebook本身就採用了至少5種神經網路

一位觀察家推測,Glow可說是一款理想的工具,有助於讓公司採用適合其工作負載的加速器。Facebook的晶片團隊還能協助精選晶片,或許還可以為其提出客製化晶片的建議。

此外,Facebook的一篇部落格文章描述它所開發的一款全新軟體工具,使用深度學習來除錯程式碼。SapFix可以自動產生針對特定錯誤的修復程式,然後提交給工程師進行審核並部署至生產中。

目前,Facebook已經使用SapFix,加速為使用Facebook Android App的數百萬裝置發送程式碼更新的過程。Facebook表示將發佈該工具的一個版本,但未具體說明時間表。

編譯:Susan Hong

(參考原文: Facebook Builds Chip Team, ASIC,by Rick Merritt)