摘要
近年來,隨著 ChatGPT 等服務推動大語言模型(LLM)的快速普及,一批專門面向 LLM 推理的系統相繼涌現,如 vLLM、SGLang、Mooncake 和?DeepFlow。這些系統設計工作的核心動因是 LLM 請求處理過程中所特有的自回歸特性,該特性促使研究者提出多種新技術,以在應對高吞吐量與高并發負載的同時,兼顧推理性能與結果質量。盡管相關技術在文獻中已有廣泛討論,但尚未在完整推理系統的框架下進行系統性分析,現有系統之間也缺乏深入的對比與評估。
本綜述系統梳理了上述技術,內容涵蓋從請求處理所涉及的算子與算法出發,逐步延伸至模型優化與執行相關技術(包括算子內核設計、批處理機制與調度策略),最后探討內存管理方面的方法,例如分頁內存、淘汰與卸載策略、量化和緩存持久化。通過上述分析,我們指出這些技術在本質上依賴于負載預測、自適應機制與成本優化,以克服自回歸生成所帶來的挑戰,并實現系統設計目標。隨后,我們進一步探討了如何將這些技術組合構建單副本與多副本推理系統,其中包括資源解耦型推理系統(disaggregated inference systems),它們可實現更靈活的資源分配,以及可部署于共享硬件基礎設施上的無服務器系統(serverless systems)。最后,我們討論了該領域仍然面臨的若干關鍵挑戰。
1 引言
自從序列生成任務從循環神經網絡(RNN)轉向 Transformer 架構以來 [97],大語言模型(LLM)的質量已顯著提升,使其能夠勝任各類任務,包括通用交互式問答 [9]、文檔摘要與分類 [96]、語言翻譯 [27]、代碼生成 [16]、數據整理 [72] 以及非結構化數據分析 [100]。這一技術突破推動了 LLM 在工業界和消費市場的指數級增長,ChatGPT、Gemini、Claude、Grok、Kimi 和 DeepSeek 等服務的迅速普及也對高性能模型服務系統提出了更高要求。
為了滿足這一需求,研究者開發了專門的 LLM 推理系統,用于管理模型執行的各個方面。這不僅包括基本的 LLM 推理流程,還涵蓋系統層面的負載均衡、任務批處理、調度策略以及內存管理等,借鑒了早期高吞吐量、高速數據處理系統的設計經驗。然而,由于基于 Transformer 的 LLM 推理具有自回歸生成這一獨特特性,導致上述各方面均需采用新技術進行改造。
與傳統數據處理系統通過單次執行一系列算子完成請求處理不同,LLM 推理通常需要多輪執行,次數與輸出長度成正比。每個請求的輸入形式都是文本字符串,輸出長度則以非確定性的方式依賴于文本內容。由于用戶可以輸入任意內容,幾乎無法定義“典型”的輸出長度,因此請求處理成本(尤其是內存成本)在不同請求之間可能出現極大差異,即使它們的輸入表面上相似1。
這種輸出的根本非確定性為 LLM 推理系統帶來了三大關鍵挑戰:(1)盡管近期取得了顯著進展,但模型輸出的質量(即輸出是否滿足請求表達的任務目標)仍無法保證,因為其生成過程基于隨機采樣而非確定性數據構建;(2)執行輪數的不確定性使得每個請求的最終內存使用量難以預估,給多請求并發處理帶來分配難題;(3)同樣地,請求處理所需時間也不可預知,因此在設計批處理與調度策略時,必須考慮如何避免“拖后腿請求”(straggler)與“隊頭阻塞”(head-of-line blocking)等問題。
為應對上述挑戰,LLM 推理系統采用了一系列貫穿前端與運行時的技術策略,如圖 1 所示。為了提升推理質量,系統支持包括 beam search、思維樹(Tree-of-Thoughts)、思維圖(Graph-of-Thoughts)與自一致性(self-consistency)等多種序列生成方法(圖 1(c)),還結合多種提示工程技巧。同時,前端設計也趨于多樣化,以簡化用戶交互流程(圖 1(a)),支持如自動提示優化與受控輸出生成(圖 1(b))等功能,從而減輕提示設計與流程協調的負擔。
為了適應動態內存需求,推理系統使用基于頁的塊式內存分配策略,輔以緩存持久化與量化技術,以降低整體內存消耗(圖 1(g))。而面對動態請求生命周期,系統依賴基于負載預測機制的動態任務調度、動態批處理與靈活負載均衡策略(圖 1(d, e)),并通過專用算子與高效內核實現來降低總體推理成本(圖 1(f, h))。
本綜述將在一個完整推理系統的框架下系統性地討論這些技術。在第 2 節中,我們介紹實現高質量 LLM 推理所需的基本算子與序列生成算法;第 3 節聚焦批處理與調度技術,以及面向專用硬件的高效內核設計;第 4 節則討論內存管理策略,包括頁式內存、支持請求搶占與長上下文的淘汰與卸載機制、量化方法,以及緩存持久化與重建技術。隨后在第 5 節,我們探討如何將上述技術整合,構建當前主流的 LLM 推理系統,包括部署單個模型副本的系統與支持多副本請求調度的系統,后者特別適用于構建具備資源解耦能力的系統架構,可更靈活地進行硬件資源分配。
相關綜述工作
雖然已有一些綜述涵蓋文中提及的部分技術,但多數研究是在缺乏完整系統框架的前提下對這些技術進行孤立討論。例如,[47, 54, 116, 139] 涉及稀疏注意力、專家混合(MoE)、解碼策略、KV 緩存管理和量化技術等,但均未將其置于系統整體架構中加以討論。[55] 從 KV 緩存管理的角度對若干技術進行了分類總結。[15] 等則主要關注模型架構方面,如模型剪枝、知識蒸餾與量化等優化技術。[48] 更專注于提升推理質量的方法。因此,本文的獨特貢獻在于將這些技術系統化地整合進完整推理系統設計中,并探討它們在實際部署中的協同作用。