Transformers documentation
SGLang
SGLang
SGLang es un motor de inferencia de baja latencia y alto rendimiento para modelos de lenguaje grandes (LLM). También incluye un lenguaje de frontend para crear flujos de trabajo agénticos.
Establezca model_impl="transformers" para cargar un backend de modelado de 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])Pase --model-impl transformers al comando sglang.launch_server para la ejecución en línea.
python3 -m sglang.launch_server \ --model-path meta-llama/Llama-3.2-1B-Instruct \ --model-impl transformers \ --host 0.0.0.0 \ --port 30000
Integración con Transformers
Establecer model_impl="transformers" indica a SGLang que omita su correspondencia de modelos nativa y utilice directamente el modelo de Transformers.
- PreTrainedConfig.from_pretrained() carga el
config.jsondel modelo desde el Hub o desde tu caché de Hugging Face. - AutoModel.from_config() resuelve la clase del modelo en función de la configuración.
- Durante la carga,
_attn_implementationse establece en"sglang". Esto enruta las llamadas de atención a través de los kernels RadixAttention de SGLang. - La clase de lineales paralelos de SGLang reemplaza las capas lineales para admitir la paralelización de tensores.
- La función load_weights carga los pesos del modelo desde archivos safetensors.
El modelo se beneficia de todas las optimizaciones de SGLang mientras utiliza la estructura del modelo de Transformers.
Los modelos compatibles requieren
_supports_attention_backend=Truepara que SGLang pueda controlar la ejecución de la atención. Consulte la guía Building a compatible model backend for inference para obtener más detalles.
Recursos
- Documentación de SGLang tiene más ejemplos de uso y consejos para usar Transformers como backend.
- La publicación de blog Transformers backend integration in SGLang explica lo que permite esta integración.