一年前,ZDNet 與Google Brain總監(jiān)Jeff Dean 談了有關(guān)該公司如何利用人工智能來推進(jìn)其定制芯片內(nèi)部開發(fā)以加速其軟件的過程。Dean指出,在某些情況下,人工智能的深度學(xué)習(xí)形式可以比人類做出更好的決策,以決定如何在芯片中布局電路。
本月,Google 在arXiv文件服務(wù)器 上 發(fā)表 的一篇題為《阿波羅:可移植的體系結(jié)構(gòu)探索》(Apollo:Transferable Architecture Exploration)的論文上,向世人揭示了一個(gè)名為Apollo的研究項(xiàng)目。
阿波羅(Apollo)代表著一個(gè)有趣的發(fā)展,超越了Dean一年前在國際固態(tài)電路會(huì)議上的正式講話中以及在他對(duì)ZDNet的講話中所暗示的含義。
在Dean當(dāng)時(shí)提供的示例中,機(jī)器學(xué)習(xí)可用于一些低級(jí)設(shè)計(jì)決策,即“布局和布線”。在位置和路線上,芯片設(shè)計(jì)人員使用軟件來確定構(gòu)成芯片操作的電路布局,類似于設(shè)計(jì)建筑物的平面圖。
相比之下,在阿波羅,該計(jì)劃執(zhí)行的是論文作者Yazdanbakhsh及其同事所說的“架構(gòu)探索”,而不是平面圖。
芯片的體系結(jié)構(gòu)是芯片功能元素的設(shè)計(jì),主要是決定它們?nèi)绾蜗嗷プ饔靡约败浖?a href="http://wenjunhu.com/v/tag/1730/" target="_blank">程序員應(yīng)如何訪問這些功能元素。
例如,經(jīng)典的Intel x86處理器具有一定數(shù)量的片上內(nèi)存,專用的算術(shù)邏輯單元和許多寄存器,等等。這些部分的組合方式賦予了所謂的英特爾架構(gòu)以意義。
當(dāng)被問及Dean的描述時(shí),Yazdanbakhsh在電子郵件中告訴ZDNet: “我會(huì)看到我們的工作和布局規(guī)劃項(xiàng)目是正交且互補(bǔ)的。
Yazdanbakhsh解釋說:“架構(gòu)探索比 計(jì)算棧中的 布局布線要高級(jí)得多,”他指的是康奈爾大學(xué)(Cornell University)的Christopher Batten的演講。
Yazdanbakhsh表示:“我認(rèn)為,在[架構(gòu)探索]中,存在更高的性能改進(jìn)余地。
Yazdanbakhsh及其同事將Apollo稱為“第一個(gè)可移植的體系結(jié)構(gòu)探索基礎(chǔ)結(jié)構(gòu)”,這是第一個(gè)程序,它在不同的芯片上工作的越多,越能更好地探索可能的芯片體系結(jié)構(gòu),從而將學(xué)到的知識(shí)轉(zhuǎn)移到每個(gè)新任務(wù)上。
Yazdanbakhsh和團(tuán)隊(duì)正在開發(fā)的芯片本身就是用于AI的芯片,稱為加速器。該芯片與Nvidia A100“ Ampere” GPU,Cerebras Systems WSE芯片以及目前投放市場的許多其他啟動(dòng)部件屬于同一類。因此,使用AI設(shè)計(jì)運(yùn)行AI的芯片具有很好的對(duì)稱性。
鑒于任務(wù)是設(shè)計(jì)一個(gè)AI芯片,Apollo程序正在探索的架構(gòu)是適合運(yùn)行神經(jīng)網(wǎng)絡(luò)的架構(gòu)。這意味著很多線性代數(shù),很多簡單的數(shù)學(xué)單元執(zhí)行矩陣乘法并對(duì)結(jié)果求和。
團(tuán)隊(duì)將挑戰(zhàn)定義為找到適合給定AI任務(wù)的這些數(shù)學(xué)塊的正確組合之一。他們選擇了一個(gè)相當(dāng)簡單的AI任務(wù),即一個(gè)稱為MobileNet的卷積神經(jīng)網(wǎng)絡(luò),這是一種資源有效的網(wǎng)絡(luò),由Andrew G.Howard和Google的同事于2017年設(shè)計(jì)。此外,他們使用多個(gè)內(nèi)部設(shè)計(jì)的網(wǎng)絡(luò)測試了工作負(fù)載,以執(zhí)行諸如對(duì)象檢測和語義分段之類的任務(wù)。
這樣,目標(biāo)就變成了:對(duì)于芯片的體系結(jié)構(gòu),什么是正確的參數(shù),以使得對(duì)于給定的神經(jīng)網(wǎng)絡(luò)任務(wù),芯片滿足諸如速度之類的某些標(biāo)準(zhǔn)?
搜索涉及對(duì)超過4.52億個(gè)參數(shù)進(jìn)行排序,包括將使用多少個(gè)數(shù)學(xué)單元(稱為處理器元素),以及對(duì)于給定模型而言最佳的參數(shù)存儲(chǔ)量和激活存儲(chǔ)量。
Apollo的優(yōu)點(diǎn)是可以將各種現(xiàn)有的優(yōu)化方法相提并論,以了解它們?nèi)绾卧趦?yōu)化新型芯片設(shè)計(jì)的體系結(jié)構(gòu)中相互疊加。在這里,上圖顯示了相對(duì)結(jié)果。
Apollo是一個(gè)框架,這意味著它可以采用文獻(xiàn)中開發(fā)的多種方法進(jìn)行所謂的黑盒優(yōu)化,并且可以使這些方法適應(yīng)特定的工作負(fù)載,并比較每種方法在解決目標(biāo)方面的效果。
在另一個(gè)很好的對(duì)稱性中,Yazdanbakhsh采用了一些優(yōu)化方法,這些方法實(shí)際上是為開發(fā)神經(jīng)網(wǎng)絡(luò)體系結(jié)構(gòu)而設(shè)計(jì)的。其中包括Google的Quoc V.Le及其同事于2019年開發(fā)的所謂進(jìn)化法; Christoph Angermueller和其他人在Google上基于模型的強(qiáng)化學(xué)習(xí)和所謂的基于群體的方法集成,目的是“設(shè)計(jì)” DNA序列;和貝葉斯優(yōu)化方法。因此,Apollo包含了令人愉悅的對(duì)稱性的主要層次,將為神經(jīng)網(wǎng)絡(luò)設(shè)計(jì)和生物合成設(shè)計(jì)的方法匯集在一起,以設(shè)計(jì)可用于神經(jīng)網(wǎng)絡(luò)設(shè)計(jì)和生物合成的電路。
比較所有這些優(yōu)化,這就是Apollo框架的亮點(diǎn)。它的整個(gè)存在目的是有條不紊地采用不同的方法,并指出最有效的方法。阿波羅(Apollo)試驗(yàn)結(jié)果詳細(xì)說明了進(jìn)化方法和基于模型的方法如何優(yōu)于隨機(jī)選擇和其他方法。
但是,阿波羅最引人注目的發(fā)現(xiàn)是,與蠻力搜索相比,運(yùn)行這些優(yōu)化方法使流程效率更高。例如,他們將基于群體的集成方法與他們所說的對(duì)體系結(jié)構(gòu)方法的解決方案集的半窮盡搜索進(jìn)行了比較。
Yazdanbakhsh及其同事看到的是,基于人群的方法能夠發(fā)現(xiàn)利用電路中權(quán)衡取舍的解決方案,例如計(jì)算與內(nèi)存,而這通常需要特定領(lǐng)域的知識(shí)。由于基于人口的方法是一種博學(xué)的方法,因此它可以找到半窮舉搜索無法找到的解決方案。
實(shí)際上,P3BO(基于人口的黑盒優(yōu)化)發(fā)現(xiàn)的設(shè)計(jì)比3K樣本搜索空間的半窮盡略好。我們觀察到該設(shè)計(jì)使用非常小的內(nèi)存大?。?MB)來支持更多的計(jì)算單元。這充分利用了視覺工作負(fù)載的計(jì)算密集型性質(zhì),而原始半詳盡搜索空間中并未包含該功能。這證明了半窮舉方法需要人工搜索空間工程,而基于學(xué)習(xí)的優(yōu)化方法利用大的搜索空間來減少人工工作。
因此,Apollo能夠弄清楚不同的優(yōu)化方法在芯片設(shè)計(jì)中的效果如何。但是,它還可以做更多的事情,那就是它可以運(yùn)行所謂的遷移學(xué)習(xí),以展示如何依次改進(jìn)這些優(yōu)化方法。
通過運(yùn)行優(yōu)化策略以將芯片設(shè)計(jì)提高一個(gè)設(shè)計(jì)點(diǎn),例如以毫米為單位的最大芯片尺寸,這些實(shí)驗(yàn)的結(jié)果便可以作為輸入輸入到隨后的優(yōu)化方法中。Apollo團(tuán)隊(duì)發(fā)現(xiàn)的是,通過利用初始或種子優(yōu)化方法的最佳結(jié)果,各種優(yōu)化方法可在諸如面積受限的電路設(shè)計(jì)之類的任務(wù)上提高其性能。
所有這些必須由以下事實(shí)括起來:為MobileNet或任何其他網(wǎng)絡(luò)或工作負(fù)載設(shè)計(jì)芯片受設(shè)計(jì)過程對(duì)給定工作負(fù)載的適用性的限制。
實(shí)際上,其中一位作者Berkin Akin幫助開發(fā)了MobileNet版本MobileNet Edge,他指出優(yōu)化是芯片和神經(jīng)網(wǎng)絡(luò)優(yōu)化的產(chǎn)物。
“神經(jīng)網(wǎng)絡(luò)架構(gòu)必須了解目標(biāo)硬件架構(gòu),才能優(yōu)化整體系統(tǒng)性能和能源效率,” Akin去年在與同事Suyog Gupta的論文中寫道。
ZDNet通過電子郵件與Akin聯(lián)絡(luò),問一個(gè)問題:與神經(jīng)網(wǎng)絡(luò)體系結(jié)構(gòu)的設(shè)計(jì)隔離時(shí),硬件設(shè)計(jì)有多有價(jià)值?
“很好的問題?!盇kim在電子郵件中回答。
Akin說,Apollo對(duì)于給定的工作負(fù)載可能就足夠了,但是在芯片和神經(jīng)網(wǎng)絡(luò)之間進(jìn)行的所謂的“共同優(yōu)化”將帶來其他好處。
這是Akin的完整回覆:
當(dāng)然,在某些用例中,我們正在為給定的一組固定神經(jīng)網(wǎng)絡(luò)模型設(shè)計(jì)硬件。這些模型可以是硬件目標(biāo)應(yīng)用領(lǐng)域中高度優(yōu)化的代表性工作負(fù)載的一部分,也可以是定制加速器用戶的要求。在這項(xiàng)工作中,我們正在解決這種性質(zhì)的問題,我們使用ML為給定的工作負(fù)載套件找到最佳的硬件體系結(jié)構(gòu)。但是,當(dāng)然在某些情況下,可以靈活地共同優(yōu)化硬件設(shè)計(jì)和神經(jīng)網(wǎng)絡(luò)體系結(jié)構(gòu)。實(shí)際上,我們正在進(jìn)行一些此類聯(lián)合優(yōu)化的工作,我們希望可以取得更好的權(quán)衡。
那么,最后的收獲是,即使芯片設(shè)計(jì)受到AI的新工作量的影響,芯片設(shè)計(jì)的新過程也可能對(duì)神經(jīng)網(wǎng)絡(luò)的設(shè)計(jì)產(chǎn)生可衡量的影響。
責(zé)任編輯:tzh
-
處理器
+關(guān)注
關(guān)注
68文章
19293瀏覽量
229958 -
芯片
+關(guān)注
關(guān)注
455文章
50851瀏覽量
423971 -
AI
+關(guān)注
關(guān)注
87文章
30947瀏覽量
269209 -
人工智能
+關(guān)注
關(guān)注
1791文章
47314瀏覽量
238643
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論