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