時偉
摘要:人工智能是研究、開發(fā)用于模擬、延伸和擴展人類智能理論、方法及應用的一門新技術,特別是機器學習正在改變這人們的生產(chǎn)和生活方式,也為工業(yè)和商業(yè)帶來了更多機會,但目前支持神經(jīng)網(wǎng)絡迭代、多樣性、訓練和推理的最佳硬件體系架構還未確定,本文針對這一領域,就嵌入式現(xiàn)場可編程門陣列eFPGA芯片的應用做一些探討。
關鍵詞:嵌入式現(xiàn)場可編程門陣列;人工智能;eFPGA;AI
中圖分類號:TN791 文獻標識碼:A 文章編號:1007-9416(2019)01-0075-01
目前,人工智能技術在正不同的領域逐步得到越來越廣泛的應用,如:自動駕駛、醫(yī)療診斷、家用電器、工業(yè)自動化、自適應網(wǎng)站、財務分析和網(wǎng)絡基礎設施。這些應用對電路的性能和功耗有嚴格的要求,以適應實時的學習和處理過程,這些將對傳統(tǒng)的硬件體系構架提出新的挑戰(zhàn)。嵌入式現(xiàn)場可編程門陣列作為一種新技術在AI解決方案中具有較高的靈活性,可以實現(xiàn)吞吐量和可重編程性之間的最佳平衡,并提供現(xiàn)實世界機器學習系統(tǒng)所需的性能,本文有針對性地做一些探討。
1 常用機器學習的硬件構架
許多通用中央處理器CPU構架可用于支持高性能機器學習,但是對于實時嵌入式系統(tǒng)來說,由于功耗和性能的限制,這些方案在電路設計開發(fā)的早期不得不放棄。
在2010至2015年期間,通用圖形處理單元GPGPU能提供數(shù)以百計的片上浮點處理單元,且能夠并行處理多個神經(jīng)元的輸入,其運算性能要遠超出通用CPU集群,從而成為了工程師進行訓練和推理算法設計的熱門硬件平臺。
然而,將GPGPU應用于深度學習架構也存在一些缺點,GPCPU主要用于加速2D和3D圖形應用程序,這些應用程序使用均勻且可預測的內存訪問模式,其電路結構支持算術運算密集型算法,并可以在存儲器中緊密地組合在一起,從而高效合理地處理卷積神經(jīng)網(wǎng)絡層。然而,在其他強調神經(jīng)元之間數(shù)據(jù)傳輸?shù)钠渌愋途W(wǎng)絡層時就存在問題,使得本地存儲器架構效率降低,也就降低了整體的性能和能效。
為了克服GPGPU在實施深度學習系統(tǒng)時存在的挑戰(zhàn)和瓶頸,人們開發(fā)出了具有定制邏輯和內存管理單元的專用集成電路ASIC,其內存管理單元可以針對神經(jīng)網(wǎng)絡代碼中遇到的不同訪問模式進行調整,從而大幅提高整體傳輸速度。但與基于軟件的通用處理器結構相比,ASIC也存在靈活性較差的問題。
現(xiàn)場可編程門陣列FPGA具有實現(xiàn)定制處理器和內存管理技術方面的諸多優(yōu)勢,其架構內已經(jīng)集成了可定制邏輯陣列和硬核數(shù)字信號處理器DSP單元,支持固定和浮點運算。在許多情況下,DSP引擎采常采用8位或16位單元模塊組件方式,可以組合起來使用以實現(xiàn)更高精度的數(shù)據(jù)運算。硬件結構的可重構性使FPGA很容易調整并行處理器和其之間的互聯(lián)結構,以滿足多種場合應用的特定需求。然而,可編程邏輯陣列相對低的效率也意味著,當應用程序需要網(wǎng)絡的某些高吞吐量專用功能時,用戶必須在神經(jīng)網(wǎng)絡內不同層之間的性能共享功能上妥協(xié)。而一種折中的方案是使用小型ASIC來擴展FPGA,從而為常用功能(如卷積內核等)提供加速。
2 嵌入式FPGA技術介紹
將FPGA構架嵌入到片上系統(tǒng)SoC可以克服獨立FPGA和ASIC的缺點,以及互相之間的數(shù)據(jù)傳輸問題。 嵌入到ASIC中的一個或多個FPGA提供了動態(tài)調整神經(jīng)網(wǎng)絡性能的能力,提供了充分利用定制引擎所需的高數(shù)據(jù)傳輸帶寬。而這種方案就是嵌入式eFPGA的設構架。
2014年,eFPGA概念首次進入業(yè)界視野,Cheng C. Wang等在ISSCC發(fā)表文章指出,通過創(chuàng)造性地設計互聯(lián)單元,解決了FPGA的功耗、性能和成本受到布線資源限制的問題,從而使得eFPGA集成到SoC中真正變?yōu)榭赡埽髡咭罁?jù)論文成果成立了Flex Logix,致力于推廣eFPGA的概念和應用并力爭商用化。
目前,eFPGA的概念已經(jīng)獲得了業(yè)界的廣泛認可,而該領域的公司和產(chǎn)品線也逐漸豐富,主要產(chǎn)品供應商有:Flex Logix、Achronix、Menta、QuickLogic、NanoXplore、Efinix、Adicsys等。以上所列公司大都采用三種商業(yè)模式和技術開發(fā)途徑:Achronix同時提供FPGA和eFPGA,Menta、NanoXplore和Adicsys提供軟核IP eFPGA,F(xiàn)lex Logix提供硬核eFPGA,QuickLogic采用了GloablFoundry工藝的硬核IP,Efinix采用硬核IP技術。
與傳統(tǒng)實現(xiàn)方案相比,eFPGA是一種高效靈活的解決方案,可以實現(xiàn)吞吐量和可重編程性之間的最佳平衡,并提供現(xiàn)實世界機器學習系統(tǒng)所需的性能,為設計人員提供了按照應用程序要求混合和匹配eFPGA功能的選項。其一些核心功能包括基于四輸入LUT的邏輯,用于寄存器文件和類似用途的小型面向邏輯的存儲器(LRAM),較大的塊RAM(BRAM)以及可配置的DSP模塊。核心功能還可以通過定制模塊進行增強,這些定制模塊提供了更多高密度的專用功能。
3 嵌入式FPGA在AI領域的應用
嵌入式系統(tǒng)已經(jīng)涵蓋從消費類電子到高級機器人和自動駕駛汽車領域,而eFPGA的這些功能為嵌入式系統(tǒng)提供實時AI加速設計提供了靈活的絕佳平臺。機器學習技術代表了嵌入式系統(tǒng)的新領域,實時人工智能將擴大各種應用,但只有在能夠以經(jīng)濟高效的方式執(zhí)行時才能實現(xiàn)市場化量產(chǎn)。諸如多核CPU、GPGPU和獨立FPGA之類的現(xiàn)有解決方案可用于支持高級AI算法和深度學習,但它們無法滿足開發(fā)人員隨著機器學習體系結構發(fā)展而增加的硬件需求。
4 結語
eFPGA有諸多優(yōu)點,是一種高效靈活的AI解決方案,可以實現(xiàn)吞吐量和可重編程性之間的最佳平衡,并提供現(xiàn)實世界機器學習系統(tǒng)所需的性能,為設計人員提供了按照應用程序要求混合和匹配eFPGA功能的選項。但作為一種新技術,在具體的應用中同樣面臨著一些挑戰(zhàn),比如可靠性和良率問題,純邏輯制程方面的優(yōu)勢還需要進一步觀察。另外,在電路工作的時序上也有不小的挑戰(zhàn),集成硬核很容易,但是時鐘同步很難,硬核電路的工作時序是確定的,而可編程邏輯資源所實現(xiàn)的電路模塊具有可變性,如何匹配是個問題。
Abstract:Artificial Intelligence is a new technology for researching and developing theories, methods and applications of human intelligence. Particularly machine learning is changing people's production and lifestyle. It also brings more opportunities for industry and commerce. However, it currently supports the best hardware architecture of neural network iteration, diversity, training and reasoning. The structure has not been determined yet. In this paper, the application of embedded field programmable gate array chip is discussed.
Key words:embedded field programmable gate array; artificial intelligence; eFPGA; AI