Transformers documentation

Enregistrer et partager un modèle

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

Enregistrer et partager un modèle

Enregistrer un modèle après l’avoir quantifié lors du chargement permet à vous-même et à toute personne avec qui vous le partagez de passer outre l’étape de quantification lors des prochaines utilisations. Les méthodes de calibration telles que GPTQ en bénéficient le plus, car la calibration peut prendre de quelques minutes à plusieurs heures.

Enregistrer le modèle

Appel save_pretrained() sur le modèle quantifié pour écrire les poids quantifiés et ajouter quantization_config à 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")

Enregistrez le tokenizer dans le même répertoire afin que le point de contrôle soit complet.

Pousser le modèle vers le Hub

Appel de push_to_hub() pour téléverser les poids quantifiés et la configuration vers un dépôt du Hub. Connectez-vous d’abord avec hf auth login.

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

Charger le modèle enregistré

Chargez le point de contrôle enregistré avec from_pretrained() et sans configuration de quantification. Transformers lit la méthode depuis quantization_config dans config.json et charge les poids déjà quantifiés.

from transformers import AutoModelForCausalLM

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

La bibliothèque de la méthode doit être installée là où le point de contrôle est chargé.

Méthodes qui ne peuvent pas être enregistrées

Certaines méthodes ne peuvent pas enregistrer leurs poids quantifiés, et save_pretrained() lève une ValueError pour elles.

MéthodePourquoi
GGUFLes poids sont chargés depuis un fichier GGUF. Enregistrez plutôt au format GGUF à l'aide des outils llama.cpp.
NVFP4La sauvegarde n'est pas prise en charge. Requantisez le modèle lors de son chargement.
QuantoLa sauvegarde n'est pas prise en charge via Transformers.
QuarkLa sauvegarde n'est pas prise en charge via Transformers.
AWQ avec un backend ExLlamaLa sauvegarde n'est pas prise en charge avec les backends ExLlama. Chargez le modèle avec un autre backend pour le sauvegarder.

Un modèle quantifié auquel un adaptateur PEFT est attaché constitue une exception. save_pretrained() n'enregistre que les poids de l'adaptateur, ce qui fonctionne donc avec n'importe quelle méthode.

Pour enregistrer un modèle en pleine précision, il faut d'abord le déquantiser. Voir Déquantiser un modèle.

Update on GitHub