Transformers documentation

Сохранение и обмен моделью

You are viewing main version, which requires installation from source. If you'd like regular pip install, checkout the latest stable version (v5.22.1).
Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Сохранение и обмен моделью

Сохранение модели после её квантования при загрузке позволяет вам и всем, с кем вы её поделитесь, пропустить этап квантования в следующий раз. Методы калибровки, такие как GPTQ, выигрывают от этого больше всего, поскольку калибровка может занимать от нескольких минут до нескольких часов.

Сохранение модели

Вызовите save_pretrained() для квантованной модели, чтобы записать квантованные веса и добавить 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")

Сохраните токенизатор в ту же директорию, чтобы контрольная точка была полной.

Загрузите модель в Hub

Вызовите push_to_hub(), чтобы загрузить квантованные веса и конфигурацию в репозиторий на Hub. Сначала выполните вход с помощью hf auth login.

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

Загрузка сохранённой модели

Загрузите сохранённую контрольную точку с помощью from_pretrained() без конфигурации квантования. Transformers считывает метод из quantization_config в config.json и загружает веса уже в квантованном виде.

from transformers import AutoModelForCausalLM

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

Библиотека, используемая методом, должна быть установлена в том месте, где загружается контрольная точка.

Методы, которые не могут сохранить

Некоторые методы не могут сохранить свои квантованные веса, и для них save_pretrained() вызывает ValueError.

МетодПочему
GGUFВеса загружаются из файла GGUF. Сохраняйте в формате GGUF с помощью инструментов llama.cpp.
NVFP4Сохранение не поддерживается. При загрузке модели выполните её квантование заново.
QuantoСохранение не поддерживается через Transformers.
QuarkСохранение не поддерживается через Transformers.
AWQ с бэкендом ExLlamaСохранение не поддерживается в бэкендах ExLlama. Загрузите модель с другим бэкендом, чтобы сохранить её.

Квантованная модель с подключённым адаптером PEFT является исключением. save_pretrained() сохраняет только веса адаптера, поэтому работает с любым методом.

Чтобы сохранить модель в полной точности, сначала деквантуйте её. См. Деквантизация модели.

Update on GitHub