Home
Login

vllm 是一個快速且易於使用的庫,用於快速推論大型語言模型。

Apache-2.0Python 49.6kvllm-project Last Updated: 2025-06-14

vLLM:快速且易於使用的 LLM 推理與服務引擎

簡介:

vLLM 是一個用於大規模語言模型 (LLM) 推理與服務的高吞吐量和高效的 Python 庫。 它旨在簡化 LLM 的部署,並顯著提高推理速度,同時降低成本。 vLLM 專注於優化記憶體管理和調度,以實現卓越的效能。

核心特性:

  • PagedAttention: vLLM 的核心創新是 PagedAttention 演算法。 傳統的注意力機制需要為每個 token 儲存所有先前的 key 和 value,這導致了巨大的記憶體佔用,尤其是在長序列中。 PagedAttention 將注意力 key 和 value 分成頁面,類似於作業系統中的虛擬記憶體分頁。 這允許 vLLM 動態地管理和共享注意力記憶體,從而顯著減少記憶體浪費,並支持更長的序列和更大的批處理大小。

  • 連續批處理: vLLM 支持連續批處理,這意味著它可以動態地將來自不同請求的 token 組合為一個批次進行處理。 這最大限度地利用了 GPU 資源,並提高了吞吐量。

  • 高效的 CUDA 內核: vLLM 使用高度優化的 CUDA 內核來實現 PagedAttention 和其他操作。 這些內核經過精心設計,以充分利用 GPU 的並行處理能力。

  • 易於使用: vLLM 提供了一個簡單易用的 Python API,可以輕鬆地整合到現有的 LLM 應用程式中。 它還支持多種流行的 LLM 框架,如 Hugging Face Transformers。

  • 支持多種模型架構: vLLM 支持多種流行的 LLM 架構,包括:

    • Llama 2
    • Llama
    • Mistral
    • MPT
    • Falcon
    • GPT-2
    • GPT-J
    • GPTNeoX
    • 更多模型正在添加中。
  • 分散式推理: vLLM 支持分散式推理,允許您跨多個 GPU 擴展 LLM 推理。

  • Tensor 並行: 支持 Tensor 並行,進一步提升分散式推理的效能。

  • 流式輸出: vLLM 支持流式輸出,允許您在生成 token 時立即接收它們,而無需等待整個序列完成。

  • OpenAI API 兼容性: vLLM 提供與 OpenAI API 兼容的伺服器,方便從 OpenAI 遷移或整合。

主要優勢:

  • 更高的吞吐量: 與傳統的 LLM 推理方法相比,vLLM 可以顯著提高吞吐量,通常可以提高 10 倍甚至更多。
  • 更低的延遲: vLLM 可以降低延遲,從而提供更快的響應時間。
  • 更低的成本: 通過提高 GPU 利用率,vLLM 可以降低 LLM 推理的成本。
  • 支持更長的序列: PagedAttention 允許 vLLM 處理更長的序列,而不會耗盡記憶體。
  • 易於部署: vLLM 可以輕鬆地部署在各種環境中,包括雲伺服器、本地機器和邊緣設備。

安裝:

可以使用 pip 安裝 vLLM:

pip install vllm

快速入門:

以下是一個使用 vLLM 進行文本生成的簡單示例:

from vllm import LLM, SamplingParams

# 加載模型
llm = LLM(model="facebook/opt-125m")

# 定義採樣參數
sampling_params = SamplingParams(temperature=0.8, top_p=0.95, max_tokens=256)

# 生成文本
prompts = ["Hello, my name is", "The capital of France is"]
outputs = llm.generate(prompts, sampling_params)

# 打印輸出
for output in outputs:
    print(output.prompt)
    print(output.outputs[0].text)

用例:

vLLM 適用於各種 LLM 應用,包括:

  • 聊天機器人: 構建高性能的聊天機器人,可以處理複雜的對話。
  • 文本生成: 生成高品質的文本,用於各種目的,如內容創建、代碼生成和摘要。
  • 機器翻譯: 提供快速準確的機器翻譯服務。
  • 問答: 構建可以回答複雜問題的問答系統。
  • 代碼補全: 提供快速準確的代碼補全建議。

貢獻:

vLLM 是一個開源項目,歡迎社群貢獻。 您可以通過提交問題、提出功能請求或提交拉取請求來參與。

總結:

vLLM 是一個強大的 LLM 推理與服務引擎,它提供了卓越的效能、易用性和靈活性。 無論您是構建聊天機器人、生成文本還是執行其他 LLM 任務,vLLM 都可以幫助您提高效率並降低成本。 它的 PagedAttention 機制是其核心創新,使其能夠處理長序列並實現高吞吐量。 強烈建議您嘗試 vLLM,看看它如何改進您的 LLM 工作流程。

所有詳細資訊,請以官方網站公佈為準 (https://github.com/vllm-project/vllm)