Fine tuning学习
本次学习不过多展开底层数学推导,重点放在大模型微调的概念与主流方法。
一、大模型微调的基础理论
1. LLM 训练的两个阶段
阶段一:预训练(Pre-training)
模型在大规模无标签数据上学习语言统计规律和通用知识,属于无监督学习过程。这个阶段得到的是通用“基座模型”。
阶段二:微调(Fine-tuning)
在特定任务或领域数据上继续训练,对参数进行有针对性的调整,使模型更适合具体应用场景。
2. 微调的本质
微调可以理解为对模型进行“专项训练”,让模型在特定领域更专业,例如:
- 情感分析
- 实体识别
- 文本分类
- 对话生成
3. 微调的作用
微调的核心价值是让通用模型具备更精细的任务能力,例如:
- 对接本地知识库后的检索与问答
- 领域化问答系统构建
- 风格、术语、输出格式的定向强化
并且模型可以多轮微调,逐步优化能力边界。
二、大模型微调的方法
1. 全量微调(Full Fine-tuning)
调整模型全部层和参数,通常效果上限高,但计算与显存成本也最高。
2. 参数高效微调(PEFT)
PEFT(Parameter-Efficient Fine-Tuning)通过只训练少量参数来适配新任务,核心优势是:
- 训练成本更低
- 显存压力更小
- 迁移速度更快
常见 PEFT 方法包括:LoRA、QLoRA、Adapter Tuning、Prefix Tuning、Prompt Tuning、P-Tuning、P-Tuning v2 等。
3. LoRA
LoRA(Low-Rank Adaptation)通过在目标权重旁路引入低秩矩阵更新项,实现“少参数微调”:
- 选定需微调的权重矩阵;
- 引入低秩矩阵 $A$ 和 $B$;
- 用 $AB$ 作为增量叠加到原权重上。
形式上可写为:$W’ = W + AB$。
优点:参数量小、训练高效、对原模型破坏小。
4. QLoRA
QLoRA 在 LoRA 的基础上引入量化技术,在保持较好效果的同时进一步降低显存占用,适合资源受限场景。
三、实践建议
- 先从小规模数据集验证流程,再扩大训练规模。
- 明确评估指标,避免“训练看起来在变好,业务指标却无提升”。
- 结合任务场景选择方法:资源足够可考虑全量微调,资源有限优先 PEFT。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 F1fk3r's Blog!
评论