官术网_书友最值得收藏!

1.2.3 FPGA

由于擁有低能耗、可重構(gòu)性和實(shí)時(shí)處理能力,F(xiàn)PGA被認(rèn)為是一種很有前途的芯片。在AI剛興起時(shí),F(xiàn)PGA就迅速成為加速神經(jīng)網(wǎng)絡(luò)計(jì)算的可選芯片之一。FPGA本身是可編程的,因此可以加速特定神經(jīng)網(wǎng)絡(luò)的推理。FPGA還可以實(shí)現(xiàn)神經(jīng)網(wǎng)絡(luò)算法的數(shù)據(jù)路徑優(yōu)化,與傳統(tǒng)的CPU和GPU中基于指令的流水線執(zhí)行相比,它映射到可重構(gòu)邏輯的綜合設(shè)計(jì)提供了更高的功效和更低的時(shí)延。

FPGA可以把邏輯模塊與多個(gè)模塊組合,以預(yù)定順序執(zhí)行乘法和加法等功能。例如,對(duì)多個(gè)輸入數(shù)據(jù)和權(quán)重相乘并累加的情況:如果使用GPU,就必須首先讀取指令“輸入數(shù)據(jù)和權(quán)重相乘”,然后在通用算術(shù)單元中執(zhí)行;而使用FPGA,則可以通過放置乘法器和一個(gè)加法器來(lái)一次性執(zhí)行乘法和加法運(yùn)算,只需要在開始和結(jié)束時(shí)訪問內(nèi)存(見圖1.9),這種方法被稱為數(shù)據(jù)流類型。有的FPGA產(chǎn)品甚至預(yù)設(shè)了深度學(xué)習(xí)所需的處理電路。

圖1.9 FPGA的乘積累加運(yùn)算一步到位,不需要額外指令

FPGA架構(gòu)的主要特點(diǎn)是可重構(gòu)邏輯和路由,可以快速實(shí)現(xiàn)各種不同形式的神經(jīng)網(wǎng)絡(luò)加速。然而,盡管硬件支持編程,但與使用傳統(tǒng)的通用處理方案相比,利用FPGA進(jìn)行神經(jīng)網(wǎng)絡(luò)加速仍然需要更長(zhǎng)的開發(fā)時(shí)間和更高的學(xué)習(xí)成本。另外,單塊FPGA芯片沒有足夠的邏輯電路和存儲(chǔ)空間[如寄存器和靜態(tài)隨機(jī)存取存儲(chǔ)器(Static Random Access Memory,SRAM)]來(lái)容納相當(dāng)數(shù)量的神經(jīng)網(wǎng)絡(luò)數(shù)據(jù)。因此,F(xiàn)PGA一般用于實(shí)現(xiàn)快速AI推理,而不是為AI神經(jīng)網(wǎng)絡(luò)訓(xùn)練設(shè)計(jì)一個(gè)高吞吐率的計(jì)算環(huán)境。

隨著DNN模型層的形狀和大小日益多樣化,學(xué)術(shù)界一直在研究靈活、可重新配置的加速器基本架構(gòu)。這一研究方向有兩個(gè)挑戰(zhàn):第一是確定加速器陣列需要什么程度的靈活性,以權(quán)衡性能優(yōu)勢(shì)與可重構(gòu)性的面積開銷;第二是要為當(dāng)前的DNN模型確定正確的陣列配置,并在運(yùn)行時(shí)重新配置加速器。

