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 é 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.

  1. PreTrainedConfig.from_pretrained() carrega o config.json do modelo do Hub ou do seu cache do Hugging Face.
  2. AutoModel.from_config() resolve a classe do modelo com base na configuração.
  3. Durante o carregamento, _attn_implementation é definido como "sglang". Isso direciona as chamadas de atenção pelos kernels RadixAttention do SGLang.
  4. A classe de linear paralelo do SGLang substitui as camadas lineares para suportar paralelismo de tensor.
  5. 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=True para 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

Update on GitHub