AI已經(jīng)被定義為繼互聯(lián)網(wǎng)、移動計算和云基礎(chǔ)設(shè)施之后的下一大創(chuàng)新周期。每個周期的成熟速度都比前一周期更快,給硬件平臺帶來了越來越大的適配挑戰(zhàn)。

在這種環(huán)境下,可重編程硬件越來越多地作為子系統(tǒng)之間的連接組織,跨越人工智能系統(tǒng)鏈,而非作為主要計算。FPGA吸收變化的方式與固定硅不同。團(tuán)隊(duì)可以快速展示想法,提前部署,并在商業(yè)模式成熟的同時在現(xiàn)場不斷完善。低功耗和小尺寸設(shè)備允許產(chǎn)品在生產(chǎn)中長時間保持生產(chǎn),而不會在第一天就鎖定功能。

在 2 納米工藝下,在產(chǎn)品量產(chǎn)之前,錄片成本現(xiàn)在已經(jīng)高達(dá)數(shù)百億美元。這種成本曲線讓初創(chuàng)企業(yè)和小型團(tuán)隊(duì)在軟件或現(xiàn)場升級被考慮之前就被排除在創(chuàng)新格局之外。

PGA提供可編程且靈活的硬件設(shè)計,但設(shè)計周期比基于CPU或GPU的系統(tǒng)更長。隨著AI工作負(fù)載的擴(kuò)展,推動更高的計算密度、更快的部署時間以及更低的每次作能耗,且在延遲和控制受限的工作負(fù)載中,F(xiàn)PGA在AI堆棧中還有意義嗎?

GPU與FPGA的區(qū)別

GPU使用為并行處理優(yōu)化的固定功能核心。它們已成為人工智能訓(xùn)練和大規(guī)模仿真的默認(rèn)加速器,因?yàn)樗鼈兡軌蚋咝幚泶笠?guī)模矩陣作。成熟的軟件生態(tài)系統(tǒng),如CUDA、TensorFlow和PyTorch,也降低了開發(fā)者的進(jìn)入門檻。

而FPGA則非常適合需要確定性行為、自定義數(shù)據(jù)路徑或嚴(yán)格延遲控制的應(yīng)用,如信號處理、電信基礎(chǔ)設(shè)施和實(shí)時AI推斷。權(quán)衡轉(zhuǎn)移到開發(fā)工作上,這需要硬件描述語言以及對綜合和路由的詳細(xì)了解。

學(xué)術(shù)比較表明,部署性能比宣傳中的TOPS數(shù)據(jù)更為重要。

2020年IEEE國際現(xiàn)場可編程技術(shù)會議上發(fā)表的一篇論文比較了AI優(yōu)化的Intel Stratix 10 NX FPGA與英偉達(dá)的T4和V100 GPU。雖然比較涉及高端FPGA,但結(jié)果凸顯了GPU和FPGA在實(shí)時約束下執(zhí)行模型之間的更廣泛差異。

該研究沒有追逐峰值數(shù),而是關(guān)注實(shí)時推斷,詢問應(yīng)用在考慮數(shù)據(jù)移動和系統(tǒng)開銷后使用了多少張量硬件。

結(jié)果顯示,在小批量推斷中——即實(shí)時和邊緣部署中常見的推斷——FPGA的有效張量利用率高于GPU。GPU張量核心在大型矩陣-矩陣運(yùn)算上表現(xiàn)出色,但在推理中較小的矩陣-向量工作負(fù)載上利用率急劇下降。一旦PCIe傳輸開銷進(jìn)入現(xiàn)實(shí),差距進(jìn)一步擴(kuò)大。

如果你的應(yīng)用需要非常低功耗,且每秒性能不一定需要超過一次太太運(yùn)算,那么FPGA是一種更具成本效益、更低功耗的解決方案。

在低批處理量下,延遲限制了開發(fā)者將工作負(fù)載分組為大塊。在這種情況下,F(xiàn)PGA會將訓(xùn)練好的模型參數(shù)保存在FPGA的片上內(nèi)存中,并通過自定義流水線傳輸數(shù)據(jù)。這使得FPGA在峰值TOPS評級相近的情況下,仍能提供比GPU更高的端到端性能。

