一個開源的 LLM 服務引擎,透過 PagedAttention 和連續批次處理實現高吞吐量。vLLM 處理 GPU 記憶體管理、請求排程和 KV 快取最佳化的複雜工程,提供 OpenAI 相容的 API,使自託管開放模型(Llama、Mistral、Qwen)在生產環境中變得容易。
vLLM 是最受歡迎的開源 LLM 服務解決方案。如果你自託管開放模型,你很可能正在使用 vLLM(或應該使用)。其 PagedAttention 創新相比簡單實作將服務吞吐量提高了 2–24 倍。它是使開放模型在生產中可用的基礎設施層。
vLLM(Kwon 等人,加州大學柏克萊分校,2023 年)將 PagedAttention 引入 LLM 服務。除了 PagedAttention 之外,vLLM 還實作了:連續批次處理(在不等待的情況下向正在執行的批次新增新請求)、前綴快取(為共同的提示前綴共享 KV 快取)、張量平行(將模型分佈在多個 GPU 上)、以及推測性解碼(使用草稿模型加速生成)。這些最佳化相互組合,提供了乘法式的加速。
使用 vLLM 部署模型很簡單:vllm serve meta-llama/Llama-3-70B --tensor-parallel-size 4 在 4 個 GPU 上啟動一個 OpenAI 相容的伺服器。應用程式透過更改基礎 URL 使用任何 OpenAI SDK 連接。這種隨插即用的相容性意味著你可以使用 OpenAI 的 API 進行原型設計,然後在不更改應用程式程式碼的情況下切換到自託管的 vLLM — 只需更改端點。
TGI(Hugging Face)提供類似功能,與 Hugging Face 生態系統整合更緊密。TensorRT-LLM(NVIDIA)使用自訂 CUDA 核心以獲得最大的單 GPU 效能,但需要 NVIDIA 硬體。SGLang(Berkeley)專注於結構化生成和複雜的提示模式。對於大多數自託管場景,vLLM 因其效能、廣泛的模型支援和活躍的社群而成為預設選擇。對於特別在 NVIDIA 硬體上追求最大吞吐量,TensorRT-LLM 可能略勝一籌。