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