新聞中心

EEPW首頁 > 專題 > AI架構(gòu)創(chuàng)新和高端芯片發(fā)展

AI架構(gòu)創(chuàng)新和高端芯片發(fā)展

作者:魏少軍 時(shí)間:2018-02-27 來源:電子產(chǎn)品世界 收藏
編者按:在“2017中國集成電路產(chǎn)業(yè)促進(jìn)大會”上,清華大學(xué)魏少軍教授就架構(gòu)創(chuàng)新和高端芯片發(fā)展做了相關(guān)報(bào)告。根據(jù)魏少軍教授會上報(bào)告整理,已獲作者授權(quán)。

4 軟件定義芯片架構(gòu)

本文引用地址:http://butianyuan.cn/article/201802/376161.htm

  如圖3所示為基本馮諾依曼架構(gòu),包括控制單元、算數(shù)邏輯單元、存儲器、輸入和輸出五個(gè)基本模塊。首先將存儲器分為兩塊,即I-Memory和D-Memory,分別對應(yīng)指令和數(shù)據(jù),這就是HUS結(jié)構(gòu)。Input和Output合并,變成I/O;然后將存儲器分別放入控制單元和算數(shù)邏輯單元,再將I/O分為兩部分,一部分和控制單元相關(guān),另一部分和數(shù)據(jù)邏輯單元相關(guān);再將I/O分開,輸入放在上邊,輸出放在下邊;然后將這個(gè)結(jié)構(gòu)逆時(shí)針旋轉(zhuǎn)90度,得到的架構(gòu)即為軟件定義芯片架構(gòu)(以下簡稱“新架構(gòu)”)。馮諾依曼到新架構(gòu)的架構(gòu)變換過程如圖4所示。

  因此,該架構(gòu)實(shí)際上是從經(jīng)典的馮諾依曼架構(gòu)變換得來。但是它和馮諾依曼體系結(jié)構(gòu)又有所不同,即它不再使用指令集,而直接采用信息流,這也是兩者間的本質(zhì)區(qū)別。

  另外,與傳統(tǒng)架構(gòu)比較,新架構(gòu)還具有以下特點(diǎn):

  1)傳統(tǒng)架構(gòu)都是馮諾依曼等效架構(gòu),是剛性的;而功能化的硬件架構(gòu),是應(yīng)用性的。

  2)傳統(tǒng)架構(gòu)是應(yīng)用去適應(yīng)計(jì)算的架構(gòu),新架構(gòu)是計(jì)算架構(gòu)適應(yīng)應(yīng)用。即,傳統(tǒng)架構(gòu)是軟件適用硬件,而新架構(gòu)是硬件適用軟件。

  3)在傳統(tǒng)架構(gòu)中,一個(gè)任務(wù)一個(gè)軟件;而在新架構(gòu)中,一個(gè)任務(wù)會有多個(gè)等效軟件。

  4)在傳統(tǒng)架構(gòu)中,硬件和軟件是不變的;在新架構(gòu)中,硬件和軟件是選擇性動態(tài)改變的。

  5)傳統(tǒng)架構(gòu)中,為了節(jié)省硬件資源,大量復(fù)用;新的架構(gòu)中是使用冗余方式實(shí)現(xiàn)的。

5 計(jì)算模式的改善

  硬件配置時(shí)間和執(zhí)行時(shí)間對于硬件架構(gòu)來說是一個(gè)必須考慮的問題。當(dāng)硬件配置時(shí)間多于執(zhí)行時(shí)間時(shí),顯然是不經(jīng)濟(jì),不合理的。而新架構(gòu)在剛開始工作的時(shí)候,其中將近90%的時(shí)間都用來配置硬件,而只有10%的時(shí)間是用來進(jìn)行計(jì)算和執(zhí)行的。顯然這樣的架構(gòu)需要進(jìn)一步改善,主要通過以下兩種方式進(jìn)行改善:

  1)首先將配置信息減少。通過采用諸如配置子圖的方式、結(jié)構(gòu)化組織等一系列方法,最終將配置信息減少將近80%。

  2)數(shù)據(jù)不斷寫的過程也會耗費(fèi)大量時(shí)間。很多數(shù)據(jù)寫進(jìn)去并不需要翻譯,采用頻次優(yōu)先方法,用的最多的先寫入,頻次少的就不寫入或少寫入,這樣可以將整個(gè)配置時(shí)間縮短12倍。

  其計(jì)算模式變化如圖5所示。傳統(tǒng)架構(gòu)是串行計(jì)算模式,而新架構(gòu)則是交叉的并行計(jì)算模式。經(jīng)過努力后,我們可以使一個(gè)陣列的計(jì)算時(shí)間占到整個(gè)運(yùn)行時(shí)間的90%,而只有10%的時(shí)間用來實(shí)現(xiàn)配置。這樣將多數(shù)時(shí)間用來計(jì)算的架構(gòu)才是更合理的架構(gòu)。

