1
本文作者: 周翔 | 2017-06-08 12:20 |
雷鋒網(wǎng)按:2015 年,英偉達(dá)在 CES 上推出了用于自動(dòng)駕駛開發(fā)的 Drive PX,2016年,在 GTC Europe 大會(huì)上,Drive PX 家族中最高階的計(jì)算機(jī)——Xavier 首次被公開,它的創(chuàng)新之處在于,整合了 CPU、GPU 以及 DLA(深度學(xué)習(xí)加速器) 三大處理器的優(yōu)點(diǎn)。
今年 5 月,在美國(guó)舉行的 GTC 大會(huì)上,英偉達(dá) CEO 黃仁勛宣布,為加速深度學(xué)習(xí)技術(shù)的普及和進(jìn)步,將開源 Xavier DLA 供所有開發(fā)者使用、修改。初期版本將在 7 月開放,完整版本將于 9 月公開。
雖然全新的 Volta 架構(gòu)和基于該架構(gòu)的 Tesla V100 搶盡了風(fēng)頭,但是網(wǎng)絡(luò)上有不少人認(rèn)為,Xavier DLA 對(duì)的開源,于整個(gè)芯片產(chǎn)業(yè)來說,將會(huì)產(chǎn)生深遠(yuǎn)影響。
杜克大學(xué)的副教授陳怡然表示,在谷歌的 TPU 問世之前,大規(guī)模產(chǎn)業(yè)化應(yīng)用的例子僅有 GPU 和 FPGA 在數(shù)據(jù)中心上而已,英偉達(dá)肯定感受到了 TPU 帶來的沖擊。由于傳統(tǒng) GPU 架構(gòu)的功耗限制了它的應(yīng)用場(chǎng)景,而英偉達(dá)此次開源 Xavier DLA 就是瞄準(zhǔn)了嵌入式和 IoT 市場(chǎng),而這也是包括地平線、深鑒科技等在內(nèi)的很多 AI 芯片創(chuàng)業(yè)公司瞄準(zhǔn)的領(lǐng)域,英偉達(dá)此舉勢(shì)必會(huì)給他們帶來一定的影響。
Xavier DLA到底什么?
有什么用途?
跟 TPU 、DPU 有什么區(qū)別?
會(huì)對(duì)地平線、深鑒科技等造成怎樣的影響?
帶著這些疑問,雷鋒網(wǎng)采訪了杜克大學(xué)的陳怡然老師,以及他的三位學(xué)生——李思成、吳春鵬、以及劉瀟瀟。
陳怡然:杜克大學(xué)電子與計(jì)算機(jī)工程系副教授,杜克進(jìn)化智能中心聯(lián)合主任。
以下是采訪內(nèi)容,雷鋒網(wǎng)做了不改變?cè)獾木庉嫛?/em>
雷鋒網(wǎng):英偉達(dá)開源的 Xavier DLA 到底是什么?有什么用途?
劉瀟瀟:Xavier 是為自動(dòng)駕駛開發(fā)的加速 AI 計(jì)算的 SoC。最新發(fā)布的 Xavier 集成了新的 Volta GPU 架構(gòu) DLA 是里面的 inference(推理) 加速器,功能類似TPU。雖然Xavier 是為自動(dòng)駕駛開發(fā)的,但DLA可以被使用在其他低功耗AI加速器上,比如IoT。
李思成:要說開源的 Xavier DLA 是,還要從 Xavier 是什么說起。英偉達(dá)除了提供底層架構(gòu)之外, 在應(yīng)用層面上也有非常明確的布局,其中最看重也最有領(lǐng)先優(yōu)勢(shì)的就是自動(dòng)駕駛。Xavier 是在去年英偉達(dá)在歐洲 GTC 大會(huì)上推出的最新自動(dòng)駕駛 SoC,結(jié)構(gòu)上主要是由一組八核 ARMv8 處理器加上 512 個(gè)最新一代的 Volta Cuda core 組成,性能方面達(dá)到 20 TOPS (基于8比特整數(shù)運(yùn)算),同時(shí)只有 20 瓦的能耗。
Xavier DLA 是在今年最新的 GTC 大會(huì)推出的開源機(jī)器學(xué)習(xí)處理器架構(gòu),是以自動(dòng)駕駛為出發(fā)點(diǎn)為 IoT設(shè)備提供有 inference 功能的硬件解決方案。
為什么說 DLA 主要是為 IoT 設(shè)備設(shè)計(jì)的?從現(xiàn)在的架構(gòu)來看,DLA 只提供 inference 功能。在服務(wù)器端英偉達(dá)應(yīng)該還是會(huì)沿用傳統(tǒng) GPU 的設(shè)計(jì),主推最新的 Volta 架構(gòu)。同時(shí)我們可以看到 DLA 架構(gòu)中新加入了 Sparse Weight Decompression 和對(duì) Winograd 的支持。設(shè)計(jì)稀疏網(wǎng)絡(luò)的出發(fā)點(diǎn)是通過對(duì)傳統(tǒng)稠密網(wǎng)絡(luò)的剪枝,去掉冗余的網(wǎng)絡(luò)連接,在保證識(shí)別的準(zhǔn)確率的基礎(chǔ)上減少 memory footprint 同時(shí)減少運(yùn)算量。比如在 45nm 技術(shù)下一次 32 bit DRAM data access 需要640 pJ,而 32 bit 的整數(shù)乘法只需要 3.1 pJ, 通過對(duì)網(wǎng)絡(luò)的稀疏化減少對(duì) DRAM 的訪問,對(duì)energy-constrained(能耗限制)的IoT設(shè)備有更很明顯的意義。
雷鋒網(wǎng):Xavier DLA 主要是針對(duì)自動(dòng)駕駛的應(yīng)用,這個(gè)領(lǐng)域的應(yīng)用有什么要求和特點(diǎn)?它可能會(huì)包含哪些模塊技術(shù)?
吳春鵬:無人駕駛主要包括三個(gè)模塊。
第一個(gè)模塊接收傳感器輸入。一般常用的傳感器是定位 GPS、激光雷達(dá)、攝像頭和聲納。激光雷達(dá)和聲納系統(tǒng)是躲避障礙物的兩道屏障,而攝像頭主要用來收集路況信息,比如行人、交通指示牌、行車道等。
第二個(gè)模塊根據(jù)傳感器數(shù)據(jù)分析路況并作出行駛決策,主要包含目標(biāo)定位、識(shí)別和跟蹤這三個(gè)任務(wù),所要作出的決策主要是行車路線和躲避障礙。目前常用的算法是深度神經(jīng)網(wǎng)絡(luò) DNN,具體可以分為處理靜態(tài)任務(wù)的卷積神經(jīng)網(wǎng)絡(luò) CNN 和處理與時(shí)間相關(guān)任務(wù)的 RNN/LSTM。
第三個(gè)模塊提供與云平臺(tái)的交互。因?yàn)檐囕d計(jì)算系統(tǒng)的計(jì)算能力和存儲(chǔ)能力有限,需要通過云端實(shí)現(xiàn)海量數(shù)據(jù)存儲(chǔ)、復(fù)雜機(jī)器學(xué)習(xí)模型訓(xùn)練和高精度地圖繪制。
無人駕駛的應(yīng)用場(chǎng)合開放,從而導(dǎo)致來自環(huán)境的隨機(jī)干擾因素增加,對(duì)規(guī)劃路線進(jìn)行實(shí)時(shí)修改的可能性很大,比如遇到城市上下班的高峰期。這對(duì)相關(guān)算法的魯棒性和自適應(yīng)能力提出了更高的要求,一般需要機(jī)器學(xué)習(xí)模型隨著使用環(huán)境的變化進(jìn)行必要的再訓(xùn)練和進(jìn)化,但現(xiàn)在 Xavier DLA 只開放了 inference 源代碼,而沒有開放訓(xùn)練的源代碼,所以實(shí)現(xiàn)定制化的高效在線學(xué)習(xí)可能還需要云端配合。
第二個(gè)特點(diǎn)是和人類駕駛員、乘客交互(語音、手勢(shì)、文本等等)依舊很重要。一方面,人可能需要隨時(shí)調(diào)整行駛線路和目的地,并且享受行車過程;另一方面,人可以根據(jù)自身經(jīng)驗(yàn),在緊急時(shí)刻發(fā)出有效的避險(xiǎn)指令。路況預(yù)測(cè)和乘客交互是計(jì)算量不同的任務(wù),并且需要協(xié)同工作,Xavier DLA 所包含的 GPU 和 CPU 異構(gòu)計(jì)算架構(gòu)就適用于這一點(diǎn)。
第三個(gè)特點(diǎn)是對(duì)安全性要求極高。要同時(shí)保證乘客和路人的安全,這是非常有挑戰(zhàn)性的。比如現(xiàn)階段一個(gè)絕對(duì)不可忽視的安全隱患:決策模塊普遍采用的 DNN 是“黑盒子”,DNN 出現(xiàn)判斷錯(cuò)誤的情況在機(jī)器學(xué)習(xí)專家看來還無法完全解釋,糾正 DNN 產(chǎn)生的錯(cuò)誤也還沒有一個(gè)系統(tǒng)性的方法,所以相關(guān)模塊是不可信的。其他算法也存在類似的問題。2016 年導(dǎo)致車毀人亡的特斯拉事故就很有可能來自視覺系統(tǒng)算法的一個(gè)錯(cuò)誤::在強(qiáng)烈日光下,計(jì)算機(jī)系統(tǒng)沒有把白色卡車的車身和白云區(qū)分開,算法導(dǎo)致的錯(cuò)誤無法得到修正。
雷鋒網(wǎng):英偉達(dá)采取的是怎樣一種開源形式?
劉瀟瀟:根據(jù)現(xiàn)在的消息,英偉達(dá)會(huì)同時(shí)開源 DLA 的 source code(源代碼)和 instruction set(指令集)。集成了 DLA 的產(chǎn)品都可以使用英偉達(dá)成熟的基于 CUDA 的深度學(xué)習(xí)生態(tài)系統(tǒng)。
雷鋒網(wǎng):構(gòu)建在 TPU 上的云服務(wù)是開放的,但 TPU 本身是不對(duì)外開放的,相比之下英偉達(dá)這種開源形式的利弊是什么?
李思成:根據(jù)之前的分析,TPU 主要是在服務(wù)器端提供云服務(wù),DLA 主要解決的是 IoT 設(shè)備的硬件設(shè)計(jì)問題。不同的服務(wù)方向決定了各自開放的方式。
TPU 在服務(wù)器端需要為上層應(yīng)用提供穩(wěn)定的運(yùn)算平臺(tái), 通過與 TensorFlow 緊密結(jié)合,以開放云服務(wù)的方式逐漸展開應(yīng)用。
然而 IoT 設(shè)備因?yàn)橐獙?duì)應(yīng)不同的應(yīng)用場(chǎng)景,對(duì)硬件的需求自然也都不一樣。在 DLA 開放硬件設(shè)計(jì)源代碼之后,IoT 設(shè)備的硬件設(shè)計(jì)可以根據(jù)應(yīng)用的不同進(jìn)行剪裁。比如說,如果對(duì)應(yīng)的場(chǎng)景必須使用稠密網(wǎng)絡(luò)保證識(shí)別率,那 么Sparse Weight Decompression 的功能就不用在片上實(shí)現(xiàn),從而減少不必要的資源消耗 。
雷鋒網(wǎng):Xavier DLA 和谷歌的 TPU、以及深鑒科技的 DPU 有什么差別以及相同之處?
李思成:盡管 DLA 和 TPU 在結(jié)構(gòu)上看似有很多相似之處,都是從 DRAM 讀取數(shù)據(jù)后,在片上緩存數(shù)據(jù),再送給以矩陣運(yùn)算為核心的運(yùn)算單元進(jìn)行處理。但是如果從設(shè)計(jì)風(fēng)格上看,還是有比較大的差別。
英偉達(dá)擅長(zhǎng)于大規(guī)模的并行運(yùn)算,同時(shí)配合編程框架 CUDA 主導(dǎo)著當(dāng)前的深度學(xué)習(xí)市場(chǎng),設(shè)計(jì)的重點(diǎn)在于如何提高運(yùn)算單元的并行性。拿這次的 Volta 架構(gòu)來說,最大的變化是在原先 SM 的基礎(chǔ)上增加了 Tensor Core 這樣的矩陣運(yùn)算單元。當(dāng)然,為了提高整個(gè)系統(tǒng)的運(yùn)算性能,數(shù)據(jù)的訪問方式和存儲(chǔ)器的接口設(shè)計(jì)也很重要。英偉達(dá)的做法主要是用 GDDR5 甚至 HBM 這樣帶寬達(dá)到上百 GB/s 的接口,為運(yùn)算單元提供數(shù)據(jù),同時(shí)通過與 CUDA 的緊密結(jié)合為上層應(yīng)用提供更通用的運(yùn)算平臺(tái)。
就第一代 TPU 的結(jié)構(gòu)設(shè)計(jì)而言,我們看到它只是用了 30 GB/s 的帶寬就能達(dá)到 92 TOPS 的 8 比特整數(shù)運(yùn)算能力。這和 TPU 的設(shè)計(jì)領(lǐng)導(dǎo)者之一 Norman Jouppi 有很大的關(guān)系,Norman 作為計(jì)算機(jī)體系結(jié)構(gòu)領(lǐng)域非常有影響力的架構(gòu)師,非常擅長(zhǎng)對(duì) memory hierarchy 的優(yōu)化,而且對(duì)數(shù)據(jù)的偏上緩存與數(shù)據(jù)復(fù)用有很深的理解,他參與設(shè)計(jì)的 CACTI 工具被廣泛的用于 cache 建模。Norman 在設(shè)計(jì) TPU 的時(shí)候一定也考慮了數(shù)據(jù)讀取對(duì)運(yùn)算性能的影響,在 TPU 的 floor plan 中我們可以看到有 29% 的資源都是拿來做片上緩存 (24MB on TPU, 512 KB on DLA)。盡管在他們公開的文章中沒有太多細(xì)節(jié)講到數(shù)據(jù)的調(diào)度和片上存儲(chǔ)的方式,但可以想象,這其中一定做了很多優(yōu)化。
最新的第二代 TPU 除了 inference 同時(shí)也可以做 training,而 training 對(duì)于 data manipulation(數(shù)據(jù)操控) 有更高的要求,比如在進(jìn)行反向傳播的時(shí)候需要對(duì)矩陣進(jìn)行轉(zhuǎn)置,在讀取原始矩陣并進(jìn)行轉(zhuǎn)置的過程會(huì)破壞 data streaming(數(shù)據(jù)流),從而降低 memory access efficiency(存儲(chǔ)讀取效率)。這也是為什么在 GPU 上,前向要比反向效率更高的原因之一。可以想象,第二代 TPU 在數(shù)據(jù)讀取方面肯定會(huì)有更深層次的優(yōu)化。但是 TPU 只能在谷歌和谷歌云的計(jì)算引擎內(nèi)部使用,而且只能在使用 TensorFlow的架構(gòu)下使用。
深鑒科技的設(shè)計(jì)思想是對(duì)神經(jīng)網(wǎng)絡(luò)進(jìn)行稀疏化或者剪枝之后在 FPGA 上進(jìn)行高效處理。目前來看,深度學(xué)習(xí)算法還未完全成熟,算法還在迭代衍化的過程中,若深度學(xué)習(xí)算法發(fā)生大的變化,F(xiàn)PGA 可以靈活地配置硬件結(jié)構(gòu),快速切入市場(chǎng)。當(dāng)然 ASIC (Application Specific Integrated Circuit)是能效最高的, 但由于開發(fā) ASIC 可能需要較長(zhǎng)的開發(fā)周期,在 AI 芯片這個(gè)日新月異的市場(chǎng)中,芯片的設(shè)計(jì)可能會(huì)錯(cuò)過創(chuàng)新的機(jī)遇。這就是為什么包括百度、亞馬遜、微軟等在內(nèi)的許多科技巨頭的數(shù)據(jù)中心都會(huì)用 FPGA 來加速一些關(guān)鍵工作負(fù)載,以便在提供高性能和高效率的同時(shí),隨時(shí)保持硬件升級(jí)的靈活性。
雷鋒網(wǎng):Xavier DLA 開源,對(duì)創(chuàng)業(yè)公司和大公司的價(jià)值是什么?對(duì)英偉達(dá)有什么好處?
李思成:芯片設(shè)計(jì)的開發(fā)周期長(zhǎng),從設(shè)計(jì)到投入使用需要很高的成本。Xavier DLA 開源對(duì)外部公司的價(jià)值在于降低AI芯片的設(shè)計(jì)門檻,開發(fā)者可以很快實(shí)現(xiàn)應(yīng)用,避免重復(fù)工作,降低行業(yè)的研發(fā)成本。同時(shí),伴隨著深度學(xué)習(xí)應(yīng)用需求不斷涌現(xiàn),軟硬件接口逐漸模糊,成熟工藝的成本不斷下降,DLA 為特定應(yīng)用做深入到晶體管級(jí)的全棧優(yōu)化提供了一個(gè)現(xiàn)實(shí)的選項(xiàng)。
具體來說,對(duì)于傳統(tǒng)的芯片制造廠商來說,在已有技術(shù)的基礎(chǔ)之上添加深度學(xué)習(xí)的功能是一個(gè)趨勢(shì)。一般來說,除了自己開發(fā)之外就是去找相關(guān)的 IP Provider。但是DLA開源之后,如果性能理想,這些大公司應(yīng)該會(huì)慢慢轉(zhuǎn)向基于DLA的架構(gòu)或者基于DLA開發(fā)自己的深度學(xué)習(xí)加速器。當(dāng)然,這個(gè)時(shí)候比較頭疼的應(yīng)該就是那些正在計(jì)劃提供 IP 的設(shè)計(jì)廠商。
主打 AI 芯片的創(chuàng)業(yè)公司,面臨的主要問題是市場(chǎng)被擠壓,同時(shí)會(huì)有越來越多的公司通過開源硬件進(jìn)入這個(gè)領(lǐng)域。
說到 DLA 開源對(duì)英偉達(dá)的利弊,其實(shí)沒有一家廠商不希望自己的產(chǎn)品可以壟斷整個(gè)市場(chǎng),在學(xué)術(shù)界也有想要提供通用平臺(tái)的嘗試,可是長(zhǎng)期以來,并沒有看到成熟的技術(shù)可以為各種應(yīng)用場(chǎng)景都提供理想的解決方案。但是英偉達(dá)又希望占領(lǐng)現(xiàn)在還無暇顧及的領(lǐng)域,選擇開源的主要目的是將自己的技術(shù)生態(tài)系統(tǒng)擴(kuò)展到公司的直接市場(chǎng)以外,延續(xù)自己在深度學(xué)習(xí)領(lǐng)域的領(lǐng)導(dǎo)地位,遏制競(jìng)爭(zhēng)對(duì)手,贏得業(yè)界事實(shí)標(biāo)準(zhǔn)的控制權(quán)。
雷鋒網(wǎng):會(huì)對(duì)深鑒科技、地平線等 AI 芯片創(chuàng)業(yè)公司造成怎樣的影響?
陳怡然:深鑒科技、地平線、寒武紀(jì)等AI芯片創(chuàng)業(yè)公司都有各自所主要發(fā)力的市場(chǎng),并不完全相同。在技術(shù)上和英偉達(dá)各有千秋(其實(shí)我個(gè)人覺得在具體問題理解上比英偉達(dá)還好)。
英偉達(dá)帶來的主要影響實(shí)際上不是技術(shù)層面上的,而是對(duì)整個(gè)生態(tài)鏈的沖擊。這些創(chuàng)業(yè)公司還來不及建立與之抗衡的整個(gè)生態(tài)系統(tǒng)??紤]到很多 AI 的實(shí)際應(yīng)用要求和具體算法都有其特殊性,也許不少公司會(huì)選擇利用開源資源來實(shí)現(xiàn)自己獨(dú)特的硬件系統(tǒng),而不是等待成熟的產(chǎn)品出現(xiàn)。這對(duì) AI 芯片創(chuàng)業(yè)公司來說是最大的威脅。但也正因?yàn)槿绱?,英偉達(dá)一貫所追求的通用性和 AI 硬件及應(yīng)用的獨(dú)特性之間(至少在近期)的天然矛盾,仍舊會(huì)給這些創(chuàng)業(yè)公司相當(dāng)大的創(chuàng)業(yè)空間,這就要看誰跑的更快了。
(完)
雷鋒網(wǎng)注:
陳怡然:杜克大學(xué)電子與計(jì)算機(jī)工程系副教授,杜克進(jìn)化智能中心聯(lián)合主任。
李思成:杜克大學(xué)電子與計(jì)算機(jī)工程系在讀博士生,曾在美光、深鑒科技等公司實(shí)習(xí)。
吳春鵬:杜克大學(xué)電子與計(jì)算機(jī)工程系在讀博士生,前富士通研發(fā)中心研究員,曾在美光、LG北美實(shí)驗(yàn)室等公司實(shí)習(xí)。
劉瀟瀟:匹茲堡大學(xué)電子與計(jì)算機(jī)工程系博士,現(xiàn)AMD主任研發(fā)工程師。
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。