Transformers documentation
SGLang
SGLang
SGLang é um motor de inferência de baixa latência e alto throughput para modelos de linguagem grandes (LLMs). Ele também inclui uma linguagem de frontend para a construção de fluxos de trabalho agênticos.
Defina model_impl="transformers" para carregar um backend de modelagem do 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])Passe --model-impl transformers para o comando sglang.launch_server para o serviço online.
python3 -m sglang.launch_server \ --model-path meta-llama/Llama-3.2-1B-Instruct \ --model-impl transformers \ --host 0.0.0.0 \ --port 30000
Integração com Transformers
Definir model_impl="transformers" instrui o SGLang a ignorar o correspondimento nativo de modelos e usar diretamente o modelo do Transformers.
- PreTrainedConfig.from_pretrained() carrega o
config.jsondo modelo do Hub ou do seu cache do Hugging Face. - AutoModel.from_config() resolve a classe do modelo com base na configuração.
- Durante o carregamento,
_attn_implementationé definido como"sglang". Isso direciona as chamadas de atenção pelos kernels RadixAttention do SGLang. - A classe de linear paralelo do SGLang substitui as camadas lineares para suportar paralelismo de tensor.
- A função load_weights preenche o modelo com pesos a partir de arquivos safetensors.
O modelo se beneficia de todas as otimizações do SGLang, ao mesmo tempo em que utiliza a estrutura do modelo do Transformers.
Os modelos compatíveis exigem
_supports_attention_backend=Truepara que o SGLang possa controlar a execução da atenção. Consulte o guia Building a compatible model backend for inference para mais detalhes.
Recursos
- Documentação do SGLang tem mais exemplos de uso e dicas para usar o Transformers como backend.
- O post no blog Transformers backend integration in SGLang explica o que essa integração habilita.