vllm: 它是什么、解決什麼問題以及為什麼它正受到關注

vllm: 它是什么、解決什麼問題以及為什麼它正受到關注

解決什麼問題

vLLM 旨在讓大型語言模型 (LLM) 的推論與服務變得快速、簡單且具備成本效益。它解決了大規模部署 LLM 時,記憶體管理與吞吐量方面的瓶頸問題。

如何運作

vLLM 使用了一種稱為 PagedAttention 的技術,能有效率地管理注意力機制中的 key 與 value 記憶體。它還採用了對傳入請求的連續批處理 (continuous batching)、分塊預填充 (chunked prefill) 以及前綴快取 (prefix caching) 來最大化吞吐量。為了提升效能,它利用了優化的注意力機制核心 (如 FlashAttention) 並支援多種量化方法 (例如 FP8, INT8, 和 AWQ) 以減少記憶體佔用並提升速度。

對象是誰

它適用於需要以高吞吐量和低延遲部署 LLM 的開發者與研究人員,並支援廣泛的硬體,包括 NVIDIA 和 AMD GPU,以及各種 CPU 和專用的 NPU/TPU。

重點摘要

  • 高吞吐量:透過連續批處理與優化的核心,提供最先進的服務吞吐量。
  • 廣泛的模型支援:無縫支援超過 200 種 Hugging Face 模型架構,包括 decoder-only、MoE 以及多模態模型。
  • 靈活的 API:提供與 OpenAI 相容的 API 伺服器,並支援 Anthropic Messages API 與 gRPC。
  • 硬體無關性:可在 NVIDIA GPU、AMD GPU、x86/ARM/PowerPC CPU 上運作,並提供 Google TPU、Intel Gaudi 等插件。
  • 進階解碼:支援投機解碼 (speculative decoding)、平行採樣 (parallel sampling) 以及束搜尋 (beam search)。

Sources