Transformers documentation

vLLM

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

vLLM

vLLM é um motor de inferência de alto rendimento para servir LLMs em escala. Ele realiza o loteamento contínuo de solicitações e mantém a memória do cache KV compacta com PagedAttention.

Defina model_impl="transformers" para carregar um modelo usando o backend de modelagem do 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"]))

Passe --model-impl transformers para o comando vllm serve para servir online.

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

Integração com Transformers

  1. AutoConfig.from_pretrained() carrega o config.json do modelo do Hub ou do seu cache do Hugging Face. O vLLM verifica o campo architectures em relação ao seu registro interno de modelos para determinar qual classe de modelo do vLLM deve ser usada.
  2. Se o modelo não estiver no registro, o vLLM chama AutoModel.from_config() para carregar a implementação do modelo Transformers.
  3. AutoTokenizer.from_pretrained() carrega os arquivos do tokenizer. O vLLM faz cache de alguns elementos internos do tokenizer para reduzir a sobrecarga durante a inferência.
  4. Os pesos do modelo são baixados do Hub no formato safetensors.

Definir model_impl="transformers" ignora o registro de modelos do vLLM e carrega diretamente do Transformers. O vLLM substitui a maioria dos módulos de modelo (MoE, atenção, camadas lineares) por suas próprias versões otimizadas, mantendo a estrutura do modelo do Transformers.

Recursos

Update on GitHub