Transformers documentation

SGLang

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

SGLang

SGLang est un moteur d’inférence à faible latence et à haut débit pour les grands modèles de langage (LLM). Il inclut également un langage frontend pour la création de workflows agentiques.

Définissez model_impl="transformers" pour charger un backend de modélisation Transformers.

import sglang as sgl

llm = sgl.Engine("meta-llama/Llama-3.2-1B-Instruct", model_impl="transformers")
print(llm.generate(["The capital of France is"], {"max_new_tokens": 20})[0])

Passez --model-impl transformers à la commande sglang.launch_server pour le service en ligne.

python3 -m sglang.launch_server \
  --model-path meta-llama/Llama-3.2-1B-Instruct \
  --model-impl transformers \
  --host 0.0.0.0 \
  --port 30000

Intégration de Transformers

Définir model_impl="transformers" indique à SGLang d’ignorer sa correspondance de modèles native et d’utiliser directement le modèle Transformers.

  1. PreTrainedConfig.from_pretrained() charge le config.json du modèle depuis le Hub ou votre cache Hugging Face.
  2. AutoModel.from_config() résout la classe de modèle en fonction de la configuration.
  3. Lors du chargement, _attn_implementation est défini sur "sglang". Cela achemine les appels d’attention à travers les noyaux RadixAttention de SGLang.
  4. La classe de parallélisme linéaire de SGLang remplace les couches linéaires pour prendre en charge le parallélisme de tenseurs.
  5. La fonction load_weights charge les poids du modèle à partir des fichiers safetensors.

Le modèle bénéficie de toutes les optimisations SGLang tout en utilisant la structure de modèle Transformers.

Les modèles compatibles doivent définir _supports_attention_backend=True afin que SGLang puisse contrôler l’exécution de l’attention. Consultez le guide Créer un backend de modèle compatible pour l’inférence pour plus de détails.

Ressources

Update on GitHub