文章來源:機器之心
近日,CMU Catalyst 團隊推出了一篇關于高效 LLM 推理的綜述,覆蓋了 300 余篇相關論文,從 MLSys 的研究視角介紹了算法創(chuàng)新和系統(tǒng)優(yōu)化兩個方面的相關進展。
圖片來源:由無界 AI生成
在人工智能(AI)的快速發(fā)展背景下,大語言模型(LLMs)憑借其在語言相關任務上的杰出表現(xiàn),已成為 AI 領域的重要推動力。然而,隨著這些模型在各種應用中的普及,它們的復雜性和規(guī)模也為其部署和服務帶來了前所未有的挑戰(zhàn)。LLM 部署和服務面臨著密集的計算強度和巨大的內(nèi)存消耗,特別是在要求低延遲和高吞吐量的場景中,如何提高 LLM 服務效率,降低其部署成本,已經(jīng)成為了當前 AI 和系統(tǒng)領域亟需解決的問題。
來自卡內(nèi)基梅隆大學的 Catalyst 團隊在他們的最新綜述論文中,從機器學習系統(tǒng)(MLSys)的研究視角出發(fā),詳細分析了從前沿的 LLM 推理算法到系統(tǒng)的革命性變革,以應對這些挑戰(zhàn)。該綜述旨在提供對高效 LLM 服務的當前狀態(tài)和未來方向的全面理解,為研究者和實踐者提供了寶貴的洞見,幫助他們克服有效 LLM 部署的障礙,從而重塑 AI 的未來。
論文鏈接:https://arxiv.org/abs/2312.15234
該論文的第一作者是卡內(nèi)基梅隆大學的 Xupeng Miao(苗旭鵬)博士后研究員,合作者還包括 Tianqi Chen 和 Zhihao Jia 助理教授。此外,其他學生作者也均來自于 CMU Catalyst Group 實驗室,該實驗室由 Zhihao Jia 與 Tianqi Chen(陳天奇)在 CMU 共同主持,致力于集成來自于機器學習算法、系統(tǒng)、硬件等多方面的優(yōu)化技術,構造自動化的機器學習系統(tǒng)。此前,該實驗室還推出了 SpecInfer, MLC-LLM, SpotServe [ASPLOS‘24] 等開源項目,推進 LLM 大模型相關系統(tǒng)的研究和應用。實驗室主頁:https://catalyst.cs.cmu.edu。
綜述概覽
該綜述系統(tǒng)地審視了現(xiàn)有 LLM 推理技術,覆蓋了 300 余篇相關論文,從算法創(chuàng)新和系統(tǒng)優(yōu)化兩個方面展開介紹。論文以此為基礎,對現(xiàn)有工作設計了一套清晰且詳盡的分類法,突出了各種方法的優(yōu)勢和局限性,逐類別搜集整理并介紹了每種方法的相關論文。除此之外,論文還對當前的主流LLM 推理框架在系統(tǒng)設計與實現(xiàn)方面進行了深入的對比和分析。最后,作者對未來如何繼續(xù)提高 LLM 推理效率進行了展望,在技術層面提出了六大潛在發(fā)展方向。
分類法
算法創(chuàng)新
這一節(jié)對提出的各種算法和技術進行了全面分析,旨在改進大規(guī)模 Transformer 模型推理的原生性能缺陷,包括解碼算法、架構設計、和模型壓縮等等。
解碼算法:在這一部分中,我們回顧了在圖 2 中展示的幾種 LLMs 推理優(yōu)化過程的新穎解碼算法。這些算法旨在減少計算復雜度,并提高語言模型推理在生成任務中的總體效率,包括:
- 非自回歸解碼:現(xiàn)有 LLMs 的一個主要限制是默認的自回歸解碼機制,它逐個順序生成輸出 token。為解決這一問題,一種代表性的工作方向是非自回歸解碼 [97, 104, 108,271],即放棄自回歸生成范式,打破單詞依賴并假設一定程度的條件獨立性,并行解碼輸出 token。然而,盡管這類方法解碼速度有所提高,但大多數(shù)非自回歸方法的輸出質(zhì)量仍不如自回歸方法可靠。
- 投機式推理:另一類工作是通過投機執(zhí)行思想 [47] 實現(xiàn)并行解碼。自回歸 LLM 推理過程中的每個解碼步驟都可以被視為帶有條件分支的程序執(zhí)行語句,即決定接下來生成哪個 token。投機式推理 [51, 155] 先使用較小的草稿模型進行多步解碼預測,然后讓 LLM 同時驗證這些預測以實現(xiàn)加速。然而,將投機解碼應用于 LLMs 時仍然存在一些實際挑戰(zhàn),例如,如何使解碼預測足夠輕量且準確,以及如何借助 LLMs 實現(xiàn)高效的并行驗證。SpecInfer [177] 首次引入基于 tree-based speculative decoding 和 tree attention,并提出了一個低延遲 LLM 服務系統(tǒng)實現(xiàn),該機制也被后續(xù)多個工作 [48, 118, 168, 185, 229, 236, 274, 310] 直接采用。
- 提前退出:這類方法主要利用 LLMs 的深層多層結(jié)構,在中間層提前推出推理,中間層輸出可以通過分類器轉(zhuǎn)化成輸出的 token,從而降低推理開銷 [117, 147, 163, 167, 234, 272, 282, 291, 308],它們也被稱為自適應計算 [68, 219]。
- 級聯(lián)推理:這類方法級聯(lián)了多個不同規(guī)模的 LLM 模型,用于分別處理不同復雜度的推理請求,代表性工作包括 CascadeBERT [157] 和 FrugalGPT [53]。
架構設計:
- 配置縮?。褐苯涌s小模型配置。
- 注意力簡化:最近出現(xiàn)了很多研究工作,它們主要是將之前的長序列高效注意力機制 [240] 應用在 LLM 上,以縮短上下文,減少 KV 緩存,以及注意力復雜度,同時略微降低解碼質(zhì)量(如滑動窗口 [129, 299]、哈希 [198]、dilated [74]、動態(tài)選擇等等)。表 1 中總結(jié)了一些近期的熱門方法和之前的工作之間的對應關系。
- 激活共享:這類方法主要是通過共享 attention 計算的中間激活來降低推理內(nèi)存開銷,代表性工作包括 MQA [220] 和 GQA [32]。
- 條件計算:這類方法主要是指稀疏專家混合模型(Sparse MoE),比如最近大火的 Mistrial 7Bx8 模型就屬于此類。
- 循環(huán)單元:盡管 Transformer 已經(jīng)替代了 RNN 模型,但考慮到注意力機制的二次復雜性,人們始終未曾放棄將 recurrent unit 機制重新引入 LLM 的嘗試,比如 RWKV [200]、RetNet [235],以及狀態(tài)空間模型 [91, 102, 103, 176] 等等。
模型壓縮:
- 知識蒸餾:這類方法以大型的教師模型為監(jiān)督,訓練一個小型的學生模型。大多數(shù)之前的方法都在探索白盒蒸餾 [106, 133, 214, 233, 255],需要訪問整個教師模型的參數(shù)。由于基于 API 的 LLM 服務(如 ChatGPT)的出現(xiàn),一些黑盒蒸餾模型吸引了很多關注 [238,59, 273, 201, 313],這些模型通常具有更少的模型參數(shù),與原始 LLMs(如 GPT-4 [195])相比,在各種下游任務上表現(xiàn)出了相當?shù)男阅堋?/li>
- 網(wǎng)絡剪枝:過去幾年中,網(wǎng)絡剪枝方法 [180, 215, 215] 已被廣泛研究,但并非所有方法都可以直接應用于 LLMs,需要考慮重新訓練可能帶來的過高計算成本,以及評估剪枝是否可以在底層系統(tǒng)實現(xiàn)上取得效率提升。大致上可以分為結(jié)構化剪枝 [80, 149, 174, 216, 172] 和半結(jié)構化稀疏化 [40, 87, 232, 251, 276] 等。
系統(tǒng)優(yōu)化
本節(jié)研究 LLM 推理系統(tǒng)優(yōu)化技術,以加速 LLM 推理,而不改變 LLM 計算語義。這一工作的目標是通過改進用于大型語言模型推理的底層系統(tǒng)和框架來提高系統(tǒng)效率,包括低比特量化、并行計算、內(nèi)存管理、請求調(diào)度、和內(nèi)核優(yōu)化等等,詳細內(nèi)容可以參見論文原文。
軟件框架
論文還對一些目前最先進的基于 GPU 的開源 LLM 推理系統(tǒng)進行了深入的分析,并從多個方面總結(jié)了它們在設計與實現(xiàn)傷的差異。
未來方向
- 專用硬件加速器的發(fā)展:生成型 LLM 服務效率的顯著提升可能在很大程度上依賴于專用硬件加速器的發(fā)展和提升,尤其是軟硬協(xié)同設計方法。例如,讓內(nèi)存單元更加接近處理單元,或是針對 LLM 算法數(shù)據(jù)流優(yōu)化芯片架構,這些硬件優(yōu)化可以在很大程度上為 LLM 推理在軟件層面帶來便利和機會。
- 高效有效的解碼算法:開發(fā)更高效的解碼算法可以顯著提高服務效率。受對實時應用更快生成速度的需求驅(qū)動,一個有前途的方向是廣義的投機式推理(generalized speculative inference),不僅會帶來顯著加速,同時保持相同的生成質(zhì)量。正如 SpecInfer 中所指出的,廣義的投機式推理中,用于生成草稿 token 的小模型可以被替換為任何快速的 token 生成方法,比如自定義函數(shù)、召回方法、甚至早停機制和非自回歸解碼等等。
- 長上下文 / 序列場景優(yōu)化:隨著應用場景變得更加復雜,處理更長的上下文或序列的需求不斷增長。服務長序列負載的 LLM 需要解決算法和系統(tǒng)兩方面的挑戰(zhàn)。在算法方面,它們依然面臨長度泛化失效問題,甚至可能出現(xiàn) “l(fā)oss in the middle” 的情況。目前的解法主要是通過召回增強、序列壓縮和緩存來盡可能縮短序列長度并保存相關信息。
- 探索替代基礎架構:盡管 Transformer 模型和自注意力機制目前主導著 LLM 領域,但探索替代架構是未來研究的一個有前景的方向。例如,一些最新研究探索了無注意力方法,使用純 MLP(多層感知機)架構來替代注意力機制,可能會改變目前 LLM 推理優(yōu)化的格局。
- 在復雜環(huán)境中的部署探索:隨著 LLM 應用的擴展,探索并優(yōu)化它們在各種復雜環(huán)境中的部署成為一個關鍵的未來方向。這一探索不僅限于傳統(tǒng)的基于云的部署,還包括邊緣計算、混合計算(cloud+edge)、去中心化計算以及廉價的可搶占資源等。
- 特定需求的自動適應:應用特定需求的多樣性創(chuàng)造了一系列創(chuàng)新的 LLM 服務優(yōu)化機會,例如模型微調(diào)(parameter-efficient fine-tuning)、向量數(shù)據(jù)庫檢索、多模態(tài)負載等等。這些獨特的挑戰(zhàn)也要求將 LLM 服務技術自動且順利地集成到現(xiàn)有 IT 基礎設施中,將優(yōu)化空間擴展到整個 LLM 生命周期。
總結(jié)
總的來說,該綜述不僅是對當前 LLM 服務優(yōu)化研究的全面概述,也為未來在這一領域的探索和發(fā)展指明了方向。通過深入了解這些先進的解決方案,研究者和實踐者可以更好地理解和應對在實際應用中部署大型語言模型時面臨的挑戰(zhàn)。