在汽車ADAS、工業(yè)自動化和機(jī)器人等應(yīng)用中,數(shù)據(jù)是持續(xù)從攝像頭和傳感器接收的。系統(tǒng)必須快速做出決策,而非批量處理。在此類系統(tǒng)中,F(xiàn)PGA匯總和預(yù)處理傳感器數(shù)據(jù),協(xié)同處理,并將其反饋給處理更高層決策的GPU或CPU。

FPGA的價值來自低延遲和并行性,而非替代AI加速器。

應(yīng)用層面的提升

隨著人工智能從數(shù)據(jù)中心擴(kuò)展到邊緣系統(tǒng)、機(jī)器人、車輛和基礎(chǔ)設(shè)施領(lǐng)域,并非所有功能都值得定制加速器。部分工作負(fù)載要求快速啟動、微安培級待機(jī)電流、靈活的輸入輸出和確定性響應(yīng)。這些屬性在先進(jìn)工藝節(jié)點(diǎn)上難以順利擴(kuò)展。

大型FPGA在高功率下實(shí)現(xiàn)了大規(guī)模的連接性和密度。中端FPGA在性能與效率之間取得了平衡。小型FPGA,通常只有毫米級,最靠近傳感器、電機(jī)和接口。

如今,后者(小型和中端FPGA)支持千兆級連接、快速啟動和現(xiàn)場可編程性,適合電池供電系統(tǒng)進(jìn)行長時間頻繁的電源循環(huán)。在這種環(huán)境下,小幅的節(jié)能轉(zhuǎn)化為系統(tǒng)層面的收益。

機(jī)器人領(lǐng)域也出現(xiàn)了同樣的模式?,F(xiàn)代倉庫機(jī)器人和新興的人形平臺需要在嚴(yán)格的功率限制下,精確、低延遲地控制數(shù)十個電機(jī)??拷鼒?zhí)行器的FPGA負(fù)責(zé)控制和協(xié)同處理,而更高級的人工智能則在其他地方運(yùn)行。

在最遠(yuǎn)端,F(xiàn)PGA也可以運(yùn)行推理。工業(yè)顯示器、筆記本電腦和工廠設(shè)備中設(shè)備部署,設(shè)備以毫瓦數(shù)計算且始終開啟。存在檢測、安全檢查和缺陷分類不需要大型模型或高吞吐量,但依賴于連續(xù)運(yùn)行和可預(yù)測的響應(yīng)時間。

一個持久的角色

訓(xùn)練和大規(guī)模推理依然由GPU主導(dǎo),設(shè)計上仍然耗費(fèi)大量功耗。然而,人工智能熱潮擴(kuò)大了加速器周圍的系統(tǒng)。隨著人工智能從機(jī)架轉(zhuǎn)向車輛、工廠、機(jī)器人和基礎(chǔ)設(shè)施,延遲、功耗和系統(tǒng)開銷與純計算同樣重要。在這些領(lǐng)域,F(xiàn)PGA的作用相對于GPU會變小,但更難被替代。

GPU將繼續(xù)主導(dǎo)訓(xùn)練和大規(guī)模推斷。ASIC將繼續(xù)追求大規(guī)模效率。爭論并不取決于FPGA能否在巔峰性能下匹敵GPU。它的核心在于人工智能系統(tǒng)是否能在沒有低功耗、低延遲邏輯的情況下高效運(yùn)行。

即使在高端,開發(fā)者也越來越多地將GPU作為緊耦合系統(tǒng)的一部分部署,而非作為獨(dú)立的加速器。行業(yè)現(xiàn)在更重視集成而非暴力破解擴(kuò)展。英偉達(dá)決定與英特爾合作,開發(fā)由NVLink緊密耦合的x86–GPU系統(tǒng),體現(xiàn)了同樣的架構(gòu)轉(zhuǎn)變,減少數(shù)據(jù)流動開銷,并將計算與系統(tǒng)其他部分更緊密地集成。盡管公告未提及可重構(gòu)邏輯,但顯示AI性能依賴于組件連接方式,而不僅僅是峰值加速器吞吐量。

隨著人工智能推動半導(dǎo)體需求上升,同時收緊固定功能設(shè)計的經(jīng)濟(jì)性,F(xiàn)PGA的角色看起來不那么光鮮,但更具基礎(chǔ)性。