Transformers documentation

Optimum Quanto

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

Optimum Quanto

Quanto es un backend de cuantización de PyTorch para Optimum. Ofrece cuantización lineal de pesos (float8, int8, int4, int2) con una precisión muy similar a la de los modelos de precisión completa. Quanto es compatible con cualquier modalidad de modelo y dispositivo, lo que lo hace fácil de usar independientemente del hardware.

Quanto también es compatible con torch.compile para una generación más rápida.

Instala Quanto con el siguiente comando.

pip install optimum-quanto accelerate transformers

Cuantice un modelo creando un QuantoConfig y especificando el parámetro weights para cuantizar. Esto funciona con cualquier modelo de cualquier modalidad, siempre que contenga capas torch.nn.Linear.

La integración de Transformers solo admite la cuantización de pesos. Utilice la librería Quanto directamente si necesita cuantización de activaciones, calibración o QAT.

from transformers import AutoModelForCausalLM, AutoTokenizer, QuantoConfig

quant_config = QuantoConfig(weights="int8")
model = transformers.AutoModelForCausalLM.from_pretrained(
    "meta-llama/Llama-3.1-8B", 
    dtype="auto", 
    device_map="auto", 
    quantization_config=quant_config
)

torch.compile

Envuelve un modelo Quanto con torch.compile para una generación más rápida.

import torch
from transformers import AutoModelForSpeechSeq2Seq, QuantoConfig

quant_config = QuantoConfig(weights="int8")
model = AutoModelForSpeechSeq2Seq.from_pretrained(
  "openai/whisper-large-v2",
  dtype="auto",
  device_map="auto",
  quantization_config=quant_config
)

model = torch.compile(model)

Recursos

Lee la publicación del blog Quanto: a PyTorch quantization backend for Optimum para conocer más sobre el diseño de la biblioteca y los resultados de las pruebas de rendimiento.

Para más ejemplos prácticos, echa un vistazo al cuaderno de Quanto.

Update on GitHub