《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 人工智能 > 業(yè)界動(dòng)態(tài) > 國(guó)產(chǎn)GPGPU如何趕超國(guó)外,?這3條路最有希望

國(guó)產(chǎn)GPGPU如何趕超國(guó)外,?這3條路最有希望

2021-11-29
來(lái)源:CSDN

  通用or專用,智能算力芯片架構(gòu)該如何設(shè)計(jì),?

  常用芯片中最通用的就屬CPU,。以英特爾,、AMD為代表,,幾乎可以做任何事情,,但是無(wú)法做到極致的性能和功耗。能做到極致能效比的是專用芯片,,既所謂的ASIC,。但是它的編程性差,應(yīng)用的范圍就比較窄,。

  而在這兩個(gè)極端之間還有很多選擇,,比如GPU,這些年越來(lái)越成為行業(yè)的熱點(diǎn),。GPU是一個(gè)相對(duì)比較通用的處理器,,現(xiàn)在稱之為GPGPU,具有良好的編程性,,特別適合大規(guī)模數(shù)據(jù)并行類應(yīng)用,。還有一類在硬件靈活度上更大的就是FPGA(現(xiàn)場(chǎng)可編程門陣列),這類器件可以通過(guò)硬件描述語(yǔ)言來(lái)改變邏輯結(jié)構(gòu),,性能和功耗會(huì)更好,,只是編程的難度較大。

  通過(guò)分析過(guò)去五年具有代表性的芯片公司的股價(jià)走勢(shì),,就可以對(duì)行業(yè)的發(fā)展趨勢(shì)窺見(jiàn)一斑:英特爾近五年股價(jià)上漲了50%,;Xilinx(全球領(lǐng)先的FPGA公司)股價(jià)大概上漲了2.6倍,;而英偉達(dá)(當(dāng)紅的GPGPU壟斷企業(yè))過(guò)去五年股價(jià)上漲了16倍,。我們即便不去追究深層次的原因,僅憑股價(jià)的成長(zhǎng)也可以判斷行業(yè)已經(jīng)作出了選擇,,GPGPU已經(jīng)成為未來(lái)計(jì)算的主角和核心,。

  同時(shí),以史為鑒,,從GPU的發(fā)展歷史看,,它是如何一步一步成長(zhǎng)為行業(yè)王者的?

  GPU早在上世紀(jì)八十年代就已經(jīng)出現(xiàn)了,,那時(shí)對(duì)于游戲的需求催生了特殊的專用于圖形渲染的硬件,,這就是早期的GPU。在1990年-2000年這段時(shí)間,,涌現(xiàn)了很多GPU廠商,,每家公司規(guī)模并不大,有很多代表性的專用芯片產(chǎn)品,。但是到了2005年左右,,大家意識(shí)到在圖形學(xué)這個(gè)領(lǐng)域算法變化很快,可能每隔幾個(gè)月甚至每隔幾周就會(huì)發(fā)生翻天覆地的變化,。但芯片需要18個(gè)月才能完成一次更迭,,如果把硬件完全固定下來(lái)就無(wú)法跟上行業(yè)發(fā)展的節(jié)奏。

  所以,,人們開(kāi)始探索把原來(lái)不可變的執(zhí)行流水線,,設(shè)計(jì)成可以部分編程的架構(gòu),這種架構(gòu)更加靈活,,可以更加高效的適應(yīng)算法的變化,。真正的GPGPU行業(yè)大發(fā)展始于2006年出現(xiàn)的CUDA(Compute Unified Device Architecture,統(tǒng)一計(jì)算設(shè)備架構(gòu)),,它是一種精心設(shè)計(jì)的,、可對(duì)GPGPU直接編程的接口和語(yǔ)言。從此以后,,對(duì)于大量的數(shù)據(jù)并行應(yīng)用就可以方便地使用CUDA編程,,從而釋放出GPGPU中可觀的算力。

  所以回看過(guò)去幾十年GPU的發(fā)展之路,,是一條從“專用”過(guò)渡到“比較通用”,,直到現(xiàn)在“非常通用”的發(fā)展路徑,。如果我們用來(lái)類比今天的人工智能,是否也有相同的趨勢(shì),?AI需要極致的算力和能效比,,做成專用芯片可能是合適的。但AI算法的變化又非???,可能以“天”計(jì),這又要求我們不能做成非常固定的硬件,,可能最后也會(huì)收斂到一個(gè)偏通用的架構(gòu),。這是我們的一個(gè)推論。

  GPGPU的發(fā)展離不開(kāi)“摩爾定律”

  摩爾定律已經(jīng)被“社死”了很多年,,在很多年前就有人說(shuō)摩爾定律要終結(jié)了,,但這些年摩爾定律非但沒(méi)有終結(jié),而且還活得很好,。

  如今5納米工藝可以量產(chǎn),,3納米也沒(méi)問(wèn)題,1納米也能夠預(yù)見(jiàn),,摩爾定律仍然會(huì)持續(xù)下去,,而且會(huì)持續(xù)相當(dāng)長(zhǎng)的時(shí)間。但確實(shí),,計(jì)算機(jī)不會(huì)變得更快,。因?yàn)轭l率不會(huì)變得更高,所以CPU的性能總體趨于穩(wěn)定,。但計(jì)算機(jī)能夠集成的計(jì)算資源和存儲(chǔ)資源還是會(huì)不斷翻倍,,因?yàn)槟柖墒沟糜布啥让扛?8個(gè)月提升一倍。

  摩爾定律和GPGPU可謂“佳偶天成”,,數(shù)據(jù)并行是一種可擴(kuò)展性最強(qiáng)的并行方式,,只要有海量的數(shù)據(jù)并行性,同時(shí)芯片又能夠按照摩爾定律不斷堆砌硬件資源,,GPGPU的性能就會(huì)不斷提升,。歷史已經(jīng)證明GPGPU的勝出歸根結(jié)底是摩爾定律的功勞。

  既然針對(duì)某個(gè)特定應(yīng)用做到極致能效比的方式是專用芯片,,那么專用芯片是否會(huì)比GPGPU更加有優(yōu)勢(shì)呢,?

  實(shí)際上GPGPU的架構(gòu)也不是一成不變的,也會(huì)加入專用的單元用于處理專業(yè)的任務(wù),,從而使得GPGPU的發(fā)展與時(shí)俱進(jìn),,它可以是專用和通用的結(jié)合體。比如Volta這一代的GPGPU,在流處理器里就把計(jì)算資源分成幾塊,,既有計(jì)算整型數(shù)的單元也有強(qiáng)大的浮點(diǎn)數(shù)單元,。

  為了適應(yīng)人工智能的發(fā)展,還特意加入了新的單元,,叫Tensor Core,,其實(shí)就是為AI量身定做的專用計(jì)算單元。所以,,GPGPU的架構(gòu)也在不斷更新、不斷地去適應(yīng)新型應(yīng)用所需要的底層算力,。

  如果說(shuō)傳統(tǒng)GPGPU的算力并行度是以一個(gè)數(shù)據(jù)點(diǎn)為基本的粒度,,在這個(gè)規(guī)模上并行,那么到了Tensor Core就變成了以小矩陣塊為基本粒度并行了,,它在每一個(gè)周期都可以完成一個(gè)4×4矩陣相乘的結(jié)果,,所以并行度和算力都高于傳統(tǒng)GPGPU的設(shè)計(jì)。

  這個(gè)概念還可以推而廣之,,比如說(shuō)華為的昇騰AI處理器中的核心單元3D Cube,,實(shí)際上就是一個(gè)矩陣計(jì)算的陣列塊,而它的規(guī)模比Tensor Core還要大,,是以16×16為單位來(lái)做矩陣計(jì)算的,,因此它的粒度更大,并行度更高,,并且做同樣的矩陣計(jì)算平均下來(lái)功耗更低,。但是基本單元塊粒度過(guò)大的話,相對(duì)于程序來(lái)說(shuō)控制就復(fù)雜,,通用性和適用性就下降,。所以各個(gè)公司都是盡量在功耗、性能以及并行的粒度和可編程性之間找到一個(gè)平衡點(diǎn),。

  為了適應(yīng)人工智能的發(fā)展,,現(xiàn)代GPGPU還做了很多革新。比如引入了多樣化的數(shù)制,。人工智能的應(yīng)用對(duì)計(jì)算精度的要求可以放寬,,沒(méi)有必要一定按照標(biāo)準(zhǔn)的浮點(diǎn)數(shù)規(guī)則去運(yùn)算。英偉達(dá)最新的Ampere架構(gòu)中就引入了新的數(shù)制TF32,。之所以起名叫TF32,,意思是用這個(gè)標(biāo)準(zhǔn)來(lái)做,最后訓(xùn)練出來(lái)的網(wǎng)絡(luò)精度不會(huì)下降,,但TF32只有19位,,它的計(jì)算方式和標(biāo)準(zhǔn)的浮點(diǎn)數(shù)不同,也正因?yàn)榘盐粚挏p少了,,所以性能可以顯著提升,。

  此外,,Ampere架構(gòu)還采用結(jié)構(gòu)化的稀疏。我們?cè)谏窠?jīng)網(wǎng)絡(luò)中發(fā)現(xiàn),,很多節(jié)點(diǎn)的權(quán)重都接近于0,,而和0計(jì)算是白白浪費(fèi)算力,所以在Ampere架構(gòu)中也考慮了結(jié)構(gòu)化的稀疏,,每進(jìn)行四次計(jì)算就可以規(guī)定有兩個(gè)是結(jié)構(gòu)化的0,,實(shí)踐發(fā)現(xiàn)如果可以把網(wǎng)絡(luò)訓(xùn)練成這樣,那么在Ampere架構(gòu)下運(yùn)算起來(lái)就會(huì)得到兩倍的性能提升,。

  所以說(shuō),,GPGPU里面也會(huì)發(fā)生各種各樣的優(yōu)化,也在與時(shí)俱進(jìn),。人工智能需要新型的計(jì)算芯片支持,,大致可分為云端和終端。

  在云端要適應(yīng)各種需求變化和應(yīng)用,,并且既要能做訓(xùn)練也要能做推理,,所以看起來(lái)就是GPGPU的天下。英偉達(dá)這樣的公司也在不斷的進(jìn)化,,不斷的推陳出新來(lái)保證產(chǎn)品的競(jìng)爭(zhēng)力,。

  而在終端的需求相對(duì)比較單一,應(yīng)用固定一些,,所以理論上設(shè)計(jì)專用硬件來(lái)追求極致的能效比是合理的,。但終端的問(wèn)題是加速器永遠(yuǎn)只是一小部分,需要其他各種IP的配合協(xié)作才能組成一個(gè)完整的產(chǎn)品,。比如說(shuō)手機(jī)里面有豐富的功能,,不是說(shuō)只要人工智能做的好,手機(jī)就能賣得好,。所以掌握傳統(tǒng)渠道和市場(chǎng)的終端芯片廠商,,也會(huì)推出自己的解決方案,很有可能會(huì)后發(fā)制人,。

  市場(chǎng)需要的不是“好”的芯片,,而是“好用”的芯片

  我們要感謝這個(gè)時(shí)代帶給行業(yè)極大的發(fā)展機(jī)遇,甚至吸引了互聯(lián)網(wǎng)巨頭和海量的資本加入到這個(gè)戰(zhàn)場(chǎng),。

  此前,,中國(guó)的互聯(lián)網(wǎng)企業(yè)重視用戶體驗(yàn)和商業(yè)模式,較少參與底層的硬件和芯片開(kāi)發(fā),,但現(xiàn)在情況完全不同了,。世界面臨產(chǎn)業(yè)的大變革、大重組、大轉(zhuǎn)移,。而芯片產(chǎn)業(yè)的發(fā)展本質(zhì)靠的是資本推動(dòng),,當(dāng)硬科技成為行業(yè)風(fēng)口,就會(huì)產(chǎn)生大量的機(jī)會(huì)和變化,。

  這是一個(gè)非常好的時(shí)代,,芯片產(chǎn)業(yè)總是由先進(jìn)工藝推動(dòng)的,我們可以樂(lè)觀的預(yù)期未來(lái)推動(dòng)先進(jìn)工藝的未必是美國(guó)的英特爾或英偉達(dá),,或許可能是中國(guó)的某家高科技公司呢,?但另一方面,我們也必須看到英偉達(dá)研發(fā)一款新品的投入是以十億美金計(jì),,如果一個(gè)芯片公司的銷售達(dá)不到這個(gè)規(guī)模,,肯定是無(wú)法持續(xù)的。

  當(dāng)前海量的資本都瘋狂的涌入這個(gè)賽道,,而芯片是一個(gè)需要打持久戰(zhàn)的行業(yè),,一旦收入無(wú)法跟上,,或無(wú)法成長(zhǎng)為某個(gè)賽道的頭部,,結(jié)局就可能很悲慘,即便是“飛起來(lái)的豬”也可能很快掉下來(lái),。

  我們必須理解市場(chǎng)需要的不是“好”的芯片,,而是“好用”的芯片。所謂好的芯片就是絕對(duì)算力高,、硬件指標(biāo)高,,這個(gè)相對(duì)容易做到。但是做到好用就很困難,,做出來(lái)的芯片沒(méi)辦法把潛力發(fā)揮出來(lái),,這是目前AI芯片公司的通病。

  還是以史為鑒,,英偉達(dá)其實(shí)也是一步一步從不好用做到好用,,走過(guò)了一個(gè)漫長(zhǎng)的階段。早期的GPU是很不好用的,,沒(méi)有什么人會(huì)用GPU編程,,只有那些所謂的“極客”會(huì)考慮使用GPU,拼命把其中的算力榨取出來(lái),??梢哉f(shuō)早期的GPU比現(xiàn)在的AI芯片更不好用。

  這時(shí)候就需要有一批行業(yè)領(lǐng)袖和技術(shù)大咖挺身而出,,代表性的人物包括UIUC的胡文美教授(Wen-mei Hwu),,他們發(fā)明了CUDA,從此有了可以直接對(duì)GPU進(jìn)行編程的語(yǔ)言,使得GPU的潛力得以充分發(fā)揮,,從而真正走上了騰飛之路,。又經(jīng)過(guò)十年左右的發(fā)展,形成了一個(gè)非常強(qiáng)大的生態(tài),,可以支持各種各樣的應(yīng)用,,豐富了高級(jí)語(yǔ)言的屬性,能夠支持更為復(fù)雜的模型和算法,,并且逐步在很多行業(yè)形成壟斷,。所以說(shuō)GPGPU的發(fā)展不是一蹴而就的,是經(jīng)過(guò)十多年的不懈奮斗才走到了今天,。

  發(fā)展國(guó)產(chǎn)自主GPGPU的三種可能性

  當(dāng)我們回過(guò)頭來(lái)探索國(guó)產(chǎn)自主GPGPU的發(fā)展之路,,首先就是要沉得住氣,耐得下心,,切不可急功近利,、操之過(guò)急。事物的發(fā)展要遵循客觀規(guī)律,,資本永遠(yuǎn)是雙刃劍,,既可載舟亦可覆舟。

  一款芯片的絕對(duì)算力有多高,,集成了多少個(gè)晶體管并不重要,,關(guān)鍵是把芯片的潛力充分釋放給用戶,這需要一個(gè)良好的生態(tài)和完整的軟件棧,,才能讓用戶樂(lè)于接受,,不用改變太多的習(xí)慣就可以迅速移植現(xiàn)有的工作。講起來(lái)容易,,實(shí)際做起來(lái)很難,,需要長(zhǎng)期的努力,因?yàn)檫@世界上并不存在一個(gè)通用的辦法或者一個(gè)通用架構(gòu)就可以解決這個(gè)問(wèn)題,。

  現(xiàn)在流行說(shuō)“兼容CUDA”,,但要真正兼容出效率很難。即便英偉達(dá)做GPGPU這么多年,,其實(shí)也是由無(wú)數(shù)個(gè)專用的優(yōu)化累積起來(lái)才能夠看上去如此的通用,,這其中凝聚著大量工程師多年的心血。我們從頭做起也需要花費(fèi)同樣的代價(jià),,沒(méi)有捷徑可走,,大家一定要意識(shí)到這個(gè)問(wèn)題的復(fù)雜性和長(zhǎng)期性。

  在此,,我們嘗試探討發(fā)展國(guó)產(chǎn)自主GPGPU的三種可能性:

  第一條道路叫“農(nóng)村包圍城市”,。策略是從專用芯片做起,,把某一個(gè)小的領(lǐng)域做精做強(qiáng),占據(jù)一個(gè)山頭,,然后再占第二個(gè),、第三個(gè),形成一個(gè)個(gè)的革命根據(jù)地,,逐漸實(shí)現(xiàn)農(nóng)村包圍城市,。但也要防止各家企業(yè)在小的山頭上惡性競(jìng)爭(zhēng)乃至自相殘殺,從而忘記了我們真正的歷史使命和遠(yuǎn)大目標(biāo),。經(jīng)常發(fā)生的誤區(qū)是:當(dāng)一個(gè)企業(yè)爬上一座山頂?shù)臅r(shí)候,,只顧著欣賞眼前的風(fēng)景而忘記了去征服更高的高山。

  第二條道路來(lái)自“龜兔賽跑”的啟發(fā),。在歷史上小企業(yè)挑落行業(yè)巨頭的案例也是屢有發(fā)生的,,比如說(shuō),英特爾的指令集在桌面電腦上一家獨(dú)大,,但后來(lái)ARM能夠成功挑戰(zhàn)英特爾,,就是抓住了移動(dòng)互聯(lián)網(wǎng)帶來(lái)的歷史機(jī)遇。英特爾在這個(gè)時(shí)候打盹了,,并沒(méi)有意識(shí)到行業(yè)發(fā)生的深刻變革(再加上幕后推手蘋(píng)果公司的推波助瀾),。當(dāng)下人工智能時(shí)代帶來(lái)的變革可能還要超越移動(dòng)互聯(lián)網(wǎng),但令人吃驚的是在這個(gè)大變革的時(shí)代,,實(shí)際上是兔子跑得比烏龜快,?!巴米印本褪怯ミ_(dá),,英偉達(dá)沒(méi)有停下前進(jìn)的步伐,沒(méi)有犯當(dāng)年英特爾的錯(cuò)誤,,至今還保持著當(dāng)年初創(chuàng)企業(yè)的活力,,很多行業(yè)突破性的技術(shù)是最先出現(xiàn)在英偉達(dá)的產(chǎn)品上。

  兔子跑得快已經(jīng)很棘手,,而糟糕的是,,我們作為后發(fā)者,國(guó)內(nèi)的芯片人才本來(lái)就極為緊缺,,但由于資本的驅(qū)動(dòng),,短期內(nèi)催生出很多芯片公司,據(jù)說(shuō)今年新成立的芯片公司是去年的3倍,,而培養(yǎng)的人才不可能一下子成長(zhǎng)這么多,。都說(shuō)要集中優(yōu)勢(shì)兵力才能殲滅強(qiáng)敵,但現(xiàn)狀是,,我們把為數(shù)不多的兵力分散到多個(gè)戰(zhàn)場(chǎng),,從而陷入越打越弱的怪圈,。以史為鑒,只有當(dāng)對(duì)手疏忽的時(shí)候,,抓住戰(zhàn)機(jī)畢其功于一役才有大的勝算,,這往往需要有極大的戰(zhàn)略定力,甚至還需要有些運(yùn)氣,。在芯片行業(yè),,千萬(wàn)要防止一哄而上之后的一哄而散!

  第三條道路也是目前我們認(rèn)為最有機(jī)會(huì)的道路,,就是開(kāi)源,。靠的是眾人拾柴和愚公移山,,要的是細(xì)水長(zhǎng)流,,拼的是“天荒地老”。通過(guò)開(kāi)源戰(zhàn)勝?gòu)?qiáng)大的對(duì)手,,在軟件生態(tài)方面已經(jīng)戰(zhàn)果累累,,在硬件上也已經(jīng)開(kāi)始顯示威力。我們有理由相信,,開(kāi)源硬件即便不能一統(tǒng)江湖,,至少也可以分庭抗禮。

  我們認(rèn)為,,現(xiàn)階段國(guó)內(nèi)完全有機(jī)會(huì)做一個(gè)開(kāi)源開(kāi)放的,、免費(fèi)公益的GPGPU項(xiàng)目,目的是打造一個(gè)全棧式的平臺(tái),,提供開(kāi)源硬件,,編譯器、算子庫(kù)等,,并且在指令集的設(shè)計(jì)上盡可能接近或者兼容CUDA生態(tài)圈,。我們的研究團(tuán)隊(duì)最近攥寫(xiě)了一本關(guān)于GPGPU體系結(jié)構(gòu)的專用教材,書(shū)名是《通用圖形處理器設(shè)計(jì)-GPGPU編程模型和架構(gòu)原理》,,預(yù)計(jì)明年初正式出版發(fā)行,。同時(shí)希望號(hào)召國(guó)內(nèi)最大的程序員社區(qū),大家攜起手來(lái),,摒棄門戶之見(jiàn),,都來(lái)支持國(guó)產(chǎn)自主GPGPU,盡快把這個(gè)生態(tài)做大做強(qiáng),。

  通過(guò)這些方式,,經(jīng)過(guò)十年以上的努力,我們堅(jiān)信在這一塊的劣勢(shì)會(huì)逐步得到彌補(bǔ),,逐漸縮小和國(guó)外巨頭之間的差距,。




1.png

本站內(nèi)容除特別聲明的原創(chuàng)文章之外,,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn),。轉(zhuǎn)載的所有的文章,、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有,。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無(wú)法一一聯(lián)系確認(rèn)版權(quán)者,。如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,,請(qǐng)及時(shí)通過(guò)電子郵件或電話通知我們,,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失,。聯(lián)系電話:010-82306118,;郵箱:[email protected]