是的!FineTuneX 的量化功能完全支持对 LoRA 方法微调的模型进行量化。
examples/quantize_lora_model.py - 专门用于 LoRA 模型量化的脚本
python examples/quantize_lora_model.py \
--base_model Qwen/Qwen3.5-0.5B \
--lora_path ./outputs/qwen3.5-0.8b-finetuned \
--method awq \
--bits 4
LoRA 微调 → 合并 LoRA 权重 → 量化 → 部署
LoRA 微调的模型权重是分离的:
量化需要对完整权重操作,所以流程是:
python examples/quantize_lora_model.py \
--base_model Qwen/Qwen3.5-0.5B \
--lora_path ./outputs/qwen3.5-0.8b-finetuned \
--method awq \
--bits 4
# 步骤 1: 仅合并 LoRA 权重
python examples/quantize_lora_model.py \
--base_model Qwen/Qwen3.5-0.5B \
--lora_path ./outputs/qwen3.5-0.8b-finetuned \
--merge_only
# 步骤 2: 量化合并后的模型
python scripts/quantize_model.py \
--model_path ./outputs/qwen3.5-0.8b-merged \
--method awq \
--bits 4
import torch
from transformers import AutoModelForCausalLM, AutoTokenizer
from peft import PeftModel
from finetunex.quantization import quantize_model
# 1. 加载并合并
base_model = AutoModelForCausalLM.from_pretrained("Qwen/Qwen3.5-0.5B")
lora_model = PeftModel.from_pretrained(base_model, "./outputs/qwen3.5-0.8b-finetuned")
merged_model = lora_model.merge_and_unload()
merged_model.save_pretrained("./outputs/qwen3.5-0.8b-merged")
# 2. 量化
result = quantize_model(
model_path="./outputs/qwen3.5-0.8b-merged",
output_path="./outputs/qwen3.5-0.8b-awq",
method="awq",
bits=4,
)
| 阶段 | 大小 | 显存 | 说明 |
|---|---|---|---|
| LoRA 微调后 | 3.5 GB + 100MB | 7 GB | 基础模型 + LoRA |
| 合并后 | 3.5 GB | 7 GB | LoRA 权重合并 |
| AWQ 4bit | 1.1 GB | 3 GB | ✅ 推荐 |
| GPTQ 4bit | 1.0 GB | 2.5 GB | 高精度 |
| GGUF Q4_K_M | 1.1 GB | CPU | CPU 推理 |
| 方法 | 位数 | 大小 | 速度 | 精度 | 场景 |
|---|---|---|---|---|---|
| AWQ | 4bit | 小 | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | GPU 推理 ✅ |
| GPTQ | 4bit | 最小 | ⭐⭐⭐⭐ | ⭐⭐⭐⭐⭐ | GPU 推理 |
| GGUF | 4bit | 小 | ⭐⭐⭐ | ⭐⭐⭐⭐ | CPU 推理 |
推荐: AWQ 4bit - 最佳平衡
# 1. LoRA 微调
python examples/qwen3.5_0.8b_local_finetune.py
# 2. 量化(合并 + 量化)
python examples/quantize_lora_model.py \
--base_model Qwen/Qwen3.5-0.5B \
--lora_path ./outputs/qwen3.5-0.8b-finetuned \
--method awq \
--bits 4
# 3. 测试量化模型
python scripts/inference.py \
--model_path ./outputs/qwen3.5-0.8b-awq \
--interactive
A: 会有轻微影响(1-5% 精度损失),但通常值得。量化带来的显存和速度优势很大。
A: 不行。需要先合并 LoRA 权重到基础模型,然后才能量化。
A: 不会。合并是数学上的等价操作,不会丢失信息。
A: 不建议。应该在完整精度模型上微调,然后再量化。
A:
FineTuneX 完全支持 LoRA 模型量化:
quantize_lora_model.py使用示例:
python examples/quantize_lora_model.py \
--base_model Qwen/Qwen3.5-0.5B \
--lora_path ./outputs/qwen3.5-0.8b-finetuned \
--method awq
添加日期: 2026-03-30 版本: 0.1.0 状态: ✅ 完成并可用