Transformers documentation

Salvar e compartilhar um modelo

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Salvar e compartilhar um modelo

Salvar um modelo após quantizá-lo durante o carregamento permite que você, e qualquer pessoa com quem você o compartilhar, pule a etapa de quantização na próxima vez. Os métodos de calibração, como GPTQ, se beneficiam mais, pois a calibração pode levar de minutos a horas.

Salvar o modelo

Chame save_pretrained() no modelo quantizado para gravar os pesos quantizados e adicionar o quantization_config ao config.json.

from transformers import AutoModelForCausalLM, BitsAndBytesConfig

quantization_config = BitsAndBytesConfig(load_in_4bit=True)
model = AutoModelForCausalLM.from_pretrained(
    "Qwen/Qwen3-0.6B",
    quantization_config=quantization_config,
    device_map="auto",
)
model.save_pretrained("Qwen3-0.6B-bnb-4bit")

Salve o tokenizer no mesmo diretório para que o checkpoint esteja completo.

Envie o modelo para o Hub

Chame push_to_hub() para enviar os pesos quantizados e a configuração para um repositório do Hub. Faça login com hf auth login primeiro.

model.push_to_hub("Qwen3-0.6B-bnb-4bit")

Carregue o modelo salvo

Carregue o checkpoint salvo com from_pretrained() e sem configuração de quantização. O Transformers lê o método do quantization_config em config.json e carrega os pesos já quantizados.

from transformers import AutoModelForCausalLM

model = AutoModelForCausalLM.from_pretrained("your-username/Qwen3-0.6B-bnb-4bit", device_map="auto")

A biblioteca do método deve estar instalada em qualquer local onde o checkpoint for carregado.

Métodos que não podem salvar

Alguns métodos não conseguem salvar seus pesos quantizados, e save_pretrained() levanta um ValueError para eles.

MétodoPor quê
GGUFOs pesos são carregados de um arquivo GGUF. Salve no formato GGUF usando as ferramentas do llama.cpp.
NVFP4O salvamento não é suportado. Quantize o modelo novamente ao carregá-lo.
QuantoO salvamento não é suportado por meio do Transformers.
QuarkO salvamento não é suportado por meio do Transformers.
AWQ com um backend ExLlamaO salvamento não é suportado com os backends ExLlama. Carregue o modelo com outro backend para salvá-lo.

Um modelo quantizado com um adaptador PEFT anexado é uma exceção. save_pretrained() salva apenas os pesos do adaptador, então funciona com qualquer método.

Para salvar um modelo em precisão completa, desquantize-o primeiro. Consulte Desquantizar um modelo.

Update on GitHub