人工智能正在從根本上改變處理器設(shè)計(jì),將針對(duì)特定人工智能工作負(fù)載的定制處理元件與針對(duì)其他任務(wù)的更傳統(tǒng)處理器相結(jié)合。
但是,這種權(quán)衡越來(lái)越令人困惑、復(fù)雜,管理起來(lái)也越來(lái)越具有挑戰(zhàn)性。例如,工作負(fù)載的變化速度可能會(huì)超過(guò)定制設(shè)計(jì)所需的時(shí)間。此外,人工智能特定流程可能會(huì)超出功耗和散熱預(yù)算,這可能需要調(diào)整工作負(fù)載。整合所有這些部件可能會(huì)產(chǎn)生一些問(wèn)題,需要在系統(tǒng)層面而不僅僅是芯片中加以解決。
"Rambus?研究員兼杰出發(fā)明家 Steven Woo 說(shuō):"人工智能工作負(fù)載顛覆了處理器架構(gòu)。"很明顯,現(xiàn)有的架構(gòu)并不能很好地發(fā)揮作用。早在 2014 年,人們就開(kāi)始意識(shí)到,使用 GPU 可以極大地提高交易性能,這極大地推動(dòng)了人工智能的發(fā)展。那時(shí),人們開(kāi)始說(shuō):'GPU 是一種專用架構(gòu)。我們能做得更多嗎?'當(dāng)時(shí),人工智能中非常常見(jiàn)的乘法累加顯然是瓶頸所在。現(xiàn)在,你已經(jīng)擁有了這么多優(yōu)秀的硬件。我們已經(jīng)掌握了乘法累加的方法。那么我們還需要在硬件中加入什么呢?這就是架構(gòu)的真諦。就是要找到帳篷里的高釘子或長(zhǎng)帳篷桿,然后把它敲下來(lái)"。
其他人對(duì)此表示贊同。"Ansys公司總監(jiān)里奇-戈德曼(Rich Goldman)說(shuō):"人工智能正好適合 GPU 架構(gòu),這就是英偉達(dá)擁有萬(wàn)億美元市值的原因。"有趣的是,英特爾很早就在做 GPU,不過(guò)是在 CPU 內(nèi)驅(qū)動(dòng)視頻處理器?,F(xiàn)在他們開(kāi)始做獨(dú)立的 GPU。另外,AMD 有一個(gè)非常有趣的架構(gòu),即 GPU 和 CPU 共享內(nèi)存。不過(guò),CPU 仍然很重要。英偉達(dá)公司的Grace Hopper是 CPU 與 GPU 的組合,因?yàn)椴⒎撬袘?yīng)用都適合 GPU 架構(gòu)。即使是在適合使用 GPU 的應(yīng)用中,也有部分應(yīng)用只運(yùn)行小型 CPU。幾十年來(lái),我們一直在 CPU x86 架構(gòu)上運(yùn)行一切,也許還包括了 RISC 架構(gòu),但它就是 CPU。不同的應(yīng)用在不同的架構(gòu)上運(yùn)行得更好,而英偉達(dá)公司恰好首先專注于視頻游戲,然后才轉(zhuǎn)向動(dòng)畫和電影。同樣的架構(gòu)非常適合人工智能,而人工智能正推動(dòng)著當(dāng)今的一切"。
現(xiàn)在的挑戰(zhàn)是如何開(kāi)發(fā)更高效的平臺(tái),并針對(duì)特定用例進(jìn)行優(yōu)化?!爱?dāng)你在真正的可擴(kuò)展硬件中實(shí)現(xiàn)這個(gè)東西,而不僅僅是一次性用例時(shí),那么挑戰(zhàn)就變成了如何運(yùn)行這個(gè)東西?” Cadence Tensilica AI 產(chǎn)品營(yíng)銷總監(jiān) Suhas Mitra 說(shuō)道?!皞鹘y(tǒng)上,在處理器中,我們有一個(gè) CPU。如果你有一個(gè)移動(dòng)平臺(tái),你就有一個(gè) GPU、DSP 等。所有這些都會(huì)變得混亂,因?yàn)槿藗兛吹竭@些工作負(fù)載有時(shí)并行得令人尷尬。隨著并行計(jì)算的出現(xiàn),這就是 GPU 變得非常流行的原因——它們擁有非常好的硬件引擎,可以進(jìn)行并行處理——供應(yīng)商很容易立即獲利?!?/p>
Expedera 公司首席科學(xué)家沙拉德-喬勒(Sharad Chole)說(shuō),當(dāng)工作負(fù)載定義明確時(shí),這種方法最有效。"在這類架構(gòu)中,比方說(shuō),你正試圖在邊緣架構(gòu)中以緊密耦合的方式集成 ISP 和?NPU。SoC 領(lǐng)導(dǎo)者正在研究如何減少設(shè)計(jì)的面積和功耗。"
Chole 說(shuō),這里的挑戰(zhàn)在于了解架構(gòu)內(nèi)存部分的延遲影響。"如果 NPU 速度慢,內(nèi)存會(huì)是什么樣子?當(dāng) NPU 速度較快時(shí),內(nèi)存會(huì)是什么樣子?最后,平衡 MAC 與平衡內(nèi)存之間的問(wèn)題也由此而來(lái),我們正試圖盡可能減少輸入和輸出緩沖。
外部存儲(chǔ)器帶寬也是其中的關(guān)鍵部分,尤其是對(duì)于邊緣設(shè)備而言。"沒(méi)有人擁有足夠的帶寬,"他補(bǔ)充道。"因此,我們?cè)撊绾蝿澐止ぷ髫?fù)載或調(diào)度神經(jīng)網(wǎng)絡(luò),從而使外部?jī)?nèi)存帶寬得以維持并盡可能降低?這基本上就是我們通過(guò)打包或?qū)⑸窠?jīng)網(wǎng)絡(luò)分解成更小的片段并嘗試執(zhí)行這兩個(gè)片段來(lái)實(shí)現(xiàn)的。
為快速變化的未來(lái)而設(shè)計(jì)
人工智能的一個(gè)大問(wèn)題是,算法和計(jì)算模型的發(fā)展和變化速度比從頭開(kāi)始設(shè)計(jì)的速度更快。
Rambus 的 Woo 表示:“如果你說(shuō)你要構(gòu)建一款非常適合 LSTM(長(zhǎng)短期記憶)模型的 CPU,那么這個(gè)周期就是幾年?!?“然后你會(huì)在兩年內(nèi)意識(shí)到,LSTM 模型作為主導(dǎo)事物來(lái)了又去。您想要制造專門的硬件,但您必須做得更快才能跟上。如果我們能夠像改變算法一樣快地創(chuàng)建硬件,那將是圣杯。那太好了,但我們不能這樣做,盡管行業(yè)面臨著這樣做的壓力?!?/p>
"Rambus 的 Woo 說(shuō):"如果你說(shuō)你要打造一個(gè)在LSTM(長(zhǎng)短期記憶)模型方面非常出色的 CPU,那么這個(gè)周期就是幾年。"然后在兩年后你發(fā)現(xiàn),LSTM 模型成為主流。你想做專用硬件,但你必須做得更快才能跟上。如果我們創(chuàng)造硬件的速度能和改變算法的速度一樣快,那將是一個(gè)奇跡。這是一件好事,可惜我們做不到,盡管業(yè)界正面臨著這樣的壓力。
這也意味著處理人工智能工作負(fù)載的處理器的架構(gòu)將不同于那些不專注于人工智能的處理器。"Woo說(shuō):"如果你看看這些用于訓(xùn)練的引擎,它們不會(huì)運(yùn)行Linux或Word,因?yàn)樗鼈儾皇菫橥ㄓ梅种?、多種指令或支持多種語(yǔ)言而設(shè)計(jì)的。"它們幾乎都是基本引擎,只在少數(shù)類型的操作中運(yùn)行得非常快。它們針對(duì)計(jì)算所需的特定數(shù)據(jù)移動(dòng)模式進(jìn)行了高度調(diào)整。以谷歌 TPU 為例,自上世紀(jì) 80 年代以來(lái),它就采用了脈動(dòng)陣列架構(gòu)。它非常擅長(zhǎng)在大型數(shù)據(jù)陣列上進(jìn)行特定類型的均勻分布工作,因此非常適合這些密集的神經(jīng)網(wǎng)絡(luò)。但運(yùn)行通用代碼并不是這些東西的設(shè)計(jì)初衷。它們更像是大規(guī)模的協(xié)處理器,能很好地完成計(jì)算中真正重要的部分,但它們?nèi)孕枰B接到管理計(jì)算其余部分的處理器之上"。
即使是基準(zhǔn)測(cè)試也很困難,因?yàn)樗⒉豢偸峭惐容^,這就給架構(gòu)的開(kāi)發(fā)帶來(lái)了困難?!斑@是一個(gè)很難的話題,因?yàn)椴煌娜耸褂貌煌墓ぞ邅?lái)解決這個(gè)問(wèn)題,”Expedera 的 Chole 說(shuō),"在設(shè)計(jì)工程師的日常工作中,這項(xiàng)任務(wù)就是系統(tǒng)級(jí)基準(zhǔn)測(cè)試。你對(duì)SoC芯片的每個(gè)部分都要單獨(dú)進(jìn)行基準(zhǔn)測(cè)試,然后根據(jù)這些數(shù)據(jù)推斷所需的帶寬。這就是性能,這就是我要得到的延遲。在此基礎(chǔ)上,你試圖估算整個(gè)系統(tǒng)的外觀。但是,隨著我們?cè)谠O(shè)計(jì)過(guò)程中取得更多進(jìn)展,我們正在研究某種基于仿真的方法,這種方法不是完整的仿真,而是在仿真中進(jìn)行事務(wù)精確仿真,以獲得不同設(shè)計(jì)模塊的精確性能和精確帶寬要求。例如,有一個(gè) RISC-V 和一個(gè) NPU,它們必須協(xié)同工作并完全共存。它們必須流水線化嗎?它們的工作負(fù)載能否流水線化?RISC 究竟需要多少周期?為此,我們必須在 RISC-V 上編譯程序,在 NPU 上編譯我們的程序,然后進(jìn)行聯(lián)合仿真。
人工智能工作負(fù)載對(duì)處理器設(shè)計(jì)的影響
所有這些變量都會(huì)影響設(shè)計(jì)的功耗、性能和面積/成本。
Arm 研究員兼高級(jí)技術(shù)總監(jiān) Ian Bratt 說(shuō):"ML 工作負(fù)載的 PPA 權(quán)衡與所有架構(gòu)師在考慮加速時(shí)面臨的權(quán)衡類似--能效與面積。在過(guò)去幾年中,隨著 ML 專用加速指令的增加,CPU 在處理 ML 工作負(fù)載方面的性能顯著提高。許多 ML 工作負(fù)載都能在現(xiàn)代 CPU 上出色地運(yùn)行。但是,如果您處于能源高度緊張的環(huán)境中,那么值得付出額外的硅面積成本來(lái)增加專用 NPU,因?yàn)樵?ML 推理中,NPU 比 CPU 更節(jié)能。這種能效是以增加硅片面積和犧牲靈活性為代價(jià)的;NPU IP 通常只能運(yùn)行神經(jīng)網(wǎng)絡(luò)。此外,像 NPU 這樣的專用單元也可能比 CPU 這樣更靈活的組件實(shí)現(xiàn)更高的整體性能(更低的延遲)"。
西門子 EDA軟件部門的項(xiàng)目總監(jiān) Russell Klein解釋說(shuō):“設(shè)計(jì)中有兩個(gè)主要方面對(duì)其操作特性(PPA)影響最為顯著。一是計(jì)算中使用的數(shù)據(jù)表示。對(duì)于大多數(shù)機(jī)器學(xué)習(xí)計(jì)算來(lái)說(shuō),浮點(diǎn)數(shù)確實(shí)效率很低。使用更合適的表示可以使設(shè)計(jì)更快、更小、功耗更低?!?/p>
另一個(gè)主要因素是設(shè)計(jì)中計(jì)算元件的數(shù)量。"從根本上說(shuō),設(shè)計(jì)中要內(nèi)置多少個(gè)乘法器,"Klein說(shuō),“這將帶來(lái)并行性,而并行性是提供性能所必需的。一個(gè)設(shè)計(jì)可以有大量的乘法器,使其體積大、功耗高、速度快。也可以只有幾個(gè)乘法器,體積小、功耗低,但速度慢得多。除了功耗、性能和面積之外,還有一個(gè)非常重要的指標(biāo),那就是每次推理的能耗。任何由電池供電或獲取能量的設(shè)備,都可能對(duì)每次推理的能量比功率更敏感。"
特征和權(quán)重的數(shù)字表示也會(huì)對(duì)設(shè)計(jì)的 PPA 產(chǎn)生重大影響。
"在數(shù)據(jù)中心,一切都是 32 位浮點(diǎn)數(shù)。替代表示法可以減少運(yùn)算器的大小以及需要移動(dòng)和存儲(chǔ)的數(shù)據(jù)量,"他指出,"大多數(shù)人工智能算法并不需要浮點(diǎn)數(shù)支持的全部范圍,使用定點(diǎn)數(shù)就可以很好地工作。定點(diǎn)乘法器的面積和功率通常只有相應(yīng)浮點(diǎn)乘法器的 1/2,而且運(yùn)行速度更快。通常也不需要 32 位的定點(diǎn)表示。許多算法可以將特征和權(quán)重的位寬減小到 16 位,在某些情況下甚至可以減小到 8 位。乘法器的大小和功率與其運(yùn)算的數(shù)據(jù)大小的平方成正比。因此,16 位乘法器的面積和功率是 32 位乘法器的 1/4。8 位定點(diǎn)乘法器的面積和功耗大約是 32 位浮點(diǎn)乘法器的 3%。如果算法可以使用 8 位定點(diǎn)數(shù)而不是 32 位浮點(diǎn)數(shù),則只需要 1/4 的內(nèi)存來(lái)存儲(chǔ)數(shù)據(jù),只需要 1/4 的總線帶寬來(lái)移動(dòng)數(shù)據(jù)。這大大節(jié)省了面積和功耗。通過(guò)量化感知訓(xùn)練,所需的位寬可以進(jìn)一步減少。通常情況下,以量化感知方式訓(xùn)練的網(wǎng)絡(luò)所需的位寬約為訓(xùn)練后量化網(wǎng)絡(luò)的 1/2。這樣,存儲(chǔ)和通信成本可減少1/2,乘法器面積和功率可減少 3/4。量化感知訓(xùn)練后的網(wǎng)絡(luò)通常只需要 3-8 位的定點(diǎn)表示。有時(shí),某些層只需要一位。而 1 位乘法器就是一個(gè) "與 "門。
此外,在對(duì)網(wǎng)絡(luò)進(jìn)行積極量化時(shí),溢出會(huì)成為一個(gè)重要問(wèn)題。"對(duì)于 32 位浮點(diǎn)數(shù),開(kāi)發(fā)人員不需要擔(dān)心數(shù)值超出表示的容量。但對(duì)于小的定點(diǎn)數(shù),就必須解決這個(gè)問(wèn)題。溢出很可能會(huì)經(jīng)常發(fā)生。使用飽和運(yùn)算符是解決這一問(wèn)題的方法之一。該運(yùn)算符不會(huì)溢出,而是存儲(chǔ)表示值中可能存在的最大值。
事實(shí)證明,這對(duì)機(jī)器學(xué)習(xí)算法非常有效,因?yàn)榇蟮闹虚g和的確切大小并不重要,只要它變大了就足夠了。通過(guò)使用飽和數(shù)學(xué),開(kāi)發(fā)人員可以將定點(diǎn)數(shù)的大小再減少一兩位。有些神經(jīng)網(wǎng)絡(luò)確實(shí)需要浮點(diǎn)表示法提供的動(dòng)態(tài)范圍。它們?cè)谵D(zhuǎn)換為定點(diǎn)數(shù)時(shí)會(huì)損失過(guò)多的精度,或者需要超過(guò) 32 位的表示才能提供良好的精度。
在這種情況下,有幾種浮點(diǎn)表示法可以使用。谷歌為其 NPU 開(kāi)發(fā)的 B-float16(或 "brain float")是一種 16 位浮點(diǎn)數(shù),可輕松轉(zhuǎn)換為傳統(tǒng)浮點(diǎn)數(shù)或從傳統(tǒng)浮點(diǎn)數(shù)轉(zhuǎn)換為浮點(diǎn)數(shù)。與較小的定點(diǎn)數(shù)一樣,它可以實(shí)現(xiàn)較小的乘法器,減少數(shù)據(jù)存儲(chǔ)和移動(dòng)。Klein補(bǔ)充說(shuō):"還有一種 IEEE-754 16 位浮點(diǎn)數(shù),以及英偉達(dá)的 Tensorfloat。
使用其中任何一個(gè)都會(huì)導(dǎo)致更小、更快、功耗更低的設(shè)計(jì)。
此外,Woo 說(shuō):"如果你有一個(gè)通用內(nèi)核,它確實(shí)能做很多事情,但不會(huì)做得很好。它只是通用的。在你完成工作負(fù)載的任何時(shí)候,通用內(nèi)核都會(huì)有一部分在使用,一部分不在使用。擁有這些東西需要面積和功率。
人們開(kāi)始意識(shí)到,摩爾定律仍在為我們提供更多的晶體管,所以正確的做法也許是在人工智能流水線上構(gòu)建這些擅長(zhǎng)特定任務(wù)的專用內(nèi)核。有時(shí)你會(huì)關(guān)閉它們,有時(shí)你會(huì)打開(kāi)它們。但這總比擁有這些通用內(nèi)核要好,因?yàn)樵谕ㄓ脙?nèi)核上,你總是會(huì)浪費(fèi)一些面積和功耗,而且永遠(yuǎn)無(wú)法獲得最佳性能。再加上一個(gè)愿意付費(fèi)的市場(chǎng)——一個(gè)利潤(rùn)率很高、價(jià)值很高的市場(chǎng),這就是一個(gè)很好的組合。
Ansys 產(chǎn)品營(yíng)銷總監(jiān) Marc Swinnen 說(shuō):"在硬件工程領(lǐng)域,這也是一種相對(duì)容易理解的方法,你提出了版本 1,一旦你安裝了它,你就會(huì)發(fā)現(xiàn)哪些有效,哪些無(wú)效,并嘗試解決這些問(wèn)題。你運(yùn)行的應(yīng)用程序?qū)τ诹私膺@些權(quán)衡需要是什么至關(guān)重要。如果你能讓自己的硬件與你想運(yùn)行的應(yīng)用相匹配,你就能獲得比使用現(xiàn)成的東西更高效的設(shè)計(jì)。你為自己制作的芯片非常適合你想要做的事情。"
這就是為什么一些生成式人工智能開(kāi)發(fā)人員正在探索構(gòu)建自己的芯片,這表明在他們看來(lái),即使是當(dāng)前的半導(dǎo)體也不足以滿足他們未來(lái)的需求。這是人工智能如何改變處理器設(shè)計(jì)和周邊市場(chǎng)動(dòng)態(tài)的又一個(gè)例子。
人工智能還可能在芯片領(lǐng)域發(fā)揮重要作用,在芯片領(lǐng)域,半定制和定制硬件塊可以被表征并添加到設(shè)計(jì)中,而無(wú)需從頭開(kāi)始創(chuàng)建一切。英特爾(Intel)和 AMD 等大型芯片制造商已經(jīng)在內(nèi)部這樣做了一段時(shí)間,但無(wú)晶圓廠公司則處于劣勢(shì)。
“問(wèn)題在于,你的小芯片必須與現(xiàn)有解決方案競(jìng)爭(zhēng),” Fraunhofer IIS自適應(yīng)系統(tǒng)工程部高效電子部門負(fù)責(zé)人 Andy Heinig 表示。“如果你目前不注重性能,你就無(wú)法與之競(jìng)爭(zhēng)。人們都在關(guān)注這個(gè)生態(tài)系統(tǒng)的啟動(dòng)和運(yùn)行。但從我們的角度來(lái)看,這是一個(gè)先有雞還是先有蛋的問(wèn)題。你需要性能,尤其是因?yàn)樾酒?SoC 解決方案更昂貴。但你目前還不能真正專注于性能,因?yàn)槟惚仨毾茸屵@個(gè)生態(tài)系統(tǒng)投入運(yùn)行?!?/p>
正確的開(kāi)始
與過(guò)去不同的是,許多芯片都是針對(duì)一個(gè)插槽而設(shè)計(jì)的,而人工智能則完全取決于工作負(fù)載。
“在進(jìn)行這些權(quán)衡時(shí),最重要的是要知道目標(biāo)是什么,”Expedera 的 Chole 說(shuō)?!叭绻阒皇钦f(shuō)'我想做所有的事,支持所有的功能',那么你就沒(méi)有真正優(yōu)化任何東西。你基本上只是把一個(gè)通用解決方案放在里面,希望它能滿足你的功率要求。據(jù)我們了解,這種做法很少奏效。邊緣設(shè)備上的每個(gè)神經(jīng)網(wǎng)絡(luò)和每個(gè)部署案例都是獨(dú)一無(wú)二的。如果您的芯片安裝在耳機(jī)中并運(yùn)行 RNN,而不是安裝在 ADAS 芯片中并運(yùn)行變壓器,那么這是一個(gè)完全不同的用例。NPU、內(nèi)存系統(tǒng)、配置和功耗都完全不同。因此,了解我們想要嘗試的重要工作負(fù)載集是非常重要的。這可以是多個(gè)網(wǎng)絡(luò)。你必須讓團(tuán)隊(duì)就重要的網(wǎng)絡(luò)達(dá)成一致,并在此基礎(chǔ)上進(jìn)行優(yōu)化。工程團(tuán)隊(duì)在考慮 NPU 時(shí)就缺少這一點(diǎn)。他們只是想獲得世界上最好的,但如果不做一些交易,就不可能獲得最好的。我可以給你最好的,但你想要哪方面最好?”
Cadence公司的Mitra指出,每個(gè)人對(duì)PPA的看法都差不多,但人們會(huì)強(qiáng)調(diào)他們關(guān)心的是功率、性能、面積/成本(PPAC)中的哪一部分。"如果你是數(shù)據(jù)中心的人,你可能會(huì)接受犧牲一點(diǎn)面積,因?yàn)槟闼非蟮氖欠浅8咄掏铝康臋C(jī)器,因?yàn)槟阈枰M(jìn)行數(shù)十億次的人工智能推斷或人工智能工作,而這些工作在運(yùn)行巨大的模型、產(chǎn)生大量數(shù)據(jù)的同時(shí),也在進(jìn)行著市場(chǎng)份額的交易。你可以考慮在臺(tái)式機(jī)上運(yùn)行人工智能模型開(kāi)發(fā)工作進(jìn)行推理的日子已經(jīng)一去不復(fù)返了,但即使是一些大型語(yǔ)言模型的推理工作也變得相當(dāng)棘手。這意味著你需要一個(gè)海量數(shù)據(jù)集群,你需要在超大規(guī)模的數(shù)據(jù)中心規(guī)模上進(jìn)行海量數(shù)據(jù)計(jì)算。"
還有其他考慮因素。Synopsys EDA 集團(tuán)產(chǎn)品管理總監(jiān) William Ruby 表示:“硬件架構(gòu)決策推動(dòng)了這一點(diǎn),但軟件的作用也至關(guān)重要?!彼赋?,性能與能源效率是關(guān)鍵?!靶枰嗌賰?nèi)存??jī)?nèi)存子系統(tǒng)如何分區(qū)?軟件代碼可以針對(duì)能源效率進(jìn)行優(yōu)化嗎?(是的,可以。)工藝技術(shù)的選擇也很重要——出于所有 PPAC 原因?!?/p>
此外,Synopsys 公司 AI/ML 處理器產(chǎn)品經(jīng)理 Gordon Cooper 認(rèn)為,如果能效不是重點(diǎn),也可以使用嵌入式 GPU。"它將為您提供最佳的編碼靈活性,但在功耗和面積效率方面永遠(yuǎn)比不上專用處理器。如果使用 NPU 進(jìn)行設(shè)計(jì),那么在平衡面積與功耗方面仍需做出權(quán)衡。盡量減少片上內(nèi)存可以顯著降低總面積預(yù)算,但會(huì)增加從外部?jī)?nèi)存的數(shù)據(jù)傳輸,從而顯著增加功耗。增加片上內(nèi)存將降低外部?jī)?nèi)存讀寫的功耗"。
結(jié)論
所有這些問(wèn)題越來(lái)越成為系統(tǒng)問(wèn)題,而不僅僅是芯片問(wèn)題。
“人們?cè)诳创斯ぶ悄苡?xùn)練部分時(shí)會(huì)說(shuō):'哇,計(jì)算量真大。'"Woo 說(shuō),"一旦你想把所有這些加速硬件都投入其中,那么系統(tǒng)的其他部分就會(huì)開(kāi)始受到阻礙。出于這個(gè)原因,我們?cè)絹?lái)越多地看到英偉達(dá)等公司推出的這些平臺(tái),它們擁有精心設(shè)計(jì)的人工智能訓(xùn)練引擎,但也可能采用英特爾至強(qiáng)芯片。這是因?yàn)槿斯ぶ悄芤娌⒉贿m合進(jìn)行其他部分的計(jì)算。它們不是為運(yùn)行通用代碼而設(shè)計(jì)的,因此這越來(lái)越多地成為一個(gè)異構(gòu)系統(tǒng)問(wèn)題。你必須讓所有東西都能協(xié)同工作?!?/p>
另一個(gè)難題是在軟件方面,可以通過(guò)各種方法提高效率,例如還原法。“我們認(rèn)識(shí)到,在人工智能中,有一部分特定的算法和特定的計(jì)算被稱為還原,這是一種奇特的方法,即把大量數(shù)字還原成一個(gè)數(shù)字或一小組數(shù)字,”Woo解釋道,“可以是把它們加在一起或類似的東西。傳統(tǒng)的方法是,如果你有來(lái)自所有其他處理器的數(shù)據(jù),通過(guò)互連網(wǎng)絡(luò)發(fā)送到一個(gè)處理器,然后讓這個(gè)處理器將所有數(shù)據(jù)相加。所有這些數(shù)據(jù)都是通過(guò)交換機(jī)經(jīng)由網(wǎng)絡(luò)到達(dá)這臺(tái)處理器的。那么,我們?yōu)槭裁床恢苯釉诮粨Q機(jī)中將它們相加呢?這樣做的好處是類似于在線處理。最吸引人的是,一旦你在交換機(jī)中添加完所有內(nèi)容,你只需要傳送一個(gè)數(shù)字,這意味著網(wǎng)絡(luò)流量會(huì)減少?!?/p>
Woo 說(shuō),這樣的架構(gòu)考慮因素值得考慮,因?yàn)樗鼈兡芡瑫r(shí)解決幾個(gè)問(wèn)題。首先,數(shù)據(jù)在網(wǎng)絡(luò)中的傳輸速度非常慢,這就要求我們盡可能少地傳輸數(shù)據(jù)。其次,它避免了將數(shù)據(jù)傳送到處理器,然后再讓處理器進(jìn)行運(yùn)算,最后將結(jié)果傳送回來(lái)的冗余工作。第三,它非常并行,因此你可以讓每個(gè)交換機(jī)完成部分計(jì)算。
同樣,Expedera 的 Chole 表示,人工智能工作負(fù)載現(xiàn)在可以通過(guò)單個(gè)圖表來(lái)定義?!坝辛诉@個(gè)圖表,就不是一小套指令了。我們不是在做一個(gè)加法。我們正在同時(shí)進(jìn)行數(shù)百萬(wàn)次加法運(yùn)算,或者我們正在同時(shí)進(jìn)行1000萬(wàn)次矩陣乘法運(yùn)算。這改變了你對(duì)執(zhí)行的思考模式,改變了你對(duì)指令的思考模式,改變了你對(duì)指令的壓縮模式,改變了你對(duì)指令的預(yù)測(cè)和調(diào)度模式。在通用 CPU 中這樣做是不切實(shí)際的。要做到這一點(diǎn),成本太大。然而,作為神經(jīng)網(wǎng)絡(luò),同時(shí)活動(dòng)的 MAC 數(shù)量巨大,因此,生成指令、創(chuàng)建指令、壓縮指令、調(diào)度指令的方式,在利用率和帶寬方面會(huì)發(fā)生很大變化。這就是人工智能對(duì)處理器架構(gòu)方面的巨大影響?!?/p>
編輯:黃飛
?
評(píng)論