GitHub Trending ★ 117 3 min

vllm-project/vllm

Python

🔗 https://github.com/vllm-project/vllm

📌 vLLM:讓 LLM 推論更快、更便宜的高效服務框架

TL;DR:透過 PagedAttention 與連續批處理技術,vLLM 顯著提升 LLM 推論吞吐量並降低記憶體成本。

部署 LLM 時,最大的痛點往往在於記憶體管理低效與吞吐量不足,導致伺服器成本高昂且回應緩慢。vLLM 正是為瞭解決這些問題而生,旨在讓 LLM 的服務變得「簡單、快速且廉價」。

🧩 以 PagedAttention 為核心的記憶體管理

vLLM 最初由 UC Berkeley 的 Sky Computing Lab 開發,其核心突破在於匯入了 PagedAttention 技術。該技術能高效管理 attention 的 key 與 value 記憶體,減少碎片化,從而提升推論效能。

🧩 多重最佳化提升吞吐量與執行速度

為了達到極致的服務效能,vLLM 整合了多項進階技術:

  • 請求處理:支援 Continuous batching(連續批處理)、chunked prefill 以及 prefix caching,讓大量請求能更流暢地進入推論管線。
  • 執行加速:利用 piecewise 與 full CUDA/HIP graphs 提升模型執行靈活性與速度。
  • 核心最佳化:整合 FlashAttention、FlashInfer、TRTLLM-GEN、FlashMLA 與 Triton 等最佳化過的 attention kernels,並使用 CUTLASS、CuTeDSL 等最佳化 GEMM/MoE kernels。
  • 推論策略:支援 speculative decoding(投機取樣),包含 n-gram、suffix、EAGLE 與 DFlash 等方案。
  • 系統架構:支援 disaggregated prefill, decode, and encode,將不同階段的運算解耦。

📊 極其廣泛的量化與模型相容性

vLLM 提供高度的靈活性,讓開發者能根據硬體資源選擇合適的量化方案:

  • 支援多種量化格式:包含 FP8、MXFP8/MXFP4、NVFP4、INT8、INT4,以及 GPTQ/AWQ、GGUF、compressed-tensors、ModelOpt 與 TorchAO。
  • 生態系整合:與 Hugging Face 模型無縫整合,讓使用者能快速部署熱門模型。
  • 自動化最佳化:利用 torch.compile 實現自動化 kernel 生成與圖級轉換(graph-level transformations)。

🎯 實務啟示

對於需要部署 LLM 的工程師來說,vLLM 提供了一個從「量化選擇」到「執行最佳化」的完整工具鏈。如果你面臨記憶體不足或吞吐量低的問題,優先嘗試 vLLM 的 PagedAttention 與量化選項,能有效在不犧牲太多精準度的情況下,降低伺服器成本並提升使用者體驗。

🔗 來源

#vLLM #LLM #Inference #PagedAttention #CUDA #ModelServing #Quantization #OpenSource #MachineLearning #DeepLearning

google/gemma-4-31b-it:free 自動生成