Transformers documentation

Compilar un 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 un modelo

La cuantización ahorra memoria, pero descuantizar los pesos dentro de cada matmul puede hacer que la generación sea más lenta que en bf16. torch.compile fusiona ese trabajo en kernels optimizados y recupera gran parte de la velocidad.

Compilar automáticamente en generate

generate() compila automáticamente el paso hacia adelante del modelo cuando se cumplen todas estas condiciones.

Pase cache_implementation="static" a generate(). El ejemplo de abajo usa la cuantización int8 solo de pesos de 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))

Las primeras llamadas son lentas mientras el modelo se compila. Las llamadas posteriores con las mismas formas reutilizan los núcleos compilados.

Pasa disable_compile=True a generate() para desactivar la compilación automática.

Update on GitHub