為應(yīng)對(duì)上述挑戰(zhàn),2022年,美國(guó)佐治亞理工學(xué)院和英偉達(dá)聯(lián)合開發(fā)了一種被稱為自適應(yīng)可重構(gòu)陣列(Self-adaptive Reconfigurable Array,SARA)的架構(gòu)。該架構(gòu)引入了一類新的加速器,并包括一個(gè)可重新配置的陣列和一個(gè)能夠在運(yùn)行時(shí)為陣列確定優(yōu)化配置的硬件單元。SARA架構(gòu)中的加速器可以在運(yùn)行時(shí)自適應(yīng)調(diào)整目標(biāo)工作負(fù)載的優(yōu)化配置,而不需要在編譯時(shí)進(jìn)行分析。研究人員展示了SARA架構(gòu)的一個(gè)實(shí)例:它引入了一個(gè)可重新配置的脈動(dòng)陣列,該陣列可以被配置為各種尺寸的小陣列的分布式集合,或作為一個(gè)具有靈活長(zhǎng)寬比的單一陣列,能夠提供與作為分布式系統(tǒng)工作的1024個(gè)4×4陣列集合相同的映射靈活性,同時(shí)實(shí)現(xiàn)相當(dāng)于后者3.5倍的能效和3.2倍的計(jì)算密度。與同等計(jì)算量的其他配置相比,該陣列的功耗減少了43%,面積縮小了30%[3]

總之,F(xiàn)PGA有如下3個(gè)獨(dú)特優(yōu)勢(shì)。

(1)FPGA已被證明是非常有效的低功耗解決方案。FPGA提供同等并行計(jì)算能力時(shí),只需要GPU 1/4的功率預(yù)算,而且每個(gè)獨(dú)立塊可以并行地執(zhí)行不同的功能,從而大大減少對(duì)能源的需求。

(2)FPGA最適合需要非常低時(shí)延的實(shí)時(shí)應(yīng)用。FPGA可以繞過CPU運(yùn)行,從而最小化時(shí)延,因此最適合低時(shí)延的應(yīng)用模式。FPGA的低時(shí)延還可以緩解AI系統(tǒng)中的I/O瓶頸,從而提高性能。

(3)FPGA的可編程性有助于AI和HPC混合計(jì)算。

在AI熱潮的早期,雖然FPGA得到了較多的使用,但在10余年前就在速度和效率上被為AI優(yōu)化的專用芯片超越,除非涉及特殊應(yīng)用。因此,著名的FPGA公司Xilinx開發(fā)的用于AI的芯片,并不是單獨(dú)的FPGA,而是一個(gè)集成了FPGA邏輯電路、ARM處理器核及其他硬件加速器的可編程芯片,被稱為Versal自適應(yīng)計(jì)算加速平臺(tái)(Adaptive Compute Acceleration Platform,ACAP),其中包含Versal AI Core系列。ACAP架構(gòu)使得這些芯片具有強(qiáng)大的計(jì)算能力和適應(yīng)性,可以通過編程來(lái)優(yōu)化和定制處理任務(wù)的執(zhí)行。它能夠滿足各種應(yīng)用領(lǐng)域的需求,包括AI推理、數(shù)據(jù)中心、邊緣計(jì)算、網(wǎng)絡(luò)通信和汽車等。

類似這種組合的AI處理器芯片在未來(lái)可能會(huì)更頻繁地出現(xiàn),因?yàn)榘雽?dǎo)體行業(yè)已經(jīng)開發(fā)出高效的大規(guī)模芯粒生產(chǎn)流程,可以把多個(gè)芯粒組裝成芯片(詳見第4章)。這些芯粒甚至可以來(lái)自不同的公司,采用不同的制造工藝。設(shè)計(jì)人員只需要花很短的時(shí)間,就可以任意地把小的邏輯電路組合成一塊大芯片。這種模塊化設(shè)計(jì)(而不是FPGA的可編程設(shè)計(jì))的芯片,無(wú)論在面積、成本,還是在性能上都可能給FPGA帶來(lái)強(qiáng)大的競(jìng)爭(zhēng)壓力。

主站蜘蛛池模板: 循化| 新闻| 咸丰县| 盖州市| 伊宁市| 伊金霍洛旗| 清远市| 郎溪县| 武强县| 沧州市| 专栏| 贵阳市| 肥西县| 通山县| 淮阳县| 通山县| 新绛县| 龙陵县| 义乌市| 留坝县| 兴海县| 禄丰县| 东明县| 福海县| 乐亭县| 玉环县| 河源市| 河东区| 雅江县| 岗巴县| 北辰区| 仁寿县| 平陆县| 泰顺县| 腾冲县| 遵化市| 榆中县| 临湘市| 郸城县| 定结县| 沙田区|