摩爾定律的迫在眉睫和深度學(xué)習(xí)的不斷使用推動(dòng)了針對(duì)特定神經(jīng)體系結(jié)構(gòu)進(jìn)行優(yōu)化的定制芯片的設(shè)計(jì)。這些定制芯片也被稱為加速器,可以顯著地增加可用的算力,從而提高神經(jīng)網(wǎng)絡(luò)的性能以及廣泛應(yīng)用的可能性。
在談到有關(guān)該公司是如何利用人工智能促進(jìn)其定制芯片的研發(fā)時(shí),Google Brain的總監(jiān)杰夫迪恩(Jeff Dean)指出,在某些情況下,深度學(xué)習(xí)可以比人類做出更好的決策,像是規(guī)劃芯片中的電路布局。
2月初,Google發(fā)表了論文《阿波羅:可遷移架構(gòu)探索》(Apollo:Architecture Exploration),講述了名為Apollo的研究項(xiàng)目,該項(xiàng)目提供了一種通用的芯片架構(gòu)探索框架。
芯片架構(gòu)指的是芯片功能組件的設(shè)計(jì),它們?nèi)绾蜗嗷プ饔靡约败浖?a href="http://ttokpm.com/v/tag/1730/" target="_blank">程序員應(yīng)如何訪問這些組件。例如,經(jīng)典的Intel x86處理器具有一定數(shù)量的片上內(nèi)存、專用的數(shù)學(xué)邏輯單元和寄存器以一定的組合方式組成,這種組合方式賦予「英特爾架構(gòu)」以意義。
定制芯片需要高效的架構(gòu)探索方法。然而,由于搜索空間呈指數(shù)級(jí)增長,而目標(biāo)函數(shù)又是一個(gè)黑匣子,優(yōu)化架構(gòu)的參數(shù)是一個(gè)艱巨的任務(wù),通常需要專業(yè)知識(shí)。施加在參數(shù)上的約束進(jìn)一步使有效配置的識(shí)別變得復(fù)雜。
為了解決上述問題,Apollo程序執(zhí)行的是適合運(yùn)行某種神經(jīng)網(wǎng)絡(luò)的架構(gòu)的探索。
這樣,目標(biāo)就變成了,對(duì)于芯片架構(gòu)來說正確的參數(shù)是什么,對(duì)于給定的神經(jīng)網(wǎng)絡(luò)任務(wù),芯片應(yīng)滿足哪些標(biāo)準(zhǔn)?
該團(tuán)隊(duì)將目標(biāo)函數(shù)定義為找到適合于給定的AI任務(wù)的某種正確的數(shù)學(xué)運(yùn)算單元組合,并對(duì)超過4.52億個(gè)參數(shù)進(jìn)行排序檢索,包括將使用多少個(gè)數(shù)學(xué)運(yùn)算單元(處理器)以及對(duì)于給定模型而言最佳的參數(shù)存儲(chǔ)量和激活存儲(chǔ)量。
圖示:人工智能加速器芯片的搜索空間,即芯片架構(gòu)必須優(yōu)化的功能塊。許多AI芯片的特征是用于大量簡單數(shù)學(xué)運(yùn)算的并行,相同的處理器用于執(zhí)行許多矢量矩陣乘法,這是神經(jīng)網(wǎng)絡(luò)處理的主力軍。(來源:Google Blog)
他們選擇了一個(gè)名為MobileNet的較為簡單的AI任務(wù)進(jìn)行測試,這是一種由資源節(jié)約型網(wǎng)絡(luò)組成的卷積神經(jīng)網(wǎng)絡(luò)。實(shí)驗(yàn)演示了如何利用針對(duì)復(fù)雜的高維度的定制優(yōu)化策略進(jìn)行架構(gòu)探索,并以合理的少量評(píng)估(約占搜索空間的0.0004%)產(chǎn)生大的改進(jìn)(高達(dá)24.6%)。此外,他們還測試了執(zhí)行諸如對(duì)象檢測和語義分段之類任務(wù)的工作負(fù)載。
Apollo可以采用多種方法進(jìn)行所謂的「黑盒優(yōu)化」,并且可以比較每種方法在解決不同目標(biāo)的效果,使這些方法適應(yīng)于特定的任務(wù)。
該團(tuán)隊(duì)在架構(gòu)探索的背景下探索了四種優(yōu)化策略,這些優(yōu)化策略實(shí)際上是為開發(fā)神經(jīng)網(wǎng)絡(luò)體系結(jié)構(gòu)而設(shè)計(jì)的,包括隨機(jī)采樣、貝葉斯優(yōu)化、為「設(shè)計(jì)」 DNA序列而研發(fā)的進(jìn)化搜索以及基于總體的黑盒優(yōu)化(P3BO)。
對(duì)這些優(yōu)化進(jìn)行比較的主要目的是為了有條不紊地指出最有效的方法。實(shí)驗(yàn)結(jié)果表明,進(jìn)化方法和P3BO優(yōu)于隨機(jī)選擇和貝葉斯優(yōu)化。
圖示:Apollo的優(yōu)點(diǎn)是可以將各種現(xiàn)有的優(yōu)化方法相結(jié)合,以了解它們?nèi)绾卧趦?yōu)化新型芯片設(shè)計(jì)的體系結(jié)構(gòu)中相互疊加。(來源:Google Blog)
Apollo的搜索是高效的,可遷移的。
研究人員將P3BO與架構(gòu)解決方案的半窮盡搜索集進(jìn)行了比較,發(fā)現(xiàn)基于總體的黑盒優(yōu)化方法能夠發(fā)現(xiàn)并使用像是計(jì)算與內(nèi)存這類的電路中權(quán)衡取舍的解決方案,而這些通常需要特定領(lǐng)域的知識(shí)。并且,基于總體的方法可以找到半窮盡搜索無法找到的解決方案。
因此,Apollo能夠弄清楚不同的優(yōu)化方法在芯片設(shè)計(jì)中的效果如何。但是,它還可以做更多的事情,那就是它可以運(yùn)用「遷移學(xué)習(xí)」展示如何依次改進(jìn)這些優(yōu)化。
Yazdanbakhsh及其同事將Apollo稱為「第一個(gè)可遷移的架構(gòu)探索的基礎(chǔ)框架」,它在不同的芯片上工作的越多,越能更好地探索可能的芯片體系結(jié)構(gòu),從而將學(xué)到的知識(shí)遷移到每個(gè)新任務(wù)上。研究表明,遷移學(xué)習(xí)可以有效地改善目標(biāo)體系結(jié)構(gòu)的探索,尤其是當(dāng)優(yōu)化約束具有更嚴(yán)格的界限時(shí)。
使用AI設(shè)計(jì)運(yùn)行AI的芯片具有很好的對(duì)稱性。
Apollo代表著一個(gè)有趣的發(fā)展,超越了之前所說的機(jī)器學(xué)習(xí)僅用于一些「布局與布線」之類的低層次的設(shè)計(jì)決策。相比之下,Apollo程序執(zhí)行的是更高層次的「架構(gòu)探索」,而不僅僅是創(chuàng)建類似于建筑中的平面設(shè)計(jì)圖的產(chǎn)物。
當(dāng)被問及Dean的描述時(shí),主要作者阿米爾雅茲丹巴赫什(Amir Yazdanbakhsh)解釋:「我會(huì)看到我們的工作和布局布線工作是正交且互補(bǔ)的。相比于計(jì)算堆棧中的布局布線,架構(gòu)探索的層次要更高。」他認(rèn)為「架構(gòu)探索」是存在更高性能的改進(jìn)余地的方式。
但是,為MobileNet或任何其他網(wǎng)絡(luò)設(shè)計(jì)的芯片受到一定程度上的適用性的限制。
文章的作者之一Berkin Akin指出優(yōu)化結(jié)果是芯片和神經(jīng)網(wǎng)絡(luò)共同優(yōu)化的產(chǎn)物?!干窠?jīng)網(wǎng)絡(luò)架構(gòu)必須了解目標(biāo)硬件架構(gòu),以優(yōu)化整體系統(tǒng)性能和能效。」他表示,Apollo對(duì)于給定的工作負(fù)載可能就足夠了,但在芯片和神經(jīng)網(wǎng)絡(luò)之間進(jìn)行「共同優(yōu)化」,將在未來產(chǎn)生其他好處。
「我們用ML為給定的工作負(fù)載找到最佳的硬件體系結(jié)構(gòu)。當(dāng)然,在某些情況下,可以靈活地同時(shí)優(yōu)化硬件設(shè)計(jì)和神經(jīng)網(wǎng)絡(luò)體系結(jié)構(gòu)。實(shí)際上,我們正在進(jìn)行一些此類聯(lián)合優(yōu)化的工作,我們希望可以取得更好的折衷。.. 」
因此,雖然芯片設(shè)計(jì)受到AI的工作量的影響,但是新的芯片設(shè)計(jì)進(jìn)程也會(huì)對(duì)神經(jīng)網(wǎng)絡(luò)的設(shè)計(jì)產(chǎn)生相當(dāng)?shù)挠绊?,這類的辯證法在未來幾年中可能會(huì)以有趣的方式發(fā)展。
責(zé)任編輯:YYX
-
芯片
+關(guān)注
關(guān)注
450文章
49678瀏覽量
417369 -
Google
+關(guān)注
關(guān)注
5文章
1748瀏覽量
57196 -
AI
+關(guān)注
關(guān)注
87文章
28928瀏覽量
266301
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論