8.1 导出格式一览
- LoRA adapter
- 只保存训练出的 LoRA 增量(几十 MB),推理时需搭配原基础模型。体积小、便于多任务切换。
- merged 16bit
- 把 LoRA 合并回原权重,产出完整的 16bit 模型。可直接被 vLLM/TGI/transformers 加载。
- merged 4bit
- 合并后再 4bit 量化的完整模型,体积更小,适合显存受限的部署。
- GGUF
- llama.cpp 生态的量化格式,CPU/Mac/边缘设备友好,Ollama 直接用。含 q4_k_m/q8_0 等量化等级。
- vLLM 格式
- 即标准的 merged 16bit(或 AWQ 量化),供 vLLM 高吞吐推理服务加载。
- quantization method(量化方法)
- GGUF 的量化等级,如
q4_k_m(4bit,均衡)、q5_k_m、q8_0(8bit,高质量),越低越小但略损精度。 - HuggingFace Hub
- 模型托管平台。
push_to_hub可把 adapter 或完整模型上传分享/部署。 - safetensors
- 安全高效的权重存储格式,Unsloth 保存 16bit 模型默认用它,加载快且无反序列化风险。
8.2 保存 LoRA adapter(最常用)
# 本地保存 adapter(体积小)
model.save_pretrained("lora_model")
tokenizer.save_pretrained("lora_model")
# 之后重新加载 adapter 用于推理
from unsloth import FastLanguageModel
model, tokenizer = FastLanguageModel.from_pretrained(
model_name = "lora_model", # 会自动带上原基础模型
max_seq_length = 2048,
load_in_4bit = True,
)
8.3 合并为完整模型
# 合并成 16bit 完整模型(vLLM / transformers 可用)
model.save_pretrained_merged("merged_16bit", tokenizer,
save_method="merged_16bit")
# 合并成 4bit 完整模型(更小)
model.save_pretrained_merged("merged_4bit", tokenizer,
save_method="merged_4bit")
8.4 导出 GGUF(给 llama.cpp / Ollama)
一行导出并量化成 GGUF,可指定量化等级:
# 导出单个量化等级
model.save_pretrained_gguf("gguf_model", tokenizer,
quantization_method="q4_k_m")
# 一次导出多个等级
model.save_pretrained_gguf("gguf_model", tokenizer,
quantization_method=["q4_k_m", "q8_0"])
| 量化等级 | 相对大小 | 适用场景 |
|---|---|---|
| q4_k_m | 最小 | 本地/边缘部署,均衡首选 |
| q5_k_m | 中 | 质量略高于 q4 |
| q8_0 | 较大 | 接近无损,服务器可用 |
| f16 | 最大 | 不量化,最高质量 |
8.5 推送到 HuggingFace Hub
# 推送 adapter
model.push_to_hub("your-name/qwen-cs-lora", token="hf_...")
tokenizer.push_to_hub("your-name/qwen-cs-lora", token="hf_...")
# 推送合并后的完整模型 / GGUF
model.push_to_hub_merged("your-name/qwen-cs-16bit",
tokenizer, save_method="merged_16bit", token="hf_...")
model.push_to_hub_gguf("your-name/qwen-cs-gguf",
tokenizer, quantization_method="q4_k_m", token="hf_...")
选哪种导出
本地/Ollama 跑 → GGUF;生产高并发 API → merged 16bit + vLLM;只想分享、让别人搭原模型用 → LoRA adapter。
GGUF 导出需要编译 llama.cpp
首次导出 GGUF,Unsloth 会自动拉取并编译 llama.cpp,需要一些时间和网络。Colab 上一般顺畅;本地若失败,检查 cmake/编译工具链是否齐全。
8.6 小结与下一步
- 四种产物:LoRA adapter(小)、merged 16bit/4bit(完整)、GGUF(本地)、vLLM(服务)。
save_pretrained存 adapter,save_pretrained_merged合并,save_pretrained_gguf出 GGUF。- GGUF 量化等级 q4_k_m 是本地部署的均衡首选;
push_to_hub_*一键上传。 - 下一章进阶:DPO 偏好对齐、继续预训练、视觉模型微调。