6 針對不規(guī)則陣列的架構(gòu)改善

  在上述例子中給出的是規(guī)則的運(yùn)算陣列,而實(shí)際上的運(yùn)算陣列是不規(guī)則的,有不同的密度,中間可能出現(xiàn)迭代和循環(huán),分支長短可能不一。在規(guī)則的陣列上運(yùn)行不規(guī)則的運(yùn)算顯然會出現(xiàn)效率的高低。

  陣列是硬性放大的,我們無法改變硬件,因而只能改變軟件,具體通過以下方法:

  1)把軟件并行化處理。特別是控制性的軟件并行化處理,甚至在時(shí)空上也作相應(yīng)的變換,讓其在時(shí)空上也能并行化。

  2)改變電源的供電情況。例如,在陣列中并非所有運(yùn)算單元同時(shí)存在,這樣就需要一部分打開,一部分關(guān)掉,由于完全關(guān)掉后重新啟動需要很長時(shí)間,會降低性能,因而要使其部分處于淺度睡眠,有的進(jìn)入深度睡眠,有的進(jìn)入淺度睡眠,從而恢復(fù)的時(shí)候,節(jié)省啟動時(shí)間。

  3)將軟件映射到不同的硬件上。不同映射形式會帶來不同的運(yùn)算結(jié)果,這里給出兩種不同的應(yīng)對方法,如圖6所示。a的數(shù)據(jù)走中間,可以通過route(計(jì)算資源)或者buffe(緩沖層)來傳輸,這兩種傳輸方式哪種更適合新架構(gòu),還需要建立一整套模型,通過性能的模型實(shí)現(xiàn)各種仿生變換,最終確定最優(yōu)的執(zhí)行時(shí)間。如果建立面向性能的模型,可以使得性能提升20%;而如果建立面向功耗的模型,可以使功耗降低26%。但是,現(xiàn)在還無法建立兩種模型的統(tǒng)一方案。

7 編程語言

  全新的架構(gòu)需要考慮全新的編程范式。傳統(tǒng)硬件用C語言編程;而出現(xiàn)GPU后,隨之而產(chǎn)生的是OpenCL編程語言;出現(xiàn)FPGA后,又有verilog、VHDL編程語言。而新架構(gòu)軟件的編程語言是基于傳統(tǒng)編程語言,而基于原有的編程語言,語言不變、硬件不變的情況下,就需要去想新的編程范式。

  FPGA很多時(shí)候是在編譯時(shí)做分析,來進(jìn)行決策。例如非功能運(yùn)算是在運(yùn)行過程中通過依賴關(guān)系來決定。這種方法有諸多不便。其中,依賴關(guān)系在編程序的時(shí)候就知道了,并非到運(yùn)行的時(shí)候才會發(fā)現(xiàn)。新架構(gòu)編程序的過程中就可以發(fā)現(xiàn)其依賴關(guān)系,在編譯過程中就可以找到各個(gè)任務(wù)間的依賴關(guān)系,在運(yùn)行的過程中保證其正確性就好。

  新架構(gòu)采用新的編程范式編寫程序與采用OpenCL編寫程序相比,速度提升了10倍;與英特爾的十核Xeon相比,性能仍有0.5~1.9倍的提升。

8 發(fā)展的機(jī)遇

  把軟件定于芯片的方式與傳統(tǒng)的方式進(jìn)行比較,新架構(gòu)既具備ASIC的性能、功耗和特點(diǎn),同時(shí)也保證了CPU的可讀性,這樣的結(jié)果還是很好的。當(dāng)我們?nèi)プ鲆粋€(gè)CPU、專用芯片或FPGA的時(shí)候,我們從定義開始出發(fā),要完成一個(gè)電路設(shè)計(jì),然后再去做其他的事情。如果你不懂電路設(shè)計(jì),就無法運(yùn)用FPGA進(jìn)行設(shè)計(jì)。但是對于新架構(gòu)而言,已經(jīng)可以讓軟件設(shè)計(jì)工程師直接編程序,然后通過一個(gè)編譯器直接映射到硬件上去。這里主要需要一個(gè)好的編譯器,新架構(gòu)的編譯器匯集了大量的設(shè)計(jì)方法訓(xùn)練。

9 新架構(gòu)的新應(yīng)用

  這樣變化的結(jié)構(gòu)可以應(yīng)用到AI,AI還有很多新的變化,不同的應(yīng)用或神經(jīng)網(wǎng)絡(luò),我們能否通過變結(jié)構(gòu)的方式,只要我們可以識別到一個(gè)具體的應(yīng)用,識別出他用的是一個(gè)怎樣的神經(jīng)網(wǎng)絡(luò),就可以通過改變今天的功能來適應(yīng)他,產(chǎn)生全新的發(fā)展呢?

  如圖8所示,采用新架構(gòu)設(shè)計(jì)的語音識別芯片,精度已經(jīng)可以達(dá)到91.8%,可以識別聲紋,延時(shí)低達(dá)25 ms,功耗遠(yuǎn)遠(yuǎn)小于1 mW,應(yīng)用到手機(jī)上幾乎不耗電;右邊是一個(gè)人臉識別,人臉識別結(jié)果最主要的是精度,可以達(dá)到99%,人類只能識別97%,工作在200 MHz,可以實(shí)現(xiàn)6 ms,運(yùn)算功率,每瓦100萬億次的運(yùn)算。

10 結(jié)論

  芯片工藝技術(shù)進(jìn)入10 nm,專用面臨嚴(yán)峻的挑戰(zhàn),我們就該在架構(gòu)上進(jìn)行創(chuàng)新。其實(shí)在上也是如此,如果跟著CPU的架構(gòu)前進(jìn),我們永遠(yuǎn)是跟在別人后面的,能夠在上超過別人才能引領(lǐng)時(shí)代。

  硬件架構(gòu)隨著軟件變化而變化的全新概念在保證芯片的功能滿足要求的同時(shí),又能保證其融合性,也是一項(xiàng)很好的創(chuàng)新。

  本文來源于《電子產(chǎn)品世界》2018年第3期第25頁,歡迎您寫論文時(shí)引用,并注明出處。


上一頁 1 2 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