從架構(gòu)、工藝到能效表現(xiàn),全面了解LLM硬件加速,這篇綜述就夠了
對(duì)人類(lèi)語(yǔ)言進(jìn)行大規(guī)模建模是一個(gè)復(fù)雜的過(guò)程,研究人員花了幾十年的時(shí)間才開(kāi)發(fā)出來(lái)。這項(xiàng)技術(shù)最早可追溯于 1950 年,當(dāng)時(shí)克勞德?香農(nóng)將信息理論應(yīng)用于人類(lèi)語(yǔ)言。從那時(shí)起,翻譯和語(yǔ)音識(shí)別等任務(wù)取得了長(zhǎng)足的進(jìn)步。
在這個(gè)過(guò)程中,人工智能 (AI) 和機(jī)器學(xué)習(xí) (ML) 是技術(shù)進(jìn)步的關(guān)鍵。ML 作為 AI 的一個(gè)子集,其允許計(jì)算機(jī)從數(shù)據(jù)中進(jìn)行學(xué)習(xí)。一般來(lái)說(shuō),ML 模型要么是有監(jiān)督的,要么是無(wú)監(jiān)督的。
在接下來(lái)要介紹的這篇論文中《 Hardware Acceleration of LLMs: A comprehensive survey and comparison 》,來(lái)自西阿提卡大學(xué)的研究者重點(diǎn)介紹了有監(jiān)督模型。
論文地址:https://arxiv.org/pdf/2409.03384
根據(jù)論文介紹,深度學(xué)習(xí)模型分為生成式和判別式。生成式人工智能是深度學(xué)習(xí)的一個(gè)子集,它使用神經(jīng)網(wǎng)絡(luò)來(lái)處理標(biāo)記和未標(biāo)記的數(shù)據(jù)。大型語(yǔ)言模型 (LLM) 有助于理解字符、單詞和文本。
2017 年,Transformer 徹底改變了語(yǔ)言建模。Transformer 是一種神經(jīng)網(wǎng)絡(luò),它使用注意力機(jī)制處理長(zhǎng)期文本依賴(lài)關(guān)系。谷歌于 2017 年創(chuàng)建了第一個(gè)用于文本翻譯的 Transformer 模型。Transformer 此后不斷發(fā)展,改進(jìn)了注意力機(jī)制和架構(gòu)。發(fā)展到今天,OpenAI 發(fā)布的 ChatGPT 是一個(gè)著名的 LLM,它可以預(yù)測(cè)文本并能回答問(wèn)題、總結(jié)文本等。
本文對(duì)使用硬件加速器來(lái)加速 Transformer 網(wǎng)絡(luò)所做的一些研究工作進(jìn)行了全面的調(diào)查。該調(diào)查介紹了已提出的框架,然后對(duì)每個(gè)框架的技術(shù)、處理平臺(tái)(FPGA、ASIC、內(nèi)存、GPU)、加速、能源效率、性能(GOP)等進(jìn)行了定性和定量比較。
FPGA 加速器
在這一部分中,作者以 A-T 編號(hào)的方式列舉了有關(guān) FPGA 的研究,可謂調(diào)查的非常詳細(xì)。每項(xiàng)研究都用簡(jiǎn)短的幾句話(huà)概括,閱讀起來(lái)簡(jiǎn)單又清晰。舉例來(lái)說(shuō):
FTRANS 。2020 年,Li 等人提出了一種硬件加速框架 FTRANS,旨在加速基于 Transformer 的大規(guī)模語(yǔ)言表示。FTRANS 顯著提高了速度和能效,超越了 CPU 和 GPU 實(shí)現(xiàn),在一系列比較后顯示 FTRANS 比其他方案快 81 倍,能效高 9 倍,特別是與使用 VCU118 (16nm) 的 GPU 處理器 RTX5000 相比。該加速器的性能速率為 170 GOP,能效率為 6.8 GOP/W。
多頭注意力。2020 年,Lu 等人提出了一種基于 FPGA 的架構(gòu),用于加速 Transformer 網(wǎng)絡(luò)中計(jì)算最密集的部分。在他們的工作中,他們?yōu)閮蓚€(gè)關(guān)鍵組件提出了一種新型硬件加速器,即多頭注意力 (MHA) ResBlock 和位置前饋網(wǎng)絡(luò) (FFN) ResBlock,它們是 Transformer 中最復(fù)雜的兩個(gè)層。所提出的框架是在 Xilinx FPGA 上實(shí)現(xiàn)的。根據(jù)性能評(píng)估,與 V100 GPU 相比,所提出的設(shè)計(jì)實(shí)現(xiàn)了 14.6 倍的加速。
FPGA NPE。2021 年,Khan 等人提出了一種用于語(yǔ)言模型的 FPGA 加速器,稱(chēng)為 NPE。NPE 的能源效率比 CPU(i7-8700k)高約 4 倍,比 GPU(RTX 5000)高約 6 倍。
除此以外,文中還介紹了 ViA 、 FPGA DFX 、 FPGA OPU 等研究,這里就不再詳細(xì)介紹了。
基于 CPU 和 GPU 的加速器
TurboTransformer。2021 年,Jiarui Fang 和 Yang Yu 推出了 TurboTransformers 加速器,這是一種在 GPU 上專(zhuān)為 Transformer 模型打造的技術(shù)。TurboTransformers 在可變長(zhǎng)度輸入的延遲和性能方面優(yōu)于 PyTorch 和 ONNXRuntime,速度提高了 2.8 倍。
Jaewan Choi。2022 年,研究員 Jaewan Choi 發(fā)表了題為「Accelerating Transformer Networks through Rewiring of Softmax Layers」的研究,文中提出了一種加速 Transformer 網(wǎng)絡(luò)中 Softmax 層的方法。該研究引入了一種重新布線技術(shù)來(lái)加速 Transformer 網(wǎng)絡(luò)中的 Softmax 層,隨著 Transformer 模型處理更長(zhǎng)的序列以提高準(zhǔn)確率,這項(xiàng)技術(shù)變得越來(lái)越重要。所提出的技術(shù)將 Softmax 層劃分為多個(gè)子層,更改數(shù)據(jù)訪問(wèn)模式,然后將分解的 Softmax 子層與后續(xù)和前面的過(guò)程合并。該方法分別將 BERT、GPT-Neo、BigBird 和 Longformer 在當(dāng)前 GPU 上的推理速度加快了 1.25 倍、1.12 倍、1.57 倍和 1.65 倍,顯著減少了片外內(nèi)存流量。
SoftMax。2022 年,Choi 等人提出了一種通過(guò)重組 Softmax 層加速 Transformer 網(wǎng)絡(luò)的新框架。Softmax 層將注意力矩陣的元素歸一化為 0 到 1 之間的值。此操作沿注意力矩陣的行向量進(jìn)行。根據(jù)分析,縮放點(diǎn)積注意力 (SDA) 塊中的 softmax 層分別使用了 BERT、GPT-Neo、BigBird 和 Longformer 總執(zhí)行時(shí)間的 36%、18%、40% 和 42%。Softmax 重組通過(guò)顯著減少片外內(nèi)存流量,在 A100 GPU 上對(duì) BERT、GPT-Neo、BigBird 和 Longformer 進(jìn)行推理時(shí)實(shí)現(xiàn)了高達(dá) 1.25 倍、1.12 倍、1.57 倍和 1.65 倍的加速。
此外,論文還介紹了 LightSeq2 、 LLMA 、 vLLMs 等研究。
ASIC 加速器
A3。2020 年,Hma 等人提出了一項(xiàng)關(guān)于 Transformer 網(wǎng)絡(luò)加速的早期研究,稱(chēng)為 A3 。不過(guò),研究人員所提出的方案尚未在 FPGA 上實(shí)現(xiàn)?;谛阅茉u(píng)估,與 Intel Gold 6128 CPU 實(shí)現(xiàn)相比,所提出的方案可實(shí)現(xiàn)高達(dá) 7 倍的加速,與 CPU 實(shí)現(xiàn)相比,能效可提高 11 倍。
ELSA。2021 年,Ham 等人提出了一種用于加速 Transformer 網(wǎng)絡(luò)的硬件 - 軟件協(xié)同設(shè)計(jì)方法,稱(chēng)為 Elsa 。ELSA 大大減少了自注意力操作中的計(jì)算浪費(fèi)。
SpAtten。2021 年,Want 等人提出了一種用于大型語(yǔ)言模型加速的框架 Spatten。SpAtten 采用新穎的 NLP 加速方案,以減少計(jì)算和內(nèi)存訪問(wèn)。SpAtten 分別比 GPU(TITAN Xp)和 Xeon CPU 實(shí)現(xiàn)了 162 倍和 347 倍的加速。在能源效率方面,與 GPU 和 CPU 相比,SpAtten 實(shí)現(xiàn)了 1193 倍和 4059 倍的節(jié)能。
在這部分,作者還列舉了加速 transformer 網(wǎng)絡(luò)的新方法 Sanger、用于提高自然語(yǔ)言處理中 transformer 模型效率的 AccelTran 等多項(xiàng)研究。
內(nèi)存硬件加速器
ATT。2020 年,Guo 等人提出了一種基于注意力的加速器加速方法,稱(chēng)為 ATT,該方法基于電阻性 RAM。根據(jù)性能評(píng)估,ATT 與 NVIDIA GTX 1080 Ti GPU 相比,可以實(shí)現(xiàn) 202 倍的加速。
ReTransformer。2020 年,Yang 等人提出了一種用于加速 Transformer 的內(nèi)存框架,稱(chēng)為 ReTransformer。ReTransformer 是一種基于 ReRAM 的內(nèi)存架構(gòu),用于加速 Transformer,它不僅使用基于 ReRAM 的內(nèi)存架構(gòu)加速 Transformer 的縮放點(diǎn)積注意力,而且還通過(guò)使用提出的矩陣分解技術(shù)避免寫(xiě)入中間結(jié)果來(lái)消除一些數(shù)據(jù)依賴(lài)性。性能評(píng)估表明,與 GPU 相比,ReTransformer 可以實(shí)現(xiàn)高達(dá) 23.21 倍的加速,而相應(yīng)的整體功率降低了 1086 倍。
iMCAT。2021 年,Laguna 等人提出了一種用于加速長(zhǎng)句 Transformer 網(wǎng)絡(luò)的新型內(nèi)存架構(gòu),稱(chēng)為 iMCAT。該框架結(jié)合使用 XBar 和 CAM 來(lái)加速 Transformer 網(wǎng)絡(luò)。性能評(píng)估表明,對(duì)于長(zhǎng)度為 4098 的序列,這種方法實(shí)現(xiàn)了 200 倍的加速和 41 倍的性能改進(jìn)。
除此以外,該章節(jié)還介紹了 iMCAT 、 TransPIM 、 iMTransformer 等研究。
定量比較
下表 I 列出了目前所有的硬件加速器以及各自的主要特性,包括加速器名稱(chēng)、加速器類(lèi)型(FPGA/ASIC/In-memory)、性能和能效。
在某些情況下,當(dāng)提出的架構(gòu)與 CPU、GPU 進(jìn)行比較時(shí),以往的工作也會(huì)提及加速這一指標(biāo)。不過(guò),由于每種架構(gòu)的基線比較不同,因而本文只展示了它們的絕對(duì)性能和能效,而沒(méi)有涉及加速。
性能定量比較
下圖 1 展示了不同工藝技術(shù)下,每種加速器的性能;圖 2 展示了更加清楚的對(duì)數(shù)尺度性能。
我們可以看到,采用 14nm 工藝的 AccelTran(服務(wù)器)實(shí)現(xiàn)最高性能,達(dá)到了 372000 GOPs,而 ReTransformer 模型的性能最低。此外,ViA、Me-ViT 和 Ftrans 等采用相同工藝技術(shù)的模型并沒(méi)有實(shí)現(xiàn)相似的性能。
不過(guò),對(duì)于沒(méi)有采用相同工藝技術(shù)的加速器,則很難進(jìn)行公平比較。畢竟,工藝技術(shù)會(huì)對(duì)硬件加速器性能產(chǎn)生顯著的影響。
能效 vs 工藝技術(shù)
下圖 3 展示了大多數(shù)硬件加速器的能效(GOPs/W)水平,圖 4 展示了對(duì)數(shù)尺度層面的能效。由于很多架構(gòu)沒(méi)有測(cè)量能效,因而本文只列出了提供了能效的加速器。當(dāng)然,很多加速器采用了不同的工藝技術(shù),因此很難進(jìn)行公平比較。
結(jié)果顯示,以?xún)?nèi)存為主(In-Memory 加速器)的模型具有更好的能效表現(xiàn)。原因在于數(shù)據(jù)傳輸減少了,并且這種特定的架構(gòu)允許數(shù)據(jù)在內(nèi)存中直接處理,而不需要從內(nèi)存?zhèn)鬏數(shù)?CPU。
16nm 工藝下的加速比較
下表 II 展示了 16nm 工藝下,不同硬件加速器的外推性能。
下圖 5 展示了當(dāng)在相同的 16nm 工藝技術(shù)下外推性能時(shí),不同硬件加速器的絕對(duì)性能,其中 AccelTran 的性能水平最高。
實(shí)驗(yàn)外推
本文針對(duì) FPGA 架構(gòu)進(jìn)行了實(shí)驗(yàn)外推,并測(cè)試了 20nm、28nm、40nm、 55nm、65nm 和 180nm 工藝下技術(shù)不同的矩陣乘法代碼,以驗(yàn)證 16nm 工藝的理論轉(zhuǎn)換效果。研究者表示,F(xiàn)PGA 技術(shù)上的矩陣乘法結(jié)果有助于外推不同硬件加速器在相同工藝技術(shù)上的結(jié)果。
下表 III 展示了不同 FPGA 設(shè)備、工藝技術(shù)以及矩陣乘法 IP 核的結(jié)果。
下圖 6 展示了每種 FPGA 設(shè)備和矩陣乘法工藝技術(shù)的最大時(shí)鐘頻率。由于 FPGA 的性能依賴(lài)于最大時(shí)鐘頻率,因此外推性能使得不同工藝技術(shù)下架構(gòu)之間能夠?qū)崿F(xiàn)公平比較。
更多實(shí)驗(yàn)細(xì)節(jié)請(qǐng)參閱原論文。