Transformers documentation
Compilar um modelo
Comece agora
Classes base
Modelos
Pré-processadores
Inferência
Pipeline API
API de geração
Otimização
Conversar com modelos
Serving
Treinamento
Hardware
Quantização
Visão geralConceitos de quantizaçãoEscolha um método OptimumContribuir com um método de quantização
Tarefas comuns
Salvar e compartilhar um modeloMantenha os módulos em precisão totalDesquantizar um modeloAjuste fino de um modeloCompilar um modelo
Quantizar durante o carregamento
Carregar checkpoints pré-quantizados
Integrações com o ecossistema
Recursos
API
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).
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.
- O método de quantização suporta compilação (compressed-tensors, Fine-grained FP8, GGUF, NVFP4 e torchao).
- O modelo usa um cache com tamanho fixo, como o static cache.
- O modelo é executado em CUDA, XPU, Neuron ou TPU.
- Nenhuma parte do modelo é descarregada para a CPU ou para o disco.
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.