为什么需要微调:Prompt 和 RAG 解决"指令理解"和"知识注入",微调解决"模型行为固化"——让模型稳定输出特定风格、格式或领域知识。
全量微调的问题:7B 模型需 ~64GB 显存(模型 16GB + 优化器 32GB + 梯度 16GB),每个微调变体生成一份完整副本,10 个客户 = 160GB 存储。
LoRA 核心原理:冻结原始权重 W,注入低秩矩阵 B·A,只训练 A 和 B。
W 维度 d×k,LoRA 秩 r(通常 8-64),训练参数从 d×k 降至 d×r + r×k
7B 模型可训练参数仅 0.17%(约 1300 万 vs 80 亿)
训练后 BA 可合并回 W,推理零额外开销
QLoRA:LoRA + 4bit 量化基座模型。NF4 量化 + 双量化 + 分页优化器,7B 模型在 12GB 显存即可微调(RTX 4090),达到全量微调 95-98% 质量,训练慢 20-30%。
关键超参
秩 r:8-64,起步用 16
Alpha:通常设 2×r(r=16→alpha=32)
Target modules:注意力层 q/k/v/o 必选,加 MLP 层提升质量但增参数
学习率:2e-4(比全量微调高,因只训练少量参数)
选型对比
方案 | 显存(7B) | 质量 | 适用场景 |
全量微调 | ~64GB | 100% | 企业级、资源充足 |
LoRA | ~16GB | 95-98% | 主流默认选择 |
QLoRA | ~12GB | 95-98% | 消费级 GPU |
何时用微调 vs RAG vs Prompt
需求 | 推荐方案 |
改变输出风格/格式 | 微调 |
注入领域知识 | RAG |
单次任务指令优化 | Prompt |
工具调用能力强化 | 微调 |
最新信息获取 | RAG |
经验:数据质量 > 数据数量;500 条高质量样本优于 5000 条低质量;合成数据需人工审核防幻觉注入。
