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