Facebook基礎(chǔ)架構(gòu)副總裁Jason Taylor說(shuō),F(xiàn)acebook「確實(shí)成立了一支專門與晶片供應(yīng)商合作的晶片團(tuán)隊(duì),同時(shí),我們也在打造自家晶片。不過(guò)這當(dāng)然不是我們的首要關(guān)注重點(diǎn)?!顾硎荆@款晶片「并不等同于Google TPU」深度學(xué)習(xí)加速器,但他并未提供與這款晶片有關(guān)的更多細(xì)節(jié)或時(shí)間表。
Facebook的新晶片部門工作重點(diǎn)之一在于與大約50家設(shè)計(jì)人工智慧(AI)加速器的公司合作。Taylor指出,「市場(chǎng)上將出現(xiàn)許多加速器晶片。但最大的問(wèn)題在于他們針對(duì)的工作負(fù)載是否是當(dāng)前最重要的?!?/p>
在主題演講中,Taylor將Glow描述為一種通用編譯器,讓開(kāi)發(fā)人員能夠針對(duì)云端或網(wǎng)路邊緣中任何新興深度學(xué)習(xí)加速器進(jìn)行推論任務(wù)。它并不針對(duì)智慧型手機(jī)等客戶端系統(tǒng)。
「我們預(yù)期[推論加速器]市場(chǎng)將會(huì)出現(xiàn)硬體零碎化的情況。我們開(kāi)發(fā)Glow的目的在于協(xié)助機(jī)器學(xué)習(xí)專家設(shè)計(jì)神經(jīng)網(wǎng)路,而不必面對(duì)調(diào)整『每個(gè)特定晶片』所需的工作。」
「我們知道硬體零碎化即將發(fā)生,因?yàn)闆](méi)有人知道哪一種[硬體]資源的組合——例如晶片上記憶體區(qū)塊和乘法累加陣列——將會(huì)勝出,因此我們讓開(kāi)發(fā)人員專注于高層級(jí)的圖形,而無(wú)需為硬體規(guī)格手動(dòng)編碼?!?/p>
Facebook基礎(chǔ)架構(gòu)副總裁Jason Taylor形容Glow是一款為云端和邊緣網(wǎng)路進(jìn)行推論的編譯器(來(lái)源:Facebook)
Taylor解釋,Glow采用由TensorFlow或Caffe2等架構(gòu)產(chǎn)生的AI圖形,并將其渲染為硬體加速器的位元程式碼。根據(jù)Facebook的一篇部落格文章,該編譯器內(nèi)含幾種工具,包括為晶片特定記憶體配置產(chǎn)生有效程式碼的指令排程器、線性代數(shù)最佳化器與記憶體分配器,以及用于測(cè)試硬體精確度的CPU參考建置。
益華電腦(Cadence)、Esperanto Technologies、英特爾(Intel)、Marvell和高通(Qualcomm)等公司都表示未來(lái)的晶片將支援Glow。Taylor則表示希望進(jìn)一步擴(kuò)展支援名單?!高@是Glow作為開(kāi)放來(lái)源的優(yōu)點(diǎn)之一?!?/p>
一位資深晶片專家將Glow描述為在生產(chǎn)系統(tǒng)中部署神經(jīng)網(wǎng)路的架構(gòu)。其輸入是在TensorFlow或Caffe2等架構(gòu)中創(chuàng)建的圖形。
幾家既有的晶片制造商已經(jīng)提供了類似的軟體。例如,輝達(dá)(Nvidia)的Tensor RT自架構(gòu)中提取圖形,并為其GPU輸出Cuda程式碼。
傳統(tǒng)上,編譯器針對(duì)特定晶片進(jìn)行嚴(yán)密的最佳化。但是,Taylor說(shuō):「近來(lái)的編譯器范圍比過(guò)去的更加廣泛——Glow中的最佳化必須能辨識(shí)可以渲染到硬體加速器的大部份圖形?!?/p>
轉(zhuǎn)型AI的前兆?
在快速發(fā)展的深度學(xué)習(xí)領(lǐng)域,Glow可說(shuō)是致力于填補(bǔ)軟體和硬體之間差距的最新例證。例如,Nvidia Tensor RT雖然在一年多前才首次發(fā)布,至今已進(jìn)展到第五個(gè)版本了。但有些加速器新創(chuàng)公司對(duì)于支持各種軟體架構(gòu)及其變化所要求的工作程度也無(wú)能為力。
Facebook、微軟(Microsoft)和其他公司則都支援ONNX——一種以權(quán)重表現(xiàn)圖形的標(biāo)準(zhǔn)方法。去年12月,Khronos Group還發(fā)布了用于深度學(xué)習(xí)加速器的硬體抽象層NNEF。
Glow是Pytorch 1.0的一個(gè)組成部份。Pytorch 1.0是一個(gè)開(kāi)放來(lái)源計(jì)劃組合,包括合并的Caffe2和Pytorch架構(gòu)。Pytorch 1.0的第一個(gè)開(kāi)發(fā)者大會(huì)將于今年10月在舊金山舉行。
Facebook工程經(jīng)理Kim Hazelwood在另一場(chǎng)活動(dòng)中展示Facebook使用的十幾種不同深度學(xué)習(xí)工作負(fù)載,其中至少使用了四種不同類型的神經(jīng)網(wǎng)路。每天,該AI應(yīng)用程式(App)產(chǎn)生超過(guò)200兆個(gè)推論,翻譯超過(guò)50億個(gè)文本,同時(shí)也自動(dòng)刪除至少100萬(wàn)個(gè)假帳戶。
她說(shuō),F(xiàn)acebook的一些推論任務(wù)需要的運(yùn)算量是其他任務(wù)的100倍。如今,F(xiàn)acebook在其設(shè)計(jì)的一小部份CPU和GPU伺服器上執(zhí)行這些任務(wù)。
Hazelwood在接受《EE Times》訪問(wèn)時(shí)說(shuō),從通用硬體轉(zhuǎn)向客制硬體,必須為那些仍在定義中的工作負(fù)載量身打造晶片。但她拒絕透露Facebook對(duì)于使用任何自定義AI加速器的想法。
在至少十幾種深度學(xué)習(xí)app中,僅Facebook本身就采用了至少5種神經(jīng)網(wǎng)路
一位觀察家推測(cè),Glow可說(shuō)是一款理想的工具,有助于讓公司采用適合其工作負(fù)載的加速器。Facebook的晶片團(tuán)隊(duì)還能協(xié)助精選晶片,或許還可以為其提出客制化晶片的建議。
此外,F(xiàn)acebook的一篇部落格文章描述它所開(kāi)發(fā)的一款全新軟體工具,使用深度學(xué)習(xí)來(lái)除錯(cuò)程式碼。SapFix可以自動(dòng)產(chǎn)生針對(duì)特定錯(cuò)誤的修復(fù)程式,然后提交給工程師進(jìn)行審核并部署至生產(chǎn)中。
目前,F(xiàn)acebook已經(jīng)使用SapFix,加速為使用Facebook Android App的數(shù)百萬(wàn)裝置發(fā)送程式碼更新的過(guò)程。Facebook表示將發(fā)布該工具的一個(gè)版本,但未具體說(shuō)明時(shí)間表。