vLLM與PagedAttention:全面概述

IcyFeather233發表於2024-07-09

翻譯自:https://medium.com/@abonia/vllm-and-pagedattention-a-comprehensive-overview-20046d8d0c61

簡單、快速且經濟的LLM服務

圖片2

vLLM是一個旨在提高大型語言模型(LLM)推理和服務效率與效能的庫。由UC Berkeley開發,vLLM引入了PagedAttention,這是一種新穎的注意力演算法,顯著最佳化了注意力鍵和值的記憶體管理。這一創新不僅提高了吞吐量,還實現了對傳入請求的持續批處理,使用CUDA/HIP圖快速執行模型,並支援包括並行取樣和束搜尋在內的多種解碼演算法。vLLM相容NVIDIA和AMD GPU,並與流行的Hugging Face模型無縫整合,使其成為開發者和研究人員的通用工具。

PagedAttention:關鍵技術

PagedAttention是vLLM效能提升的核心。它透過將KV快取劃分為塊,解決了LLM服務中記憶體管理的重大問題,允許在記憶體中非連續儲存鍵和值。這種方法不僅最佳化了記憶體使用,減少了高達96%的浪費,還實現了高效的記憶體共享,顯著降低了複雜取樣演算法的記憶體開銷。PagedAttention的記憶體管理策略受到作業系統中虛擬記憶體和分頁概念的啟發,提供了一種靈活且高效的方式來管理記憶體資源。

圖片3

vLLM系統概覽 — arxiv.2309.06180

vLLM的特性和能力

  • 高吞吐量和記憶體效率
    vLLM提供了最先進的服務吞吐量,使其成為需要高效能和低延遲應用的理想選擇。
  • 持續的請求批處理
    vLLM高效地管理傳入的請求,允許持續的批處理和處理。
  • 快速模型執行
    利用CUDA/HIP圖,vLLM確保模型的快速執行,提高LLM服務的整體效能。
  • 量化支援
    vLLM支援各種量化技術,包括GPTQ、AWQ、SqueezeLLM和FP8 KV快取,以進一步最佳化模型效能並減少記憶體佔用。
  • 最佳化的CUDA核心
    vLLM包括針對NVIDIA GPU的最佳化CUDA核心,以提高效能。
  • 張量並行性支援
    對於分散式推理,vLLM提供張量並行性支援,便於在多個GPU上實現可擴充套件和高效的模型服務。
  • 流式輸出
    vLLM支援流式輸出,允許實時處理和交付模型輸出。
  • 相容OpenAI的API伺服器
    vLLM可用於啟動相容OpenAI API的伺服器,使其易於與現有系統和工作流程整合。

相關文章