人工智能正在改變計(jì)算系統(tǒng)的本質(zhì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
卷積神經(jīng)網(wǎng)絡(luò)和長(zhǎng)期短期記憶網(wǎng)絡(luò)的核心,深度學(xué)習(xí)的兩個(gè)主要支柱,甚至在像谷歌的變形金剛這樣的更現(xiàn)代的網(wǎng)絡(luò)中,大多數(shù)計(jì)算都是線性代數(shù)計(jì)算,稱為張量數(shù)學(xué)。最常見的是,將一些輸入數(shù)據(jù)轉(zhuǎn)換為矢量,然后將該矢量乘以神經(jīng)網(wǎng)絡(luò)權(quán)重矩陣的列,并將所有這些乘法的乘積相加。稱為乘法相加,這些計(jì)算使用所謂的“乘法 - 累加”電路或“MAC”在計(jì)算機(jī)中呈現(xiàn)。因此,只需改進(jìn)MAC并在芯片上創(chuàng)建更多的MAC來(lái)增加并行化,就可以立即改善機(jī)器學(xué)習(xí)。
主導(dǎo)AI培訓(xùn)的Nvidia和其CPU主導(dǎo)機(jī)器學(xué)習(xí)推理的英特爾都試圖調(diào)整他們的產(chǎn)品以利用那些原子線性代數(shù)函數(shù)。Nvidia為其Tesla GPU添加了“張量核心”,以優(yōu)化矩陣乘法。英特爾已花費(fèi)300億美元收購(gòu)那些從事機(jī)器學(xué)習(xí)的公司,包括Mobileye,Movidius和Nervana Systems,其中最后一個(gè)應(yīng)該在某個(gè)時(shí)候?qū)е隆癗ervana神經(jīng)網(wǎng)絡(luò)處理器”,盡管有延遲。
到目前為止,這些舉措并不能滿足機(jī)器學(xué)習(xí)的需求,例如Facebook的LeCun。在2月與ZDNet聊天期間,LeCun認(rèn)為,“我們需要的是競(jìng)爭(zhēng)對(duì)手,現(xiàn)在,你知道,主導(dǎo)供應(yīng)商[Nvidia]?!?這不是因?yàn)椋f(shuō),Nvidia沒(méi)有做出好的籌碼。這是“因?yàn)樗麄冏龀隽思僭O(shè),”他繼續(xù)說(shuō)道,“而且擁有一套不同的硬件可以用來(lái)做當(dāng)前GPUS擅長(zhǎng)的補(bǔ)充事物,這是不錯(cuò)的選擇。”
他說(shuō),其中一個(gè)有缺陷的假設(shè)是假設(shè)訓(xùn)練神經(jīng)網(wǎng)絡(luò)將是一個(gè)可以操作的“整齊陣列”的問(wèn)題。相反,未來(lái)的網(wǎng)絡(luò)可能會(huì)使用大量的網(wǎng)絡(luò)圖,其中神經(jīng)網(wǎng)絡(luò)的計(jì)算圖的元素作為指針流式傳輸?shù)教幚砥?。LeCun表示,芯片必須進(jìn)行大量的乘法增加,但對(duì)于如何將這些乘法增加呈現(xiàn)給處理器的期望不同。
作為TPU芯片貢獻(xiàn)者之一的谷歌軟件工程師Cliff Young,去年10月在硅谷舉行的芯片活動(dòng)上發(fā)表了主題演講時(shí)更直言不諱?!昂荛L(zhǎng)一段時(shí)間,我們都拒絕了,并說(shuō)英特爾和Nvidia非常擅長(zhǎng)構(gòu)建高性能系統(tǒng),”Young說(shuō)。“五年前我們超越了這個(gè)門檻?!痹谶@個(gè)漏洞中,新的芯片來(lái)自谷歌等人工智能巨頭,還有一大批風(fēng)險(xiǎn)投資支持的創(chuàng)業(yè)公司。
除了谷歌的TPU,現(xiàn)在已經(jīng)進(jìn)行了第三次迭代,微軟還有一個(gè)可編程處理器,一個(gè)名為Project Brainwave的“FPGA”,客戶可以通過(guò)其Azure云服務(wù)租用它。亞馬遜表示,它將在今年晚些時(shí)候推出自己的定制芯片,名為“Inferentia”。當(dāng)LeCun在2月份與ZDNet談話時(shí),他提到Facebook有自己的籌碼。
“當(dāng)然,像谷歌和Facebook這樣擁有大量產(chǎn)品的公司,對(duì)你自己的引擎工作是有道理的,”LeCun說(shuō)?!斑@方面有內(nèi)部活動(dòng)?!眲?chuàng)業(yè)公司包括Graphcore,一家位于布里斯托爾的五年創(chuàng)業(yè)公司,一個(gè)位于倫敦西南一個(gè)半小時(shí)的港口城市; Cornami,Effinix和Flex Logix,所有這些都是由ZDNet描述的; 和硅谷的洛斯阿爾托斯的Cerebras系統(tǒng)公司仍然處于秘密模式。
許多這些初創(chuàng)公司都有一個(gè)共同點(diǎn),那就是大大增加用于矩陣乘法的計(jì)算機(jī)芯片區(qū)域的數(shù)量,即MAC單元,以便在每個(gè)時(shí)鐘周期內(nèi)擠出最多的并行化。Graphcore是所有初創(chuàng)公司中最遠(yuǎn)的,是第一個(gè)真正向客戶發(fā)送生產(chǎn)芯片的公司。關(guān)于它的第一個(gè)芯片最引人注目的事情之一是大量的內(nèi)存。為了紀(jì)念世界上第一臺(tái)數(shù)字計(jì)算機(jī),Colossus 被稱為芯片,面積巨大,面積為806平方毫米。首席技術(shù)官Simon Knowles稱其為“迄今為止最復(fù)雜的處理器芯片”。
Colossus由1,024個(gè)被稱為“智能處理單元”的獨(dú)立核心組成,每個(gè)核心都可以獨(dú)立處理矩陣數(shù)學(xué)。眾所周知,每個(gè)IPU都有自己的專用內(nèi)存,256千字節(jié)的快速SRAM內(nèi)存??偣灿?04兆字節(jié)的內(nèi)存是芯片中最常用的內(nèi)存。沒(méi)有人知道芯片上存在如此多的內(nèi)存會(huì)如何改變構(gòu)建的神經(jīng)網(wǎng)絡(luò)的種類??赡苁峭ㄟ^(guò)訪問(wèn)越來(lái)越多的內(nèi)存,訪問(wèn)速度非常低,更多的神經(jīng)網(wǎng)絡(luò)將專注于以新的和有趣的方式重用存儲(chǔ)在內(nèi)存中的值。
對(duì)于所有這些芯片的努力,問(wèn)題當(dāng)然是由于該公司的“CUDA”編程技術(shù),他們沒(méi)有為Nvidia建立多年的軟件。Graphcore和其他人的答案將是雙重的。一個(gè)是用于機(jī)器學(xué)習(xí)的各種編程框架,例如TensorFlow和Pytorch,提供了一種避免芯片本身細(xì)節(jié)并專注于程序結(jié)構(gòu)的方法。所有進(jìn)入市場(chǎng)的芯片都支持這些框架,他們的創(chuàng)造者認(rèn)為這些框架與Nvidia的競(jìng)爭(zhēng)環(huán)境。
第二點(diǎn)是Graphcore和其他人正在構(gòu)建自己的編程技術(shù)。他們可以證明他們的專有軟件既可以轉(zhuǎn)換框架,也可以智能地將并行計(jì)算分配給芯片上的眾多MAC單元和向量單元。這就是Graphcore為其“Poplar”軟件所做的論證。Poplar將神經(jīng)網(wǎng)絡(luò)的計(jì)算圖分解為“codelets”,并將每個(gè)codelet分配到Colossus的不同核心,以優(yōu)化并行處理。
在過(guò)去的二十年中,大數(shù)據(jù)和快速并行計(jì)算成為常態(tài),推動(dòng)了機(jī)器學(xué)習(xí),帶來(lái)了深度學(xué)習(xí)。下一波計(jì)算機(jī)硬件和軟件可能涉及大量?jī)?nèi)存和神經(jīng)網(wǎng)絡(luò),這些內(nèi)存和神經(jīng)網(wǎng)絡(luò)受到動(dòng)態(tài)限制,以利用高度并行的芯片架構(gòu)。未來(lái)看起來(lái)很有趣。