Transformers documentation

Desquantizar 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

Desquantizar um modelo

Dequantizar converte pesos quantizados de volta para um dtype de maior precisão, como bf16. Desquantize um modelo para ajustá-lo completamente, para executá-lo em hardware que não é suportado pelos kernels do método, ou para convertê-lo para outro formato. O resultado usa a mesma quantidade de memória que um modelo não quantizado e não recupera a precisão perdida devido ao arredondamento.

Transformers realiza a desquantização de duas maneiras, dependendo do método.

MétodoComo desquantizar
bitsandbytes, HIGGSChame dequantize() após o carregamento.
compressed-tensors, FP8 de granulação fina, GGUF, Metal, MXFP4Passar dequantize=True na configuração do método ao carregar.

Outros métodos lançam um NotImplementedError a partir de dequantize().

Desquantizar após o carregamento

Chame dequantize() em um modelo carregado. Por padrão, ele usa o dtype em que o modelo foi carregado. Passe dtype para escolher outro.

import torch
from transformers import AutoModelForCausalLM, BitsAndBytesConfig

model = AutoModelForCausalLM.from_pretrained(
    "Qwen/Qwen3-0.6B",
    quantization_config=BitsAndBytesConfig(load_in_4bit=True),
    device_map="auto",
)
model = model.dequantize(dtype=torch.bfloat16)

dequantize() também remove o quantization_config, de modo que o save_pretrained() salva um checkpoint regular de precisão completa.

Desquantizar durante o carregamento

Pass dequantize=True para a config de um método que o suporte. Os pesos são desquantizados durante o carregamento, de modo que os kernels quantizados nunca são usados. O exemplo abaixo carrega os pesos MXFP4 do gpt-oss em bf16.

from transformers import AutoModelForCausalLM, Mxfp4Config

model = AutoModelForCausalLM.from_pretrained(
    "openai/gpt-oss-20b",
    quantization_config=Mxfp4Config(dequantize=True),
    device_map="auto",
)

Alguns métodos desquantizam automaticamente quando seus kernels não podem ser executados. GGUF, por exemplo, recorre à desquantização quando nenhum kernel suporta os tipos de quantização do arquivo.

Update on GitHub