# 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](./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()](/docs/transformers/main/vi/main_classes/model#transformers.PreTrainedModel.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`.

```py
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()](/docs/transformers/main/vi/main_classes/model#transformers.utils.PushToHubMixin.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`.

```py
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()](/docs/transformers/main/vi/main_classes/model#transformers.PreTrainedModel.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.

```py
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()](/docs/transformers/main/vi/main_classes/model#transformers.PreTrainedModel.save_pretrained) sẽ gây ra `ValueError` cho chúng.

| Phương pháp | Tại sao |
|---|---|
| [GGUF](./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](https://github.com/ggml-org/llama.cpp) thay vì cách này. |
| [NVFP4](./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](./quanto) | Việc lưu không được hỗ trợ thông qua Transformers. |
| [Quark](./quark) | Việc lưu không được hỗ trợ thông qua Transformers. |
| [AWQ](./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](../peft) là một ngoại lệ. [save_pretrained()](/docs/transformers/main/vi/main_classes/model#transformers.PreTrainedModel.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](./dequantize).

