Transformers documentation

vLLM

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v5.22.1).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

vLLM

vLLMは、大規模なLLMのサービングに使用される高スループットの推論エンジンです。リクエストを継続的にバッチ処理し、PagedAttentionによってKVキャッシュのメモリをコンパクトに保ちます。

model_impl="transformers" を設定すると、Transformers のモデリングバックエンドを使用してモデルを読み込むことができます。

from vllm import LLM

llm = LLM(model="meta-llama/Llama-3.2-1B", model_impl="transformers")
print(llm.generate(["The capital of France is"]))

オンラインサービングでは、vllm serve コマンドに --model-impl transformers を渡します。

vllm serve meta-llama/Llama-3.2-1B \
    --task generate \
    --model-impl transformers

Transformers の統合

  1. AutoConfig.from_pretrained() は、Hub または Hugging Face のキャッシュからモデルの config.json を読み込みます。vLLM は architectures フィールドを内部のモデルレジストリと照合して、使用する vLLM のモデルクラスを決定します。
  2. モデルがレジストリに存在しない場合、vLLM は AutoModel.from_config() を呼び出して、Transformers のモデル実装を読み込みます。
  3. AutoTokenizer.from_pretrained() はトークナイザーのファイルを読み込みます。vLLM は推論時のオーバーヘッドを軽減するために、トークナイザーの内部状態の一部をキャッシュします。
  4. モデルの重みを、safetensors形式でHubからダウンロードします。

model_impl="transformers" を設定すると、vLLM のモデルレジストリをバイパスして Transformers から直接読み込みます。vLLM は Transformers のモデル構造を維持したまま、ほとんどのモデルモジュール(MoE、アテンション、線形層)を独自の最適化されたバージョンに置き換えます。

リソース

  • 使用例やヒントの詳細については、vLLM docsを参照してください。
  • Hugging Face への統合では、vLLM が Transformers とどのように統合されるかを説明しています。
Update on GitHub