FPGA自上世紀(jì)80年代被發(fā)明以來,已經(jīng)在通信、數(shù)字信號處理、集成電路設(shè)計、視頻圖像處理等領(lǐng)域大放異彩。近年來,隨著AI的飛速發(fā)展,這一擁有低延遲、低功耗、靈活高效等優(yōu)勢的可編程硬件,已經(jīng)成為算法加速中的重要一環(huán),為AI算法的部署提供了更多的可能性。
隨著海量數(shù)據(jù)的算力需求越來越高,F(xiàn)PGA芯片將繼續(xù)向更高密度、更高通信帶寬方向發(fā)展,此外,異構(gòu)計算融合等形式將越來越受推崇。并且從軟件發(fā)展角度,也更注重配套的工具能力,提供高性能的AI加速能力。
FPGA在AI芯片市場占比不足1%
高算力需求催生了AI芯片興起,“無芯片,不AI”,以AI芯片為載體實現(xiàn)的算力成為人工智能發(fā)展水平的重要衡量標(biāo)準(zhǔn)。廣義上,AI算力芯片指的是專門用于處理AI應(yīng)用中大量計算任務(wù)的芯片,包括GPU、FPGA、ASIC、NPU等AI加速芯片。其中,GPU基于強(qiáng)大的并行計算能力,在圖形圖像處理、復(fù)雜的數(shù)學(xué)計算等場景,可較好支持高度并行的工作負(fù)載。
IDC數(shù)據(jù)顯示,2022年中國AI芯片市場,GPU占比約89.0%,ASIC、FPGA、NPU等芯片市場占有率共計超過10%,其中,F(xiàn)PGA占比僅為0.4%。
圖:中國人工智能芯片市場規(guī)模占比(來源:IDC)
在前景廣闊的AI芯片領(lǐng)域,F(xiàn)PGA作為一種靈活可編程的硬件平臺,具備較高的計算性能和可定制性,能夠提供對AI算法的加速和優(yōu)化;在AI應(yīng)用中,可以用于實現(xiàn)神經(jīng)網(wǎng)絡(luò)加速器、高性能計算單元等,為計算密集型的AI任務(wù)提供高性能和低延遲的計算能力。但為什么占有率如此低?未來的增長點有哪些?
一直以來,F(xiàn)PGA的設(shè)計和開發(fā)相對復(fù)雜,需要專門的硬件設(shè)計和編程技能;此外,與專用AI芯片相比,F(xiàn)PGA在功耗和性能比方面并無顯著優(yōu)勢,這在一定程度上影響了FPGA在AI方案中的采用。
不過,F(xiàn)PGA廠商逐年加大在AI領(lǐng)域的發(fā)力,例如推出專門針對AI應(yīng)用的平臺和解決方案,提供了更加易用和高性能的產(chǎn)品。同時,開發(fā)工具和框架的不斷完善,也降低了使用FPGA實現(xiàn)AI特性的門檻,吸引了更多的開發(fā)者和企業(yè)采用FPGA技術(shù)。
面向AI,F(xiàn)PGA軟硬兼修
還在2018年左右,Xilinx(現(xiàn)已被AMD收購)已經(jīng)洞察到了FPGA在算力市場的巨大價值,提出了“數(shù)據(jù)中心優(yōu)先”的戰(zhàn)略,隨后發(fā)布了自適應(yīng)計算加速平臺 (Adaptive Compute Acceleration Platform,ACAP) Versal。這一產(chǎn)品形態(tài)已經(jīng)脫離了傳統(tǒng)的FPGA范疇,通過內(nèi)部的可編程引擎,它引入多個以自適應(yīng)數(shù)據(jù)流的方式來組織的AI Core,作為承載AI等數(shù)據(jù)密集型運算的主體。
也就是說,Xilinx FPGA的AI路線相當(dāng)于是設(shè)計了一套專門的硬件體系來承載AI等數(shù)據(jù)密集型運算,Versal ACAP 整合了標(biāo)量處理引擎、自適應(yīng)硬件引擎和智能引擎以及前沿的存儲器和接口技術(shù),從而在異構(gòu)加速性能方面得以提升。
不同于Xilinx通過獨立于傳統(tǒng)FPGA結(jié)構(gòu)之外的獨立硬件組成單元(AI Core陣列)承載AI,Intel FPGA的AI技術(shù)路線相對保守,主要是將嵌入在FPGA內(nèi)部的DSP模塊直接升級為AI張量模塊,但它依然是FPGA內(nèi)部的組成模塊之一。
在傳統(tǒng)的FPGA中,乘累加主要依靠DSP模塊實現(xiàn)。為了追求較高的靈活性,普通的DSP模塊就是一兩個乘法器、外加一個加法器構(gòu)成。這樣就可以基于這種基本的DSP模塊配合FPGA的其它部分構(gòu)成各種不同的運算算法。
由于AI算法的核心是大量的乘加/乘累加,不是一般的乘加,而是一種“張量”運算。因此提升FPGA執(zhí)行AI算法的方法,自然就是把DSP模塊升級為更加適應(yīng)AI張量運算的模塊,這也正是Intel的技術(shù)路線。
Intel第一款采用張量模塊的FPGA是2020 年推出的Stratix 10 NX,其張量模塊架構(gòu)主要針對AI計算中常用的矩陣-矩陣或矢量-矩陣乘法和加法運算進(jìn)行了優(yōu)化,當(dāng)時可支持 INT8 和 INT4 數(shù)據(jù)計算,并通過共享指數(shù)支持 FP16 和 FP12 塊浮點的數(shù)字格式。
采用 AI 張量模塊的增強(qiáng)型DSP引入了兩種全新的重要運算:面向AI的張量處理能力和面向信號處理應(yīng)用的復(fù)數(shù)支持,此類應(yīng)用包括快速傅里葉變換 (FFT) 和復(fù)雜有限脈沖響應(yīng) (FIR) 濾波器等。第一種模式可通過 INT8 張量模式增強(qiáng) AI。第二種新模式是復(fù)數(shù)運算,過去復(fù)數(shù)乘法需要兩個DSP模塊,但優(yōu)化后,一個采用AI張量模塊的增強(qiáng)型DSP就可以進(jìn)行 16位定點復(fù)數(shù)乘法運算。這些創(chuàng)新不僅為Intel FPGA的發(fā)展奠定基礎(chǔ),也成為Intel近年來面向邊緣AI領(lǐng)域的重要支撐。
Xilinx和Intel這兩種路線也是FPGA AI化的主要技術(shù)路徑,特別是Xilinx這種高度可配置、可擴(kuò)展的架構(gòu)設(shè)計,成為FPGA當(dāng)前進(jìn)行異構(gòu)融合設(shè)計的主流方式。
軟件方面,HLS(High Level Synthesis,高層次綜合)技術(shù)是近年來各大FPGA學(xué)術(shù)會議上,學(xué)術(shù)界和工業(yè)界研究最集中的領(lǐng)域之一。HLS將諸如C++、OpenCL等高層語言,通過特定編譯工具可以直接轉(zhuǎn)化成FPGA上可以運行的硬件代碼,AMD和Intel都有各自的HLS工具和開發(fā)套件。
此外,開發(fā)工具鏈近年來也越來越豐富,包括集成開發(fā)環(huán)境(IDE)、仿真器、調(diào)試器等,這些工具可以幫助開發(fā)者在FPGA上開發(fā)、調(diào)試和驗證AI應(yīng)用,提高開發(fā)效率和質(zhì)量。
邊緣AI,中端FPGA潛能巨大
根據(jù)性能、成本、尺寸等因素,可以將FPGA產(chǎn)品劃分為分為小型、中型和大型FPGA,對應(yīng)市場上通常所說的低、中、高端應(yīng)用。
低端FPGA具有低功耗、低成本和小體積優(yōu)勢,適用于邊緣計算和IoT設(shè)備中。由于邊緣計算要求在設(shè)備端進(jìn)行實時的數(shù)據(jù)處理和決策,低端FPGA適合在邊緣設(shè)備中實現(xiàn)AI推理任務(wù)。例如,用于智能攝像頭、智能家居設(shè)備、傳感器節(jié)點等,實現(xiàn)圖像識別、語音識別和運動檢測等功能。此外,低端FPGA還可以用于小規(guī)模的機(jī)器學(xué)習(xí)模型訓(xùn)練和優(yōu)化。
中端FPGA在AI領(lǐng)域的機(jī)會較為廣泛,由于具有較高的性能和資源,它適合處理更復(fù)雜的AI任務(wù),例如在圖像和視頻處理、自動駕駛、工業(yè)自動化等領(lǐng)域,可用于加速計算、優(yōu)化算法和實現(xiàn)實時推理。同時,中端FPGA還可以與其他硬件加速器結(jié)合使用,構(gòu)建混合加速平臺,實現(xiàn)更高效的AI計算。
高端FPGA在AI領(lǐng)域的機(jī)會則主要集中在高性能計算和數(shù)據(jù)中心加速方面,它具有大規(guī)模的邏輯資源、高存儲容量和高時鐘頻率,能夠支持更復(fù)雜和大規(guī)模的AI模型訓(xùn)練和推理任務(wù)。
隨著AI應(yīng)用越來越多轉(zhuǎn)向比集中式云數(shù)據(jù)中心更低的延遲、更安全和私密的處理,高端FPGA特性延伸到中端應(yīng)用的趨勢非常明顯,網(wǎng)絡(luò)邊緣計算、智能終端設(shè)備等市場呈現(xiàn)出巨大的發(fā)展?jié)摿Γ瑖鴥?nèi)外相關(guān)廠商紛紛加大了中端FPGA領(lǐng)域的布局。
工業(yè)攝像頭就是很好的應(yīng)用案例之一。工業(yè)攝像頭由于體積小、散熱條件不佳,但對帶寬要求越來越高,屬于典型的“既需要一定性能、又要求低功耗”的應(yīng)用。此外還有汽車ADAS包括MDC方面的應(yīng)用,以及汽車顯示等方面,都越來越需要更強(qiáng)的處理能力、更高的處理帶寬。中端FPGA的低功耗、高性能就非常適合這類應(yīng)用。
之前專注于低功耗FPGA的Lattice,近年來就在加大中端FPGA的布局,其策略可以解讀為“通過基于專用平臺的方法來滿足市場需求”。在該公司看來,市場上的許多中端FPGA器件都是采用大型FPGA的架構(gòu)開發(fā)的,其底層架構(gòu)保持不變,只是某些功能發(fā)生了變化。由于這些架構(gòu)主要是為高性能計算應(yīng)用而設(shè)計的,因此這種方法會導(dǎo)致優(yōu)化不佳,尤其是在功耗和物理尺寸方面。
相比以前擁有100K~150K邏輯單元的FPGA產(chǎn)品,Lattice推出了邏輯單元數(shù)量500K的FPGA產(chǎn)品,同時在互聯(lián)性能、封裝尺寸、性能方面進(jìn)行了優(yōu)化,使之更適合中端應(yīng)用需求。
Intel也開始重視中端FPGA的市場機(jī)會,盡管前幾年,英特爾推出的FPGA產(chǎn)品都更側(cè)重高端應(yīng)用市場,但隨著Agilex D系列FPGA和代號Sundance Mesa的Agilex FPGA的推出,Intel將會更多關(guān)注中端應(yīng)用市場。
還有一個值得注意的趨勢,就是“高端和中端FPGA之間的界限越來越趨于模糊。過去幾年,中端FPGA應(yīng)用發(fā)生了很大變化,目前已經(jīng)演進(jìn)為需要更高的性能和更低的功耗,高端FPGA將延伸到中端應(yīng)用中;與此同時,一些低端應(yīng)用又對產(chǎn)品有更高需求。這就意味著,需要打造具備更低功耗和密度的產(chǎn)品。
國產(chǎn)FPGA廠商也開始面向AI進(jìn)行創(chuàng)新。京微齊力近期就宣布在其FPGA中采用了Imagination的Series3NX AI核,以適用于AIoT應(yīng)用、邊緣端AI視頻分析處理應(yīng)用等。京微齊力這一做法是將FPGA、CPU、AI等多種異構(gòu)計算單元集成在同一個芯片上,強(qiáng)調(diào)了“硬件的可重構(gòu)特性”,這種混合架構(gòu)的平臺芯片比單一架構(gòu)更能支持高定制水平和能效提升。
寫在最后
FPGA的關(guān)鍵價值在于可編程性、靈活性,AI發(fā)展初期,很多新興應(yīng)用還在醞釀中,各類標(biāo)準(zhǔn)仍在演進(jìn),AI算法也在不斷推陳出新,對于硬件的算力和靈活度要求很高,F(xiàn)PGA剛好契合這些需求。此外,在推理環(huán)節(jié)的小批量數(shù)據(jù)處理中,F(xiàn)PGA可憑借流水線并行,達(dá)到高并行、低延遲的效果。并且,受低延遲、數(shù)據(jù)隱私和帶寬限制等因素驅(qū)動,F(xiàn)PGA能夠滿足低功耗、靈活以及快速響應(yīng)等需求。
行業(yè)數(shù)據(jù)顯示,2021-2027年,F(xiàn)PGA市場預(yù)計將以12%的年復(fù)合增長率持續(xù)成長,并達(dá)到130億美元的規(guī)模。預(yù)計中國市場增速會更快,未來5年增長率將保持在18%左右。得益于面向AI應(yīng)用的提升,F(xiàn)PGA有望在汽車、工業(yè)等傳統(tǒng)非FPGA應(yīng)用領(lǐng)域中獲得新的機(jī)會。