Transformers documentation
Lưu và chia sẻ một mô hình
Lưu và chia sẻ một mô hình
Việc lưu mô hình sau khi lượng tử hóa trong quá trình tải cho phép bạn và bất kỳ ai bạn chia sẻ mô hình với bỏ qua bước lượng tử hóa vào lần sau. Các phương pháp hiệu chuẩn như GPTQ được hưởng lợi nhiều nhất vì quá trình hiệu chuẩn có thể mất từ vài phút đến vài giờ.
Lưu mô hình
Gọi save_pretrained() trên mô hình đã lượng tử hóa để ghi các trọng số đã lượng tử hóa và thêm quantization_config vào 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")Lưu tokenizer vào cùng thư mục để điểm kiểm tra hoàn chỉnh.
Đẩy mô hình lên Hub
Gọi push_to_hub() để tải trọng số đã lượng tử hóa và cấu hình lên kho Hub. Trước tiên, đăng nhập bằng hf auth login.
model.push_to_hub("Qwen3-0.6B-bnb-4bit")Tải mô hình đã lưu
Tải checkpoint đã lưu bằng from_pretrained() và không có cấu hình lượng tử hóa. Transformers đọc phương pháp từ quantization_config trong config.json và tải các trọng số đã được lượng tử hóa.
from transformers import AutoModelForCausalLM
model = AutoModelForCausalLM.from_pretrained("your-username/Qwen3-0.6B-bnb-4bit", device_map="auto")Thư viện của phương thức phải được cài đặt ở bất kỳ nơi nào checkpoint được tải.
Các phương thức không thể lưu
Một số phương thức không thể lưu trọng lượng đã lượng tử hóa, và save_pretrained() sẽ gây ra ValueError cho chúng.
| Phương pháp | Tại sao |
|---|---|
| GGUF | Tải trọng số từ tệp GGUF. Hãy lưu ở định dạng GGUF bằng các công cụ của llama.cpp thay vì cách này. |
| NVFP4 | Chức năng lưu không được hỗ trợ. Hãy lượng tử hóa lại mô hình khi bạn tải nó lên. |
| Quanto | Việc lưu không được hỗ trợ thông qua Transformers. |
| Quark | Việc lưu không được hỗ trợ thông qua Transformers. |
| AWQ với backend ExLlama | Việc lưu không được hỗ trợ với các backend ExLlama. Hãy tải mô hình bằng một backend khác để lưu nó. |
Một mô hình đã lượng tử hóa có gắn adapter PEFT là một ngoại lệ. save_pretrained() chỉ lưu trọng số của adapter, nên nó hoạt động với bất kỳ phương pháp nào.
Để lưu mô hình ở độ chính xác đầy đủ, hãy khử lượng tử hóa nó trước. Xem Khử lượng tử hóa một mô hình.
Update on GitHub