身為全球最聰明的公司榜首,NVIDIA不僅在由麻省理工科技評(píng)論主辦的EmTechChina中發(fā)表了精彩的演說(shuō),會(huì)后主講者NVIDIA首席科學(xué)家BillDally也在專(zhuān)訪中向DT君揭露了NVIDIA目前在GPU產(chǎn)品、及相關(guān)計(jì)算生態(tài)的的布局。
NVIDIA在GeForce256芯片中增加了包括VertexShader以及PixelShader等可編程計(jì)算能力,并以GPU為相關(guān)繪圖芯片產(chǎn)品定名,顧名思義,GPU是GraphicsProcessorUnit,不像前代RIVA架構(gòu)只能單純進(jìn)行繪圖工作,GeForce256的推出可說(shuō)是重新定義其繪圖芯片產(chǎn)品,繪圖變成是其芯片功能的一部份,可編程的算力才是未來(lái)讓NVIDIA發(fā)光發(fā)熱的核心。
不過(guò)往后數(shù)年,雖然具備了程序設(shè)計(jì)能力,但實(shí)際上于計(jì)算領(lǐng)域有所發(fā)揮也是10年后的事情。這是因?yàn)楫?dāng)時(shí)NVIDIA憑借成功的繪圖架構(gòu)取得市場(chǎng)領(lǐng)先,且和ATI的市場(chǎng)大戰(zhàn)正火熱,流處理計(jì)算還沒(méi)有很好的應(yīng)用之故,NVIDIA也沒(méi)有意會(huì)GPU的算力未來(lái)會(huì)有如此龐大的潛力。2004年,由BillDally帶領(lǐng)的斯坦福大學(xué)團(tuán)隊(duì)針對(duì)GPU的可編程部分設(shè)計(jì)了許多流處理技術(shù)的計(jì)算架構(gòu),這些研究成果后來(lái)成為CUDA的基礎(chǔ)。
后來(lái)NVIDIA也以相關(guān)研究為基礎(chǔ),推出通用并行計(jì)算架構(gòu)CUDA,以及針對(duì)計(jì)算應(yīng)用的Tesla產(chǎn)品線(xiàn)。BillDally對(duì)此可說(shuō)是背后的重要推手之一。
在2009年,BillDally加入NVIDIA后,NVIDIA在GPU計(jì)算的腳步更是飛快發(fā)展。
GPU從原本在各大學(xué)中單純用來(lái)進(jìn)行基礎(chǔ)科學(xué)研究的輔助角色,迅速成為各大超算、數(shù)據(jù)中心的計(jì)算核心,每年全球前五百大超算榜單之中采用NVIDA計(jì)算方案的幾乎都名列前茅。而配合CUDA生態(tài)的成熟,更從2016年大熱的AI議題中,帶起了機(jī)器學(xué)習(xí)與深度學(xué)習(xí)的應(yīng)用熱潮。
但是GPU在面對(duì)如此龐大的計(jì)算市場(chǎng),以及此起彼落的挑戰(zhàn)者,是否還能維持榮景?BillDally為深科技讀者帶來(lái)獨(dú)家的觀點(diǎn)。
DT君:您可以簡(jiǎn)單介紹目前NVIDIA的主力產(chǎn)品線(xiàn)嗎?
BillDally:我們實(shí)際上有四個(gè)方向同時(shí)進(jìn)行,有四條產(chǎn)品線(xiàn)。其中包含了GeForce、Quadro、Tesla以及Tegra。分別針對(duì)消費(fèi)性圖形計(jì)算、專(zhuān)業(yè)圖形計(jì)算、專(zhuān)業(yè)高效能計(jì)算、以及嵌入式計(jì)算平臺(tái),基本上都是以GPU為共通的架構(gòu)基礎(chǔ),但針對(duì)不同應(yīng)用進(jìn)行微調(diào),使之更適合不同的應(yīng)用情境。
DT君:針對(duì)Volta針對(duì)AI計(jì)算所做出的架構(gòu)變革,比如說(shuō)增加了TensorCore,這會(huì)改變GPU的定位嗎?
BillDally:TensorCore是個(gè)營(yíng)銷(xiāo)代號(hào),其架構(gòu)的真相就是增加一些相對(duì)應(yīng)的指令集,依靠這些指令,讓GPU可做半精度(Half-precision)的矩陣乘積累積,而這是許多深度學(xué)習(xí)算法所使用的的內(nèi)部循環(huán)基礎(chǔ)邏輯。而且它實(shí)際上并沒(méi)有改變GPU的基本概念。Volta仍然是一個(gè)貨真價(jià)實(shí)的GPU,它在渲染圖形方面的性能表現(xiàn)仍是一流水平,加入TensorCore并沒(méi)有犧牲GPU本身的任何特性,反而是創(chuàng)造了雙贏。現(xiàn)在Volta可以更好的針對(duì)深度學(xué)習(xí)應(yīng)用,同時(shí)也能發(fā)揮百之百的繪圖性能表現(xiàn)。
其實(shí)很多都是關(guān)于數(shù)據(jù)類(lèi)型的選擇和指令的選擇。GPU架構(gòu)實(shí)際上是一個(gè)框架,你可以在其中放入不同的數(shù)據(jù)類(lèi)型和不同的指令來(lái)完成不同的應(yīng)用程序。比如說(shuō),開(kāi)普勒架構(gòu)對(duì)推理工作不能很好的支持,它也不具備半精度浮點(diǎn)計(jì)算能力。
當(dāng)初數(shù)據(jù)型態(tài)的支持是深度學(xué)習(xí)的關(guān)鍵,而開(kāi)普勒會(huì)使用FP32,導(dǎo)致計(jì)算成本非常昂貴。從Pascal我們開(kāi)始支持推理計(jì)算以及FP16數(shù)據(jù)訓(xùn)練計(jì)算能力,但你不會(huì)說(shuō)Pascal因此就不是GPU了。Volta加入TensorCore也是類(lèi)似的情形。
Volta仍然是GPU,可以做圖形計(jì)算。我認(rèn)為GPU是非常高效的并行計(jì)算架構(gòu)。而我們并沒(méi)有犧牲任何其他的事情來(lái)做到這一點(diǎn)。
DT君:所以我們?nèi)匀豢梢云诖齌ensorCore可以在圖形任務(wù)中發(fā)揮功能嗎?
BillDally:是的,事實(shí)上,深度學(xué)習(xí)和圖形學(xué)之間有很大的協(xié)同作用,我們的發(fā)現(xiàn)是,通過(guò)深度學(xué)習(xí),我們可以使圖形更好。然后進(jìn)行視頻研究,開(kāi)發(fā)圖像抗鋸齒和去噪的新算法,并提供圖像的時(shí)間穩(wěn)定性,這些都是基于深度學(xué)習(xí)。因此,通過(guò)擁有深厚的學(xué)習(xí)推理能力,芯片現(xiàn)在實(shí)際上在圖形表現(xiàn)方面會(huì)比沒(méi)有TensorCore更好。
DT君:您如何看待在深度學(xué)習(xí)領(lǐng)域的挑戰(zhàn)者,比如說(shuō)FPGA?
BillDally:我不是很擔(dān)心FPGA。如果你想解決某個(gè)問(wèn)題,并且你愿意投入大量的工程時(shí)間,那么干脆直接開(kāi)發(fā)ASIC就好了。我是這么看FPGA的,如果你在ASIC上設(shè)計(jì)了一個(gè)門(mén),那么把同一個(gè)門(mén)放在一個(gè)FPGA上,占用的芯片面積和功耗都會(huì)是相差很多。
所以對(duì)于實(shí)際上你必須用隨機(jī)門(mén)工作的東西,F(xiàn)PGA比ASIC要明顯更弱。FPGA只能在FPGA中使用大量硬件模塊的問(wèn)題上做得很好。所以,如果你已經(jīng)硬連接一些FPGA有18個(gè)beta算術(shù)單元來(lái)進(jìn)行DSP操作,其他的有14個(gè)點(diǎn)單元。
當(dāng)你不得不使用FPGA上的柵極時(shí),它的表現(xiàn)會(huì)變得差強(qiáng)人意。也因此我們不認(rèn)為它們是非常有競(jìng)爭(zhēng)力的。
DT君:若FPGA并不是個(gè)值得擔(dān)憂(yōu)的對(duì)手。那么您會(huì)擔(dān)心什么?
BillDally:有很多創(chuàng)業(yè)公司正在建立專(zhuān)門(mén)的深度學(xué)習(xí)芯片,我們當(dāng)然也很關(guān)注這些發(fā)展。但是我的哲學(xué)總是“我們應(yīng)該做我們認(rèn)為可以做到最好的工作”,而他們的選擇基本限制了他們的發(fā)展空間,以致于不能做得更好,因?yàn)槲覀冋诒M力做到最好。
如果我們以三個(gè)細(xì)分類(lèi)別的方式細(xì)分深度學(xué)習(xí)的話(huà),分別是訓(xùn)練、推理和IoT設(shè)備的推理。
對(duì)于訓(xùn)練,我們一直在做的是專(zhuān)注于深度學(xué)習(xí)的GPU。所以如果你光是單純?yōu)榱松疃葘W(xué)習(xí)而建立一個(gè)芯片,那應(yīng)用可能會(huì)過(guò)于狹窄,無(wú)法兼顧到其他可能的應(yīng)用。而在我們的架構(gòu)中,由于HMMA的操作,Volta架構(gòu)所集成的TensorCore可以做到很龐大的數(shù)學(xué)計(jì)算,它只需要一條指令即可完成128個(gè)浮點(diǎn)計(jì)算步驟,可以兼顧更多應(yīng)用。
我們確實(shí)有一些對(duì)深度學(xué)習(xí)幫助不是那么大的額外的芯片區(qū)塊,比如說(shuō)針對(duì)圖形繪制工作的光柵化(rasterization)和紋理映射和合成(texturemappingandcompositing)部分,但是這個(gè)部分并不大,若是構(gòu)建一個(gè)專(zhuān)用芯片,他們的確可以擺脫一小部分芯片上的非計(jì)算必要區(qū)塊,理論上芯片成本會(huì)更有優(yōu)勢(shì)。
雖然我們也可以這樣做,只是沒(méi)有任何商業(yè)意義,我們的想法是,最好是做一個(gè)芯片,并能夠做很多事情。不論是繪圖或者是用在數(shù)據(jù)中心,我們想要使用該芯片來(lái)盡量做到更多的事情。
DT君:EmTech大會(huì)上量子計(jì)算成為另一個(gè)熱點(diǎn),那您怎么看這件事?NVIDIA有計(jì)劃進(jìn)行相關(guān)領(lǐng)域的開(kāi)發(fā)計(jì)劃嗎?
BillDally:我們成立了一個(gè)研究小組,研究量子計(jì)算的進(jìn)展觀察。從科學(xué)的角度來(lái)看,這是一個(gè)很有意思的領(lǐng)域。
近來(lái)人們已經(jīng)取得了很大的進(jìn)步,現(xiàn)在人們已經(jīng)超過(guò)了50量子比特,并且維持量子態(tài)的時(shí)間可以做到更長(zhǎng)。但是,對(duì)于一個(gè)可行的商業(yè)應(yīng)用程序來(lái)說(shuō),仍然有數(shù)量級(jí)的需求。量子優(yōu)勢(shì)在于,在量子計(jì)算機(jī)上運(yùn)行的算法,沒(méi)有辦法在傳統(tǒng)計(jì)算機(jī)上以相同的性能運(yùn)行。
所以算法的過(guò)程就是模擬量子計(jì)算機(jī)。但那并不重要。人們關(guān)心的是能夠運(yùn)行模擬量子化學(xué)這樣的算法,或者運(yùn)行諸如將復(fù)合數(shù)字分解成兩個(gè)部落的算法來(lái)破解編碼。這兩者所需的量子比特都是數(shù)千以上。所以我們離這個(gè)問(wèn)題還有很遠(yuǎn)的距離。
雖然我們認(rèn)為量子計(jì)算還沒(méi)有到實(shí)用的地步,但我們?nèi)苑浅W屑?xì)地關(guān)注相關(guān)技術(shù)的發(fā)展腳步,藉此避免發(fā)生我們無(wú)法掌握的變化。
BillDally:我們實(shí)際上提供的不僅僅是架構(gòu),也同時(shí)為自動(dòng)駕駛汽車(chē)提供完整的解決方案。比如說(shuō)基于Xavier架構(gòu)的DrivePX。這是最有效的計(jì)算平臺(tái),我的意思是,其30TeraOps的深度學(xué)習(xí)性能僅需要10瓦左右的功耗,所以每瓦計(jì)算能力超過(guò)3Teraflops。而DLA中的部分是每瓦特超過(guò)4Teraflops。所以這是一個(gè)效率非常高的平臺(tái)。
最重要的是,作為DrivePX系統(tǒng)的一部分,我們有一個(gè)完整的軟件平臺(tái),包括用于感知的神經(jīng)網(wǎng)絡(luò),相機(jī)和激光雷達(dá)以及雷達(dá),然后是用于路徑規(guī)劃和控制的軟件車(chē)輛。
我們自己測(cè)試車(chē)隊(duì)的自動(dòng)駕駛汽車(chē)已經(jīng)完全運(yùn)行NVIDIA軟件。我們也向汽車(chē)廠商提供該硬件和該軟件。我們?cè)谲?chē)?yán)镆灿幸粋(gè)以前叫做Co-Pilot的軟件,現(xiàn)在重新命名為DriveIX,它的主要功能就是監(jiān)視著司機(jī),它有眼睛跟蹤和頭部跟蹤,它要是看到司機(jī)心不在焉,或過(guò)度勞累就可要求汽車(chē)做出適度警示。它有手勢(shì)識(shí)別,所以你可以用手勢(shì)來(lái)控制汽車(chē)。我們同時(shí)也為汽車(chē)制造商提供完整的自動(dòng)駕駛解決方案。我認(rèn)為這是業(yè)界目前能獲得最具競(jìng)爭(zhēng)力的解決方案。
DT君:您看來(lái)不是很擔(dān)心來(lái)自業(yè)界的競(jìng)爭(zhēng)?
BillDally:我總是擔(dān)心我們的競(jìng)爭(zhēng)對(duì)手。但是我們的理念是向前看,而不是頻頻回頭,所以我們是領(lǐng)先的,我們想要做的就是弄清楚我們?nèi)绾文軌虮M可能高效地運(yùn)行,不論是市場(chǎng)策略或產(chǎn)品架構(gòu)。