本文討論了LLM推理過程對(duì)計(jì)算資源需求急劇攀升的背景下,現(xiàn)有量化和剪枝技術(shù)、新數(shù)據(jù)格式存在的不足,提出動(dòng)態(tài)塊浮點(diǎn)數(shù)(DBFP)及其配套算法-硬件協(xié)同框架DB-Attn以解決這些問題。
序言
近年來,以LLaMA和Mistral為代表的大型語言模型(Large Language Models, LLMs)在自然語言理解、生成和多模態(tài)任務(wù)中展現(xiàn)了革命性的能力。然而,隨著模型規(guī)模的指數(shù)級(jí)增長(zhǎng),其推理過程對(duì)計(jì)算資源的需求急劇攀升,尤其體現(xiàn)在內(nèi)存帶寬占用和算力消耗上。
量化和剪枝技術(shù)通過減少模型的大小和計(jì)算復(fù)雜度,在一定程度上緩解了資源壓力,但往往伴隨著模型精度的顯著下降,并且需要復(fù)雜的后訓(xùn)練過程。新的數(shù)據(jù)格式,如 BF16 和 TF32,相較于標(biāo)準(zhǔn)的 FP32 在計(jì)算成本上有所降低,但對(duì)于大規(guī)模、低成本的推理任務(wù)而言,仍然不夠理想。
此外,大模型推理計(jì)算資源消耗的增幅與輸入序列長(zhǎng)度同樣呈現(xiàn)顯著相關(guān)性——當(dāng)處理長(zhǎng)文本序列時(shí),非線性運(yùn)算模塊逐漸成為制約推理效率的關(guān)鍵瓶頸。具體而言,模型中廣泛采用的Softmax、LayerNorm和GELU等非線性操作仍嚴(yán)重依賴標(biāo)準(zhǔn)浮點(diǎn)計(jì)算范式,導(dǎo)致計(jì)算效率顯著低于線性運(yùn)算模塊。Softmax 層的計(jì)算時(shí)間在 LLMs 總推理時(shí)間中占比超過 30%,且 Attention 層的計(jì)算復(fù)雜度與輸入長(zhǎng)度呈二次方關(guān)系,導(dǎo)致隨著序列長(zhǎng)度增加,計(jì)算負(fù)擔(dān)急劇加重。在 LLaMA3-8B 模型中,隨著序列長(zhǎng)度增長(zhǎng),內(nèi)存消耗和延遲呈現(xiàn)超線性增長(zhǎng),嚴(yán)重影響了模型的推理效率。
塊浮點(diǎn)(BFP)格式的出現(xiàn)為解決這些問題帶來了新的思路。BFP 通過讓一組定點(diǎn)數(shù)共享指數(shù),將浮點(diǎn)運(yùn)算轉(zhuǎn)換為定點(diǎn)運(yùn)算,在為 DNNs 推理提供廣泛動(dòng)態(tài)范圍的同時(shí),有效降低了硬件開銷,在加速線性運(yùn)算方面表現(xiàn)出顯著優(yōu)勢(shì)。但目前 BFP 的研究主要集中在線性運(yùn)算,在非線性運(yùn)算領(lǐng)域的研究尚顯不足。
塊浮點(diǎn)數(shù)(Block Floating Point, BFP)作為一種高效數(shù)值表示格式,通過塊內(nèi)共享指數(shù)將浮點(diǎn)運(yùn)算轉(zhuǎn)換為定點(diǎn)運(yùn)算,在GEMM(通用矩陣乘法)等線性操作中展現(xiàn)出顯著優(yōu)勢(shì)。然而,現(xiàn)有BFP研究存在三大局限:
對(duì)齊策略僵化:傳統(tǒng)BFP以塊內(nèi)最大值為對(duì)齊基準(zhǔn),導(dǎo)致小數(shù)值因過度右移而精度丟失,在Softmax中尤其致命;
分組機(jī)制固定:靜態(tài)分組無法適應(yīng)數(shù)據(jù)分布的動(dòng)態(tài)變化,異常值(Outliers)易破壞塊內(nèi)數(shù)值對(duì)齊;
非線性支持不足:非線性操作需復(fù)雜函數(shù)計(jì)算(如指數(shù)、對(duì)數(shù)),但目前 BFP 的研究主要集中在線性運(yùn)算,在非線性運(yùn)算領(lǐng)域的研究尚顯不足,同時(shí)現(xiàn)有BFP硬件設(shè)計(jì)缺乏相關(guān)針對(duì)性優(yōu)化。
本文提出動(dòng)態(tài)塊浮點(diǎn)數(shù)(Dynamic-BFP, DBFP)及其配套算法-硬件協(xié)同框架DB-Attn,首次將BFP擴(kuò)展至非線性操作領(lǐng)域。DBFP通過樞軸聚焦策略(Pivot-Focus Policy)和自適應(yīng)分組策略(Adaptive Grouping Strategy)動(dòng)態(tài)調(diào)整指數(shù)對(duì)齊方式,結(jié)合動(dòng)態(tài)分層查找表(Dynamic Hierarchical LUT, DH-LUT)實(shí)現(xiàn)非線性函數(shù)的高效近似。硬件層面,設(shè)計(jì)基于RTL的DBFP引擎,支持FPGA與ASIC部署。實(shí)驗(yàn)表明,DB-Attn在LLaMA-7B的Softmax計(jì)算中實(shí)現(xiàn)74%的GPU加速,ASIC設(shè)計(jì)較SOTA方案性能提升10倍,同時(shí)模型精度損失可忽略(零樣本任務(wù)平均下降<0.1%)。
相關(guān)工作
2.1面向LLM的數(shù)據(jù)格式優(yōu)化
主流低精度格式可分為三類:
BF16 格式采用 16 位表示,其中 8 位用于指數(shù),7 位用于尾數(shù),在一定程度上減少了存儲(chǔ)和計(jì)算開銷,適用于一些對(duì)精度要求不是極高的深度學(xué)習(xí)任務(wù)。TF32 格式是 NVIDIA 在 A100 GPU 中引入的 19 位浮點(diǎn)格式,結(jié)合了 FP32 的動(dòng)態(tài)范圍和 BF16 的計(jì)算效率,在深度學(xué)習(xí)計(jì)算中表現(xiàn)出較好的性能,但其硬件計(jì)算單元仍需浮點(diǎn)邏輯,功耗較高。
低比特定點(diǎn)數(shù)據(jù)類型,如 INT4,通過固定浮點(diǎn)比特?cái)?shù)將運(yùn)算轉(zhuǎn)換為整數(shù)運(yùn)算,計(jì)算效率較高,但在處理大動(dòng)態(tài)范圍數(shù)據(jù)時(shí),由于精度有限,容易導(dǎo)致模型性能下降。
冪次量化格式通過將乘法運(yùn)算替換為移位操作來簡(jiǎn)化計(jì)算,在某些場(chǎng)景下提高了計(jì)算速度,但這種格式在處理復(fù)雜數(shù)值計(jì)算時(shí)存在局限性,無法靈活適應(yīng)各種計(jì)算需求。
BFP通過塊內(nèi)共享指數(shù),在動(dòng)態(tài)范圍與計(jì)算效率間取得平衡。然而,現(xiàn)有BFP方案存在兩大缺陷:其一,靜態(tài)分組策略對(duì)異常值敏感,導(dǎo)致塊內(nèi)對(duì)齊誤差累積;其二,缺乏對(duì)非線性操作的適配,如Song等人設(shè)計(jì)的BFP加速器僅支持GEMM,Softmax仍需回退至FP32計(jì)算。
2.2非線性操作加速算法
非線性操作的硬件優(yōu)化集中于兩類方法:
基于 LUT 的方法通過預(yù)先計(jì)算并存儲(chǔ)函數(shù)值,在計(jì)算時(shí)直接查找對(duì)應(yīng)結(jié)果,具有較高的準(zhǔn)確性。在 Softmax 運(yùn)算中,可使用 LUT 存儲(chǔ)指數(shù)函數(shù)的計(jì)算結(jié)果,加快運(yùn)算速度。然而,這種方法需要大量存儲(chǔ)空間來存儲(chǔ)查找表,當(dāng)函數(shù)輸入范圍較大或精度要求較高時(shí),存儲(chǔ)開銷會(huì)顯著增加。
近似算法通過對(duì)復(fù)雜函數(shù)進(jìn)行近似計(jì)算來提高計(jì)算效率,使用多項(xiàng)式逼近或其他近似方法來計(jì)算非線性函數(shù)。隨著計(jì)算單元的增大,近似算法的準(zhǔn)確性通常會(huì)有所提高,但計(jì)算復(fù)雜度也會(huì)相應(yīng)增加,并且在某些情況下可能會(huì)引入較大的誤差。
基于 LUT 的方法通過預(yù)先計(jì)算并存儲(chǔ)函數(shù)值,在計(jì)算時(shí)直接查找對(duì)應(yīng)結(jié)果,具有較高的準(zhǔn)確性。在 Softmax 運(yùn)算中,可使用 LUT 存儲(chǔ)指數(shù)函數(shù)的計(jì)算結(jié)果,加快運(yùn)算速度。然而,這種方法需要大量存儲(chǔ)空間來存儲(chǔ)查找表,當(dāng)函數(shù)輸入范圍較大或精度要求較高時(shí),存儲(chǔ)開銷會(huì)顯著增加。
近似算法通過對(duì)復(fù)雜函數(shù)進(jìn)行近似計(jì)算來提高計(jì)算效率,使用多項(xiàng)式逼近或其他近似方法來計(jì)算非線性函數(shù)。隨著計(jì)算單元的增大,近似算法的準(zhǔn)確性通常會(huì)有所提高,但計(jì)算復(fù)雜度也會(huì)相應(yīng)增加,并且在某些情況下可能會(huì)引入較大的誤差。
當(dāng)前方案在精度與效率間難以兼顧:LUT需要高容量SRAM存儲(chǔ),而多項(xiàng)式近似在非線性區(qū)域誤差顯著。DB-Attn通過DH-LUT實(shí)現(xiàn)動(dòng)態(tài)非均勻分區(qū),結(jié)合DBFP的共享指數(shù)特性,顯著降低存儲(chǔ)需求。
本文工作
3.1動(dòng)態(tài)塊浮點(diǎn)數(shù)(Dynamic Block Floating-Point, DBFP)
DBFP的核心目標(biāo)是優(yōu)化傳統(tǒng)BFP在非線性操作中的局限性。傳統(tǒng)BFP將一組數(shù)據(jù)共享一個(gè)指數(shù)e8,通過將各元素的指數(shù)對(duì)齊至塊內(nèi)最大值emax,將浮點(diǎn)運(yùn)算轉(zhuǎn)換為定點(diǎn)運(yùn)算。然而,這種對(duì)齊方式導(dǎo)致小數(shù)值的尾數(shù)因過度右移而精度丟失,公式化表示為:
其中,dij= ei ? j?表??xi?的指數(shù)與第?j?個(gè)共享指數(shù)之間的差值。由于尾數(shù)與 2dij?相乘(移位?dij?位)時(shí)的有限精度,這種對(duì)??式會(huì)引?誤差。該誤差取決于距離?dij,??dij?由輸?指數(shù)?ei?決定。當(dāng) ei = emax?時(shí),?數(shù)值的?dij?較?,尾數(shù)有效位被截?cái)?,誤差顯著。
在 BFP 的基礎(chǔ)上,DBFP 對(duì)其進(jìn)?了進(jìn)?步的優(yōu)化。BFP 將?組數(shù)據(jù)表?為共享指數(shù)和私有尾數(shù)的形式,? DBFP 則更加靈活地確定共享指數(shù)和分組?式。通過對(duì)數(shù)據(jù)分布的分析,DBFP 選擇更具代表性的值,如中位數(shù),作為對(duì)?樞軸,?不是像傳統(tǒng) BFP 那樣使?最?值。這種樞軸聚焦策略能夠更好地平衡數(shù)據(jù)的準(zhǔn)確性,減少因異常值導(dǎo)致的精度損失。在 Softmax 運(yùn)算的實(shí)驗(yàn)中,傳統(tǒng) BFP 以最?值為對(duì)??向?qū)е碌膿p失?以中位數(shù)為對(duì)??向?出 9.6 倍。
為了減少異常值對(duì)指數(shù)共享的影響,DBFP 引?了?適應(yīng)分組策略。通過對(duì)數(shù)據(jù)的分析,將具有相似數(shù)量級(jí)分布的元素劃分為?組,使得同?組內(nèi)元素的指數(shù)差異較?,從?減少了因指數(shù)對(duì)??產(chǎn)?的?特移位,降低了計(jì)算誤差。在處理包含異常值的數(shù)據(jù)時(shí),?適應(yīng)分組策略能夠?qū)惓V祮为?dú)處理,避免其對(duì)其他數(shù)據(jù)的指數(shù)共享產(chǎn)?過?影響。
DBFP數(shù)學(xué)優(yōu)化?標(biāo)定義為:
其中表?向量空間中從原點(diǎn)到點(diǎn)
的?向和??的向量。移位向量
決定了每個(gè)xi相對(duì)于共享指數(shù)的移位量。和
分別表?轉(zhuǎn)換前后尾數(shù)的投影,它們的歐??得距離為
。μij表?xi落在由定義的區(qū)間內(nèi)的置信度。
在公式2中,超參數(shù)β(默認(rèn)值為2)?于調(diào)節(jié)μij的重要程度。為了減輕異常值對(duì)選擇的影響,引?了?個(gè)空集來處理這些異常值,μi0表?異常值屬于該空集的置信度。異常值與
之間的距離記為δ2,D2ij與所有Sj的距離總和相關(guān),其定義為:
通過交替固定變量并求解約束最小化問題,得到了最優(yōu)的共享指數(shù)集合,從而實(shí)現(xiàn)了自適應(yīng)分組策略和樞軸聚焦策略的優(yōu)化。
3.2DB-Attn算法設(shè)計(jì)
DB-Attn是基于DBFP的軟硬件協(xié)同優(yōu)化框架,旨在提高Attention層的計(jì)算效率。該框架通過優(yōu)化Softmax運(yùn)算和矩陣運(yùn)算,充分利用DBFP的特性,減少了浮點(diǎn)運(yùn)算的需求,提高了計(jì)算吞吐量。
3.2.1DH-LUT
為了優(yōu)化Softmax運(yùn)算,DB-Attn提出了動(dòng)態(tài)分層查找表(DH-LUT)算法。DH-LUT是一種緊湊、輕量級(jí)的LUT,它根據(jù)DBFP數(shù)據(jù)的共享指數(shù)動(dòng)態(tài)加載子LUT,并利用尾數(shù)的高k位進(jìn)行查找。
對(duì)于Softmax中的指數(shù)函數(shù),DH-LUT僅對(duì)[-∞, 0]范圍進(jìn)行擬合,因?yàn)樵赟oftmax的計(jì)算中,通過對(duì)指數(shù)進(jìn)行降尺度變換(如 ex?xmax),數(shù)據(jù)主要集中在該范圍內(nèi)。DH-LUT支持非均勻擬合,通過在樞軸聚焦策略下對(duì)齊指數(shù),能夠更好地保留較小的值,并聚焦于函數(shù)的非線性顯著部分。為了進(jìn)一步優(yōu)化DH-LUT的準(zhǔn)確性和內(nèi)存使用,設(shè)計(jì)了一種非均勻分層分配方法,根據(jù)目標(biāo)擬合函數(shù)自適應(yīng)地確定最優(yōu)分區(qū)點(diǎn),將更多的表項(xiàng)分配給非線性區(qū)域,以實(shí)現(xiàn)更精確的逼近。
基于DH-LUT的Softmax計(jì)算選擇以中位數(shù)指數(shù)為對(duì)齊方式,能夠在保證準(zhǔn)確性的同時(shí),平衡計(jì)算效率。由于DH-LUT中存儲(chǔ)的數(shù)據(jù)均為DBFP格式,其共享指數(shù)的特性使得計(jì)算不僅可以在浮點(diǎn)域進(jìn)行,還可以在計(jì)算資源有限的設(shè)備上進(jìn)行整數(shù)運(yùn)算,從而提高了Softmax算法在不同平臺(tái)上的適用性和計(jì)算速度。
3.2.2級(jí)聯(lián)矩陣乘法優(yōu)化
將DBFP應(yīng)用于Attention中的矩陣運(yùn)算,能夠顯著提高計(jì)算效率。在DBFP格式下,向量可以表示為共享系數(shù)和整數(shù)向量的乘積,向量點(diǎn)積和矩陣乘法可以通過整數(shù)乘法單元和整數(shù)加法器實(shí)現(xiàn),避免了復(fù)雜的浮點(diǎn)運(yùn)算。兩個(gè)DBFP格式的向量
和
進(jìn)行點(diǎn)積運(yùn)算時(shí),結(jié)果為
,可以通過整數(shù)運(yùn)算高效實(shí)現(xiàn)。
這種特性使得DBFP矩陣乘法具有級(jí)聯(lián)效應(yīng),即兩個(gè)DBFP矩陣相乘的結(jié)果仍然是DBFP矩陣,可以無縫地連接進(jìn)行后續(xù)的矩陣乘法運(yùn)算,而無需額外的處理。對(duì)于細(xì)粒度塊的DBFP矩陣,在級(jí)聯(lián)運(yùn)算中可以通過硬件移位操作高效地進(jìn)行重新對(duì)齊,進(jìn)一步提高了計(jì)算效率。
3.3算法驅(qū)動(dòng)的硬件架構(gòu)
為了支持DB-Attn算法,我們?cè)O(shè)計(jì)并實(shí)現(xiàn)了一種基于RTL級(jí)的DBFP引擎,該引擎適用于FPGA和ASIC,能夠有效提高Softmax運(yùn)算的硬件性能。
該加速器的架構(gòu)分為四個(gè)流水線階段:
Max階段:定位輸入向量中的最大值xmax,為后續(xù)指數(shù)對(duì)齊提供基準(zhǔn);
SE階段(Shared Exponent):
?根據(jù)樞軸策略計(jì)算共享指數(shù)es,并對(duì)齊尾數(shù);
?觸發(fā)DMA預(yù)加載DH-LUT中對(duì)應(yīng)區(qū)間的數(shù)據(jù);
Exp階段:
?并行查表計(jì)算;
?使用加法樹累加分母和;
Div階段:將分子與分母和相除,完成歸一化。
采用動(dòng)態(tài)分層非均勻LUT策略,通過從向量元素中提取 n 位創(chuàng)建一個(gè) 2n項(xiàng)的表,在保證準(zhǔn)確性的同時(shí),有效控制了表的大小。該設(shè)計(jì)使用兩個(gè)表:一個(gè)值表用于存儲(chǔ)近似的指數(shù)值,一個(gè)命中位圖表用于記錄尾數(shù)的出現(xiàn)情況。輸入向量可以并行地在這兩個(gè)表中進(jìn)行查找,每個(gè)指數(shù)索引對(duì)應(yīng)一個(gè)DH-LUT區(qū)間,并設(shè)置相應(yīng)的位圖位。通過加法樹結(jié)構(gòu)對(duì)兩個(gè)表的值進(jìn)行相乘和求和,實(shí)現(xiàn)了并行查找結(jié)果,且無需額外的硬件資源。
DBFP能夠?qū)⒏↑c(diǎn)運(yùn)算轉(zhuǎn)換為整數(shù)運(yùn)算,這是其在硬件計(jì)算中的關(guān)鍵優(yōu)勢(shì)。在神經(jīng)網(wǎng)絡(luò)的向量加法運(yùn)算中,傳統(tǒng)的浮點(diǎn)加法需要對(duì)每對(duì)數(shù)字進(jìn)行指數(shù)對(duì)齊,而DB-Attn通過在組內(nèi)預(yù)對(duì)齊指數(shù),將運(yùn)算簡(jiǎn)化為指數(shù)乘法和尾數(shù)加法。在加法樹結(jié)構(gòu)中,通過一次初始的指數(shù)對(duì)齊,就可以直接進(jìn)行尾數(shù)計(jì)算,實(shí)驗(yàn)證明,在4級(jí)加法樹中,使用DBFP可以將延遲降低42%。
在非線性運(yùn)算中,除法操作通常是并行計(jì)算的瓶頸,如在Softmax和Layernorm中。DBFP的共享指數(shù)特性使得可以通過整數(shù)近似高效地進(jìn)行除法運(yùn)算。傳統(tǒng)的FP16串行除法器資源消耗大,10位尾數(shù)計(jì)算需要11個(gè)周期的移位操作,占用了超過90%的面積和功耗。而基于DBFP的除法器策略借鑒了相關(guān)的研究成果,使用LUT和移位加法操作,將11個(gè)周期的操作壓縮為1個(gè)周期,大大提高了計(jì)算速度。在Softmax應(yīng)用中,當(dāng)除數(shù)固定且DBFP指數(shù)相同時(shí),每64次除法僅需進(jìn)行一次指數(shù)減法和查找操作,顯著降低了資源利用率和延遲,實(shí)驗(yàn)證明,該除法單元能夠?qū)⒀舆t降低83%。通過這些優(yōu)化,DBFP使得FP16運(yùn)算可以僅使用10位整數(shù)運(yùn)算實(shí)現(xiàn),有效降低了計(jì)算開銷,特別有利于對(duì)比特寬度敏感的乘法和除法運(yùn)算。
評(píng)估
4.1 DB-Attn 的準(zhǔn)確性結(jié)果
4.1.1 LLM任務(wù)
在語言生成任務(wù)和六個(gè)零樣本任務(wù)中,對(duì) DB-Attn 的準(zhǔn)確性進(jìn)行了評(píng)估,并與傳統(tǒng)的 BFP 和 FP8 格式進(jìn)行了比較。以 LLaMA 系列模型為例,直接將傳統(tǒng) BFP 格式應(yīng)用于 Softmax 操作會(huì)導(dǎo)致顯著的準(zhǔn)確性下降,如 LLaMA3 在零樣本任務(wù)上的平均準(zhǔn)確率下降了 33.81%。FP8 e4m3 格式由于無法表示無窮大,在 Attention 計(jì)算中表現(xiàn)不佳。而 DB-Attn 在所有評(píng)估任務(wù)中均優(yōu)于傳統(tǒng) BFP 和 FP8 格式,能夠保持與浮點(diǎn)運(yùn)算幾乎相同的準(zhǔn)確性。在不同的數(shù)據(jù)集上,如 PIQA、ARC 等,DB-Attn 的零樣本困惑度與浮點(diǎn)運(yùn)算結(jié)果相近,證明了其在保持模型性能的同時(shí),能夠有效降低計(jì)算開銷的優(yōu)勢(shì)。
4.1.2 視覺任務(wù)
在目標(biāo)檢測(cè)和圖像分類任務(wù)中,評(píng)估了 DB-Attn 的性能。使用流行的 ViT 和 Swin 骨干網(wǎng)絡(luò)在 ImageNet 數(shù)據(jù)集上進(jìn)行圖像分類實(shí)驗(yàn),以及利用 Detr 在 COCO 數(shù)據(jù)集上進(jìn)行目標(biāo)檢測(cè)實(shí)驗(yàn)。結(jié)果表明,DB-Attn 的性能與在 LLMs 任務(wù)中的表現(xiàn)相似,能夠無損地集成到現(xiàn)有的 Transformer 模型中,展示了其在不同任務(wù)和數(shù)據(jù)分布上的泛化性和通用性。在不同模型和數(shù)據(jù)集上,DB-Attn 的準(zhǔn)確率與浮點(diǎn)運(yùn)算相當(dāng),證明了其在視覺任務(wù)中的有效性。
4.1.3 DH-LUT 比特精度 - 準(zhǔn)確率帕累托前沿
通過測(cè)試 DB-Attn 中 Softmax 在不同 LUT 比特寬度下的計(jì)算誤差、LUT 內(nèi)存使用和實(shí)際模型準(zhǔn)確性,尋找 LUT 比特寬度配置的帕累托前沿。實(shí)驗(yàn)結(jié)果表明,當(dāng) LUT 比特寬度在 5 - 7 之間時(shí),能夠在計(jì)算誤差、內(nèi)存使用和準(zhǔn)確性之間實(shí)現(xiàn)較好的平衡。在這個(gè)范圍內(nèi),隨著 LUT 比特寬度的增加,計(jì)算誤差逐漸減小,模型準(zhǔn)確性逐漸提高,但內(nèi)存使用也會(huì)相應(yīng)增加。通過合理選擇 LUT 比特寬度,可以在保證模型性能的前提下,優(yōu)化計(jì)算資源的使用。
4.2 硬件實(shí)現(xiàn)評(píng)估
在NVIDIA A800 GPU上實(shí)現(xiàn)了自定義的CUDA Softmax算子來模擬DBFP格式,并在多種模型(如LLaMA和ViT)上進(jìn)行推理。結(jié)果顯示,基于DBFP的Softmax在不同模型架構(gòu)上均實(shí)現(xiàn)了至少30%的速度提升,在LLaMA系列模型上平均延遲降低了74%。這表明DBFP能夠有效加速Softmax運(yùn)算,提高模型的推理效率。
在FPGA上對(duì)設(shè)計(jì)進(jìn)行了評(píng)估,并與當(dāng)前最先進(jìn)的設(shè)計(jì)進(jìn)行了比較。評(píng)估指標(biāo)包括Softmax操作的處理延遲、FPGA資源利用率(以LUT和觸發(fā)器FF為指標(biāo))、最大可實(shí)現(xiàn)的工作頻率以及綜合性能指標(biāo)FOM(定義為
,其中W和N分別表示輸入的精度和數(shù)量,F(xiàn)OM值越高表示性能越好)。與現(xiàn)有Softmax加速器相比,本文設(shè)計(jì)能夠適應(yīng)更大的輸入帶寬,在輸入序列長(zhǎng)度為1024(現(xiàn)代LLMs常用的設(shè)置)的情況下,使用的資源比Xilinx FP少54.21%,處理延遲降低了62.5%,計(jì)算帶寬提高了128倍,F(xiàn)OM值提高了至少10倍,充分展示了DBFP在FPGA硬件實(shí)現(xiàn)上的優(yōu)勢(shì)。
在ASIC上進(jìn)行了實(shí)現(xiàn),以獲得更準(zhǔn)確的功耗、最大時(shí)鐘頻率和可擴(kuò)展性數(shù)據(jù)。使用面積 - 延遲積(ADP)、能量 - 延遲積(EDP)、整體效率和吞吐量(Freq × Bandwidth)等指標(biāo)對(duì)設(shè)計(jì)進(jìn)行評(píng)估。在輸入序列長(zhǎng)度為1024的統(tǒng)一場(chǎng)景下,將實(shí)驗(yàn)結(jié)果歸一化到28nm工藝。與最先進(jìn)的設(shè)計(jì)相比,本文設(shè)計(jì)雖然面積增加了約10%,但在能耗和吞吐量方面有顯著提升,超過10倍。這表明在實(shí)際應(yīng)用中,雖然需要額外的面積,但可以通過性能和效率的大幅提升來彌補(bǔ),這種權(quán)衡是可接受的。
通過對(duì)輸入大小從8到4096元素的調(diào)優(yōu)測(cè)試,驗(yàn)證了設(shè)計(jì)的可擴(kuò)展性。隨著輸入數(shù)據(jù)點(diǎn)數(shù)量的增加,總計(jì)算時(shí)間呈指數(shù)增長(zhǎng),這是由于輸入長(zhǎng)度與處理矩陣大小的二次關(guān)系。在輸入大小增加的過程中,各個(gè)流水線階段的時(shí)間消耗比例增長(zhǎng)平衡,沒有出現(xiàn)某個(gè)部分延遲增長(zhǎng)過快的情況,證明了設(shè)計(jì)在處理大規(guī)模數(shù)據(jù)時(shí)的并行性和可擴(kuò)展性,能夠適應(yīng)不同規(guī)模的應(yīng)用需求。
總結(jié)
本文提出了 DBFP,一種先進(jìn)的 BFP 變體,通過自適應(yīng)分組和樞軸聚焦策略,有效解決了非線性運(yùn)算中準(zhǔn)確性和效率的挑戰(zhàn)。在此基礎(chǔ)上,構(gòu)建了 DB-Attn 框架,通過算法和硬件的協(xié)同設(shè)計(jì),實(shí)現(xiàn)了高效的 Attention 計(jì)算。實(shí)驗(yàn)結(jié)果表明,DB-Attn 在 GPU 上實(shí)現(xiàn)了 74% 的加速,且精度損失可忽略不計(jì),基于 RTL 級(jí)的 DBFP 引擎比現(xiàn)有最先進(jìn)的設(shè)計(jì)性能提升了 10 倍。
本文的研究成果為 BFP 在窄精度 LLM 推理中的應(yīng)用開辟了新的道路,證明了軟硬件協(xié)同設(shè)計(jì)在優(yōu)化非線性運(yùn)算方面的巨大潛力。未來的研究可以進(jìn)一步探索 DB-Attn 在其他復(fù)雜神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)和任務(wù)中的應(yīng)用,以及如何進(jìn)一步優(yōu)化硬件架構(gòu),以降低成本和提高能效,推動(dòng) LLMs 在更廣泛領(lǐng)域的高效應(yīng)用。
-
算法
+關(guān)注
關(guān)注
23文章
4682瀏覽量
94330 -
模型
+關(guān)注
關(guān)注
1文章
3463瀏覽量
49795 -
LLM
+關(guān)注
關(guān)注
1文章
316瀏覽量
632
原文標(biāo)題:后摩前沿 | 低精度LLM推理加速:基于 DBFP 與 DB-Attn 的算法硬件協(xié)同優(yōu)化方案
文章出處:【微信號(hào):后摩智能,微信公眾號(hào):后摩智能】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
FPGA芯片用于神經(jīng)網(wǎng)絡(luò)算法優(yōu)化的設(shè)計(jì)實(shí)現(xiàn)方案

請(qǐng)問如何實(shí)現(xiàn)協(xié)同過濾算法?
汽車領(lǐng)域多學(xué)科優(yōu)化設(shè)計(jì)解決方案--Optimus
如何優(yōu)化控制算法的代碼
軟硬件協(xié)同優(yōu)化,平頭哥玄鐵斬獲MLPerf四項(xiàng)第一
Camellia加密算法基于硬件實(shí)現(xiàn)的優(yōu)化
基于AES算法硬件優(yōu)化及IP核應(yīng)用

一種改進(jìn)的協(xié)同優(yōu)化算法
基于聚類協(xié)同過濾推薦算法優(yōu)化

求解大規(guī)模問題的協(xié)同進(jìn)化動(dòng)態(tài)粒子群優(yōu)化算法

優(yōu)化的協(xié)同過濾推薦算法
基于多策略協(xié)同作用的粒子群優(yōu)化MSPSO算法
基于SVDPP算法的新型協(xié)同過濾推薦算法

硬件算法協(xié)同設(shè)計(jì)

基于機(jī)器學(xué)習(xí)算法的校準(zhǔn)優(yōu)化方案

評(píng)論