AI芯片需要突破馮諾依曼架構(gòu)的原因是什么
背景
各種新類型設(shè)備將會(huì)導(dǎo)致數(shù)據(jù)量的爆發(fā),其中大部分新設(shè)備目前還不存在。數(shù)據(jù)是有價(jià)值的,因?yàn)槿斯ぶ悄埽?u>AI)可以將數(shù)據(jù)中挖掘出商業(yè)價(jià)值。為了實(shí)現(xiàn)人工智能,我們將不得不啟用新的計(jì)算模型。
關(guān)鍵信息
一共有兩條關(guān)鍵信息。首先,人工智能工作負(fù)載(即機(jī)器學(xué)習(xí)、深度學(xué)習(xí))需要一種處理數(shù)據(jù)的新方法——我們稱之為新的計(jì)算架構(gòu)(即計(jì)算模型)。后面將闡述“計(jì)算架構(gòu)”的含義,以及AI工作負(fù)載需要哪些類型的更改。其次,人工智能計(jì)算架構(gòu)需要材料工程的突破。我將討論一些我們遇到的突破類型的例子。在應(yīng)用材料領(lǐng)域,我們很興奮地預(yù)見到人工智能將為材料工程帶來巨大的增長(zhǎng)機(jī)遇。
在這篇文章中,我的目標(biāo)是總結(jié)AI工作負(fù)載的計(jì)算架構(gòu)需求是如何不同于業(yè)界已經(jīng)熟悉了幾十年的傳統(tǒng)計(jì)算架構(gòu)(如x86或ARM)。我們將討論為什么傳統(tǒng)的馮?諾依曼計(jì)算架構(gòu)對(duì)人工智能來說是不夠的。并從一個(gè)我們做過的實(shí)證分析來說明,如果我們不啟用新的計(jì)算架構(gòu),人工智能將無法實(shí)現(xiàn)。
人工智能的工作量有什么獨(dú)特之處?
有三大不同之處,而且它們是相互關(guān)聯(lián)的。
首先,人工智能需要大量?jī)?nèi)存,因?yàn)樽盍餍械腁I工作負(fù)載操作大量數(shù)據(jù),但是內(nèi)存也需要不同的組織方式。在流行的CPU中使用的傳統(tǒng)多層緩存架構(gòu)對(duì)AI來說是不必要的,AI需要更直接、更快速的內(nèi)存訪問。對(duì)于通過將數(shù)據(jù)存儲(chǔ)在緩存中來重用數(shù)據(jù),則沒有那么多的關(guān)注。
在人工智能系統(tǒng)中輸入大量的數(shù)據(jù)是非常重要的。以谷歌Translate?翻譯服務(wù)為例:在2010年時(shí),谷歌聘請(qǐng)了語言學(xué)家和算法專家來實(shí)現(xiàn)從英語到漢語的翻譯,最后,他們的翻譯準(zhǔn)確率達(dá)到了70%。這很好,但不是很好。最近,谷歌采取了一種不同的方法:他們雇傭了很多數(shù)據(jù)科學(xué)家,數(shù)據(jù)科學(xué)家們將每個(gè)可用的英文網(wǎng)頁及其中文譯文輸入到一個(gè)相對(duì)簡(jiǎn)單的深度學(xué)習(xí)算法中。這給了他們更好的結(jié)果,準(zhǔn)確率高達(dá)98%!正如您所看到的,這里的重點(diǎn)是使用更簡(jiǎn)單的算法來使用更多的數(shù)據(jù),這是支持用大量數(shù)據(jù)驅(qū)動(dòng)AI的論點(diǎn)。
其次,人工智能涉及大量的并行計(jì)算。并行計(jì)算意味著您可以并行地處理工作負(fù)載的不同部分,而不必?fù)?dān)心相互依賴。以圖像處理為例,可以并行處理圖像的不同部分,最后把圖像拼湊在一起。因此,所有傳統(tǒng)CPU中提供的復(fù)雜流水線對(duì)AI來說都是不必要的。
第三,人工智能需要大量的低精度計(jì)算,無論是浮點(diǎn)運(yùn)算還是整數(shù)運(yùn)算。這就是神經(jīng)網(wǎng)絡(luò)的力量,它是機(jī)器學(xué)習(xí)或深度學(xué)習(xí)的核心。傳統(tǒng)的CPU有64位精度,在某些情況下可以達(dá)到512位。在很大程度上,AI并不需要這些。
因此,我們?cè)谶@里有三個(gè)基本的和重要的計(jì)算架構(gòu)變化,這是人工智能工作負(fù)載所需要的。這將我們帶到了同構(gòu)與異構(gòu)計(jì)算體系結(jié)構(gòu)的主題。
同構(gòu)計(jì)算與異構(gòu)計(jì)算
在PC和移動(dòng)時(shí)代,大多數(shù)應(yīng)用程序(或工作負(fù)載)在處理需求(即計(jì)算架構(gòu))方面看起來很相似。最初,所有的工作負(fù)載都是由CPU處理的,當(dāng)我們開始使用更多的圖片、視頻和游戲時(shí),我們開始使用GPU。
將來,我們的工作負(fù)載看起來會(huì)越來越不同,每個(gè)工作負(fù)載都有自己的計(jì)算需求。我們需要的是各種不同的體系結(jié)構(gòu),每種結(jié)構(gòu)都針對(duì)特定類型的工作負(fù)載進(jìn)行了優(yōu)化。這就是我們所說的“硬件復(fù)興”,因?yàn)樗苿?dòng)了針對(duì)各種新工作負(fù)載的體系結(jié)構(gòu)創(chuàng)新。
還有一個(gè)原因可以解釋為什么這個(gè)行業(yè)正在從同構(gòu)計(jì)算轉(zhuǎn)向異構(gòu)計(jì)算。這與功耗密度有關(guān),功耗密度限制了傳統(tǒng)CPU的性能。我們正處在一個(gè)用現(xiàn)代多核CPU架構(gòu)來提高性能的困難時(shí)期。人工智能工作負(fù)載最基本的需求是更高的功耗效率(即每個(gè)操作對(duì)應(yīng)的功耗)。隨著登納德定律(Dennard Scaling)的結(jié)束,實(shí)現(xiàn)這一點(diǎn)的惟一方法是構(gòu)建特定于域(domain-specific)或特定于工作負(fù)載的體系結(jié)構(gòu),從而從根本上提高計(jì)算效率。
實(shí)證分析:DRAM和NAND出貨量與數(shù)據(jù)生成相關(guān)
為了理解數(shù)據(jù)生成和計(jì)算需求之間的關(guān)系,我們將年度DRAM和NAND出貨量與年度數(shù)據(jù)生成進(jìn)行了比較。經(jīng)驗(yàn)關(guān)系表明,DRAM和NAND出貨量的增長(zhǎng)速度都要高于數(shù)據(jù)生成的增長(zhǎng)速度。在我們的分析中引入的數(shù)學(xué)關(guān)系是底層計(jì)算體系結(jié)構(gòu)的代表。
我們利用所發(fā)現(xiàn)的經(jīng)驗(yàn)關(guān)系做了一個(gè)思維實(shí)驗(yàn),考慮在1%的智能汽車使用率下增加數(shù)據(jù)生成造成的影響。假設(shè)每輛智能汽車每天產(chǎn)生大約4TB的數(shù)據(jù),我們發(fā)現(xiàn),到2020年與前智能汽車水平相比,智能汽車產(chǎn)生的數(shù)據(jù)總量增加了5倍。
根據(jù)這一分析,使用傳統(tǒng)的計(jì)算模型,我們將需要8倍的DRAM裝機(jī)容量和25倍的NAND裝機(jī)容量(2020年)來處理1%的智能汽車使用。在應(yīng)用材料行業(yè),我們絕對(duì)希望這種情況發(fā)生,但我們不認(rèn)為會(huì)發(fā)生。相反,該行業(yè)將需要采用基于新材料和3D設(shè)計(jì)技術(shù)的新型存儲(chǔ)器,以及新的計(jì)算架構(gòu)。
綜上,傳統(tǒng)的馮?諾依曼計(jì)算架構(gòu)在處理人工智能所需的海量數(shù)據(jù)時(shí)是不經(jīng)濟(jì)的,甚至是不可行的。我們需要新的計(jì)算架構(gòu)。