vllm-project/vllm

A high-throughput and memory-efficient inference and serving engine for LLMs

What it solves

vLLM 是為了讓大型語言模型 (LLM) 推論與服務變得快速、簡單且具備成本效益而設計的。它解決了注意力機制中 key 與 value 的記憶體管理瓶頸,這通常會限制 LLM 服務系統的吞吐量。

How it works

該函式庫使用了一種稱為 PagedAttention 的技術,能有效管理注意力機制中的 key-value (KV) cache 記憶體。它透過請求的連續批處理 (continuous batching)、分塊預填充 (chunked prefill) 以及前綴快取 (prefix caching) 進一步優化效能。為了最大化硬體利用率,它採用了優化的注意力機制核心 (如 FlashAttention) 並支援多種量化方法 (FP8, INT8, INT4, 等) 以及分散式推論技術 (tensor, pipeline, and expert parallelism)。

Who it’s for

需要以高吞吐量和低延遲大規模部署 LLM 的開發者與研究人員,支援多種硬體 (NVIDIA, AMD, Intel GPUs, 和 CPUs) 以及超過 200 種 Hugging Face 模型架構。

Highlights

  • High Throughput: 使用 PagedAttention 和 continuous batching 的尖端服務吞吐量。
  • Broad Model Support: 支援 200+ 種架構,包括 decoder-only, Mixture-of-Experts (MoE), multi-modal, 和 embedding 模型。
  • Hardware Flexibility: 相容於 NVIDIA, AMD, 和 Intel GPUs, 以及 x86/ARM/PowerPC CPUs 和各種 NPUs/TPUs。
  • API Compatibility: 提供 OpenAI-compatible API server, 以及 Anthropic Messages API 和 gRPC 支援。
  • Advanced Decoding: 包含 speculative decoding 以及使用 xgrammar 或 guidance 的結構化輸出支援。"},