大型語言模型(LLM)雖然能力強大,但其「推理」(Inference)階段,也就是實際生成內容、提供服務的過程極度消耗 GPU 資源,驅動這一切的龐大算力成本,正成為所有開發者與企業的巨大挑戰。
為了解決這個問題,加州大學柏克萊分校推出的開源專案 vLLM 迅速席捲了整個 AI 開發社群。它不是新的語言模型,而是一個專注於「優化」LLM 推理效能的引擎。數據顯示,vLLM 能將推理吞吐量(也就是單位時間內能處理的請求數量)提升高達 24 倍。這代表著,用同樣一張 GPU,你可以服務更多的使用者,同時大幅降低延遲與成本。
vLLM 高效能的四大支柱
PagedAttention:借鏡分頁技術
要理解 PagedAttention,我們得先知道 LLM 推理中最佔用記憶體的東西是什麼:KV 快取(Key-Value Cache)。模型在生成每個字時,都需要回顧前面已經生成過的內容,這些歷史資訊就儲存在 KV 快取中。傳統的方法是,系統會為每個使用者的請求,預先分配一塊「連續且完整」的記憶體空間,以存放可能產生的最長內容。這種做法非常浪費。就像是為了一位只住一晚的客人,卻直接包下一整層旅館,不管他實際用了多少房間。這導致了大量的記憶體碎片化,根據研究,浪費率可能高達 60% 至 80%。
vLLM 的 PagedAttention 則聰明得多。它借鏡了管理電腦記憶體的「分頁(Paging)」技術。它不再要求記憶體必須連續,而是將 KV 快取切分成許多個固定大小的「區塊(Block)」。當模型需要更多記憶體來生成新內容時,系統就動態地分配一個新的區塊給它,並透過一張「區塊表」來記錄這些分散的區塊。
這就像旅館櫃檯不再一次給一整層樓的鑰匙,而是客人需要時,一次給一個房間的鑰匙,並在登記簿上註記。這種作法帶來了驚人的好處:
- 極致的記憶體效率:PagedAttention 將記憶體浪費率降到 4% 以下。
- 更大的處理容量:省下來的記憶體,意味著同一張 GPU 可以同時處理更多、更長的用戶請求,直接提升了服務的吞吐量。
- 高效的資源共享:當多個請求有相同的前綴(例如,都從同一個問題開始生成不同答案),PagedAttention 可以讓這些請求共享同一份 KV 快取,避免重複儲存。
Continuous Batching:讓 GPU 避免空轉
有了高效的記憶體管理,下一步就是優化請求的排程。傳統的「靜態批次處理(Static Batching)」做法是,等湊齊一定數量的請求後,再打包成一個批次(Batch)送進 GPU 處理。這個批次必須等到裡面「最慢的那個請求」處理完畢,才能結束。
這就像公車一樣,必須等到所有預計上車的乘客都到了,而且還要等最晚下車的乘客離開後,司機才能發動下一班車。在等待過程中,GPU 這位昂貴的司機,很多時候都在閒置空轉。
vLLM 導入了「連續批次處理(Continuous Batching)」。系統不再等待批次湊滿,而是像一條流暢的生產線,請求隨到隨處理。它會以「迭代」為單位進行調度,一旦批次中有任何一個請求完成了,系統會立刻從等待佇列中,抓一個新的請求遞補進來,讓 GPU 幾乎沒有任何空閒時間。
量化 (Quantization):小記憶體也能跑大模型
量化是一種對模型進行「瘦身」的技術。一般來說,LLM 的參數(權重)都是用 32 位元或 16 位元的浮點數儲存,精度很高,但也很佔空間。量化技術就是用更低精度的數據類型(如 8 位元整數 INT8,甚至 4 位元 INT4)來表示這些參數。
這好比將一張超高解析度的 RAW 檔照片,壓縮成一張高品質的 JPG。檔案變小了,載入和處理速度都變快了,而對大多數人來說,畫質的損失幾乎難以察覺。
vLLM 整合了多種業界頂尖的量化演算法,例如 AWQ和 GPTQ 等。這些方法能夠在降低記憶體佔用的同時,最大程度地保持模型的準確性。在現代 GPU上,使用低精度格式進行運算,速度可以是 16 位元浮點數的兩倍,直接帶來推理速度的提升。
自訂 CUDA 核心:釋放 GPU 完整潛力
vLLM 並不滿足於僅使用 PyTorch 這類高階框架提供的標準函式。它在許多關鍵運算上,例如注意力機制,都採用了自訂的 CUDA 核心(Kernel)。
vLLM 透過自訂 CUDA 核心,可以做到:
- 運算融合:將多個獨立的計算步驟(例如矩陣乘法和激活函數)合併成一個單一的核心來執行,大幅減少資料在 GPU 記憶體中的來回搬運,這通常是效能的主要瓶頸。
- 硬體最佳化:針對特定 GPU 架構(如 H100 的 Tensor Cores)進行深度調優,確保演算法能完全利用硬體的特性。
- 整合頂尖函式庫:vLLM 也整合了像 FlashAttention 這樣由社群開發、公認高效的注意力演算法。
這四項技術相輔相成,PagedAttention 解決了「空間」問題,Continuous Batching 解決了「時間」問題,量化降低了整體的資源門檻,而自訂 CUDA 核心則是將硬體效能發揮到極限的最後一哩路。
TN科技筆記的觀點
vLLM 精準呼應當前 AI 產業的核心焦慮:推理成本。我們會發現整個產業的重心,正在從「如何訓練出最強大的模型」,悄悄轉移到「如何用最低的成本提供服務」。
最近一個具有指標性的事件,是特斯拉(TESLA)傳出解散其 Dojo 超級電腦團隊部分成員的消息。Dojo 曾是特斯拉挑戰 NVIDIA、企圖自研 AI 訓練晶片的展現。然而,連特斯拉這樣擁有龐大資源的巨頭,最終似乎也選擇了在訓練端「擁抱 NVIDIA」,將更多資源投入應用:
1. 訓練 vs. 推理
AI 模型的生命週期可粗分為「訓練(Training)」和「推理(Inference)」兩個階段。
- 訓練:這是一個資本高度密集的戰場,它需要一次性投入巨額資金,購買數千甚至數萬張頂級 GPU。在這場競賽中,NVIDIA 憑藉其 CUDA 生態系建立了難以撼動的護城河。對絕大多數公司而言,從零開始自研訓練晶片,試圖挑戰 NVIDIA,是一場勝算極低的戰爭。特斯拉的案例,正說明了這條路的艱辛。
- 推理:推理成本就是營運成本,與你的用戶數量、服務頻率直接掛鉤。你的 AI 應用越成功,使用者越多,推理成本就越高,如同滾雪球般持續累積。這正是所有 AI 服務提供商最頭痛的地方。如何在不犧牲使用者體驗的前提下,瘋狂降低每一次服務的單位成本,成為能否存活下去的關鍵。
- 誰能定義「效率」,誰就掌握未來
當訓練端的領導地位暫時由 NVIDIA 擔任時,AI 產業的下一個主要戰場,必然是圍繞「推理效率」展開。這場戰爭將在多個層次上同時開打:
- 軟體層:以 vLLM 等不同軟體或套件的開源推理引擎,將持續透過演算法優化,定義效率的標準。
- 模型層:模型小型化、專家模型混合(MoE)、更高效的模型架構,將成為學術界和業界的研究熱點,例如近期 Google 推出的 Gemma 3 270M。
- 硬體層:晶片設計將更側重於推理加速。或許將會看到更多專為低精度運算(如 INT8/INT4)和低功耗設計的推理晶片(ASIC)出現,挑戰 GPU 在推理市場的地位。
在這個時代,單純擁有一個強大的模型已不足為奇,能否建立一套兼具成本效益與規模化能力的推理基礎設施,才是決定勝負的關鍵。
支持TN科技筆記,與科技共同前行
我是TN科技筆記,如果喜歡這篇文章,歡迎留言、點選愛心、轉發給我支持鼓勵~~~也歡迎每個月請我喝杯咖啡,鼓勵我撰寫更多科技文章,一起跟著科技浪潮前進!!>>>>> 請我喝一杯咖啡
在此也感謝每個月持續請我喝杯咖啡的讀者們,讓我更加有動力為各位帶來科技新知!
vllm-project: https://github.com/vllm-project/vllm