「Facebook 確實正在組建芯片團(tuán)隊,不僅與芯片供應(yīng)商合作,我們也在構(gòu)建自己的芯片。當(dāng)然,這不是我們的首要目標(biāo),」Facebook 基礎(chǔ)設(shè)施副總裁 Jason Taylor 表示。這位高管稱 Facebook 的目標(biāo)并不等同于谷歌的深度學(xué)習(xí)加速器 TPU,但他拒絕透露發(fā)布時間節(jié)點等更多具體細(xì)節(jié)。
與多達(dá) 50 家 AI 加速器設(shè)計公司進(jìn)行合作是 Facebook 新設(shè)芯片部門的工作重點?!改壳笆忻嫔弦延泻芏喾N加速芯片,」Taylor 表示,「最大的問題是,它們針對的工作負(fù)載是否是當(dāng)前最重要的?!?/p>
在 Keynote 中,Taylor 將 Glow 描述為一種通用編譯器,可讓開發(fā)人員針對所有新興的深度學(xué)習(xí)加速器進(jìn)行推理——在云端或者邊緣網(wǎng)絡(luò)。它不面向手機等客戶端系統(tǒng)。
「我們預(yù)計深度學(xué)習(xí)加速器硬件也會出現(xiàn)碎片化的情況,我們在 Glow 上的工作是為了幫助機器學(xué)習(xí)專家設(shè)計神經(jīng)網(wǎng)絡(luò),并讓他們從對每種特定芯片的適配工作中解脫出來?!筎aylor 表示?!肝覀冎浪槠磳⒌絹恚F(xiàn)在沒有人知道哪種硬件資源的組合(如片上存儲模塊和乘法累加陣列)會最終取勝。所以我們讓開發(fā)者聚焦于更高層級的計算圖中,而無需動手動編碼針對硬件的細(xì)節(jié)?!?/p>
Jason Taylor 將 Glow 描述為在云端和邊緣網(wǎng)絡(luò)上進(jìn)行推斷的編譯器。(圖源:Facebook)
Glow 采用 TensorFlow 或 Caffe2 等框架生成的 AI 圖像,然后將它渲染成用于硬件加速器的字節(jié)代碼,Taylor 解釋道。該編譯器包括多個工具,如用來生成用于芯片特定內(nèi)存配置的指令排程器、線性代數(shù)優(yōu)化器、內(nèi)存分配器,以及用來測試硬件準(zhǔn)確率的基于 CPU 的推斷實現(xiàn)。
益華(Cadence)、Esperanto Technologies、英特爾、Marvell 和高通稱它們未來的芯片將支持 Glow。Taylor 期待將其他芯片廠商也添加到支持 Glow 的廠商名單上?!高@是開源 Glow 的好處之一?!?/p>
一名高級芯片專家將 Glow 描述為在生產(chǎn)系統(tǒng)中部署神經(jīng)網(wǎng)絡(luò)的框架。其輸入是 TensorFlow 或 Caffe2 等框架創(chuàng)建的圖。
一些著名的芯片廠商已經(jīng)開始支持類似的軟件。例如,英偉達(dá)的 Tensor RT 將來自框架的圖作為輸入,然后為 GPU 輸出 Cuda 代碼。
傳統(tǒng)上,編譯器是針對特定芯片進(jìn)行嚴(yán)格優(yōu)化的。但是 Taylor 表示,「當(dāng)前編譯器的編譯范圍要比過去大得多——Glow 中的優(yōu)化類型要識別可以渲染給硬件加速器的圖像中的很大一部分?!?/p>
在快速發(fā)展的深度學(xué)習(xí)領(lǐng)域,Glow 是努力彌補軟硬件差距的最新例子。例如,英偉達(dá)的 Tensor RT 現(xiàn)在已經(jīng)發(fā)展到第五代,盡管其第一代僅在一年前發(fā)布。一些加速器初創(chuàng)公司對支持各種軟件框架及其變化所需的工作水平有些無能為力。
Facebook、微軟等公司正在支持 ONNX,這是一種用權(quán)重表示圖形的標(biāo)準(zhǔn)方法。去年 12 月份,Khronos 的團(tuán)隊發(fā)布了深度學(xué)習(xí)加速器的一個硬件抽象層——NNEF。
Glow 是 Pytorch 1.0 的一個組成部分,后者是一個開源項目集,包括合并的 Caffe2 和 Pytorch 框架。Pytorch 1.0 的第一次開發(fā)者大會將于 10 月在舊金山舉行。
在另一個演講中,F(xiàn)acebook 工程經(jīng)理 Kim Hazelwood 展示了 Facebook 使用的十多個不同深度學(xué)習(xí)工作負(fù)載,它們部署在至少四個不同類型的神經(jīng)網(wǎng)絡(luò)上。每天 Facebook 生成超過 200 萬億次推斷,翻譯 50 多億文本,并自動刪除超過一百萬虛假賬號。
她說,F(xiàn)acebook 的一些推斷任務(wù)需要的計算量是其它任務(wù)的 100 倍。如今,F(xiàn)acebook 在其設(shè)計的一小部分 CPU 和 GPU 服務(wù)器上運行這些任務(wù)。
Hazelwood 告訴 EE Times,從通用硬件轉(zhuǎn)向定制硬件將需要針對那些仍在變化的工作負(fù)載定制芯片。她拒絕透露 Facebook 關(guān)于使用任何定制 AI 加速器的想法。
僅 Facebook 就在十幾個深度學(xué)習(xí)應(yīng)用中使用了至少五種神經(jīng)網(wǎng)絡(luò)。
一位觀察者推測,Glow 將是一個理想的工具,使公司能夠采用一些適合其各種工作負(fù)載的加速器。其半導(dǎo)體團(tuán)隊可以幫助公司精選芯片,也許還可以為其中一些公司提供定制芯片的建議。
另外,F(xiàn)acebook 發(fā)布了一篇博客,描述了它創(chuàng)建的一個新軟件工具,該工具使用深度學(xué)習(xí)來調(diào)試代碼。它說,SapFix 可以自動生成特定錯誤的補丁,然后將其提交給工程師審批并部署到生產(chǎn)中。
迄今為止,F(xiàn)acebook 已經(jīng)使用 SapFix 加快了向裝有 Facebook Android 應(yīng)用程序的數(shù)百萬臺設(shè)備發(fā)送代碼更新的進(jìn)程。Facebook 表示將發(fā)布該工具的一個版本,但沒有說明發(fā)布時間。