# 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](../perf_torch_compile) funde esse trabalho em kernels otimizados e recupera grande parte da velocidade.

## Compilar automaticamente em generate

[generate()](/docs/transformers/main/pt/main_classes/text_generation#transformers.GenerationMixin.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](./compressed_tensors), [Fine-grained FP8](./finegrained_fp8), [GGUF](./gguf), [NVFP4](./nvfp4) e [torchao](./torchao)).
- O modelo usa um cache com tamanho fixo, como o [static cache](../kv_cache#fixed-size-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()](/docs/transformers/main/pt/main_classes/text_generation#transformers.GenerationMixin.generate). O exemplo abaixo usa a quantização int8 apenas de pesos do [torchao](./torchao).

```py
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()](/docs/transformers/main/pt/main_classes/text_generation#transformers.GenerationMixin.generate) para desativar a compilação automática.

