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