Transformers documentation

Compilar um modelo

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v5.22.2).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Compilar um modelo

A quantização economiza memória, mas a desquantização dos pesos dentro de cada matmul pode tornar a geração mais lenta do que em bf16. torch.compile funde esse trabalho em kernels otimizados e recupera grande parte da velocidade.

Compilar automaticamente em generate

generate() compila automaticamente a passagem direta do modelo quando todas essas condições são atendidas.

Passe cache_implementation="static" para generate(). O exemplo abaixo usa a quantização int8 apenas de pesos do torchao.

import torch
from torchao.quantization import Int8WeightOnlyConfig
from transformers import AutoModelForCausalLM, AutoTokenizer, TorchAoConfig

model_id = "Qwen/Qwen3-0.6B"
model = AutoModelForCausalLM.from_pretrained(
    model_id,
    quantization_config=TorchAoConfig(quant_type=Int8WeightOnlyConfig()),
    device_map="cuda",
)
tokenizer = AutoTokenizer.from_pretrained(model_id)

inputs = tokenizer("The capital of France is", return_tensors="pt").to(model.device)
outputs = model.generate(**inputs, max_new_tokens=32, cache_implementation="static")
print(tokenizer.decode(outputs[0], skip_special_tokens=True))

As primeiras chamadas são lentas enquanto o modelo é compilado. Chamadas posteriores com as mesmas formas reutilizam os kernels compilados.

Passe disable_compile=True para generate() para desativar a compilação automática.

Update on GitHub