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.2).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

vLLM

vLLM est un moteur d’inférence à haut débit conçu pour servir des LLM à grande échelle. Il met en lot de manière continue les requêtes et maintient la mémoire du cache KV compacte grâce à PagedAttention.

Définissez model_impl="transformers" pour charger un modèle en utilisant le backend de modélisation 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"]))

Passez --model-impl transformers à la commande vllm serve pour le service en ligne.

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

Intégration de Transformers

  1. AutoConfig.from_pretrained() charge le config.json du modèle depuis le Hub ou votre cache Hugging Face. vLLM compare le champ architectures à son registre de modèles interne pour déterminer quelle classe de modèle vLLM utiliser.
  2. Si le modèle n’est pas dans le registre, vLLM appelle AutoModel.from_config() pour charger l’implémentation du modèle Transformers à la place.
  3. AutoTokenizer.from_pretrained() charge les fichiers du tokenizer. vLLM met en cache certains éléments internes du tokenizer afin de réduire la surcharge pendant l’inférence.
  4. Téléchargement des poids du modèle depuis le Hub au format safetensors.

Définir model_impl="transformers" contourne le registre de modèles vLLM et charge directement depuis Transformers. vLLM remplace la plupart des modules de modèle (MoE, attention, couches linéaires) par ses propres versions optimisées tout en conservant la structure du modèle Transformers.

Ressources

Update on GitHub