提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
目录
1.1. 全参微调(Full Parameter Fine-Tuning,FPFT)
1.2. 低参微调(Parameter Efficient Fine-Tuning,PEFT)
2.1. 上下文学习(In-Context learning,ICL)
2.2. 有监督微调(Supervised Fine-Tuning,SFT)
2.3. 基于人类反馈的强化学习(Reinforcement,RLHF)
3.1. 有监督微调(Supervised Fine-Tuning,SFT)
3.2. 指令微调(Instruction Tuning,IT)
前言
图1. 大模型微调技术分类
一、微调分类
1. 按微调参数规模划分
1.1. 全参微调(Full Parameter Fine-Tuning,FPFT)
用预训练权重作为初始化权重,在特定数据集上继续训练,全部参数都更新。
1.2. 低参微调(Parameter Efficient Fine-Tuning,PEFT)
用更少的计算资源完成参数的更新,只更新部分参数,或者通过对参数进行某种结构化约束,例如稀疏化或低秩近似解来降低微调的参数量。最小化微调网络模型中的参数数量和降低计算复杂度来提高预训练模型在新任务上的性能,从而缓解大型预训练模型的训练成本。使得即使计算资源受限,也可以利用预训练模型的知识来迅速适应新任务,实现高效的迁移学习 Transfer Learning。
------------------------------------------------------------------ 分界线 ------------------------------------------------------------------
经典的低参微调方法:Adapter(谷歌2019)、LoRA(微软2021)、QLoRA(微软2023)、Prefix Tuning(斯坦福2021)、Prompt Tuning(谷歌2021)、P-Tuning(清华2022)、P-Tuning v2(清华2022)。以下将对如上多种低参微调技术进行整理(LLM岗必考题!!!)
1.2.1. Adapter
Adapter微调方法涉及向预训练模型中添加小型、任务特定的模块(适配器)。这些适配器被插入到原始模型的层之间,并使用任务特定的数据进行训练。原始模型保持相对不变,使其具有高效性并保留其通用知识,同时适应特定任务。
图2. Adapter微调原理
paper: https://arxiv.org/pdf/1902.00751v2.pdf
github: https://github.com/google-research/adapter-bert
1.2.2. LoRA
LoRA是一种基于低秩矩阵分解的微调策略。它通过向模型权重添加低秩矩阵来调整预训练模型的行为,而不是直接更新所有参数。这样可以显著减少需要训练的参数数量,并保持原始模型结构不变,以较小的成本实现对下游任务的良好适应。
图3. LoRA微调原理
paper: https://arxiv.org/abs/2106.09685
github: https://github.com/microsoft/LoRA
1.2.3. QLoRA
LoRA方法的一种变体,特别针对量化场景设计。QLoRA同样采用低秩矩阵分解,但在此基础上结合了权重量化技术,进一步压缩模型大小并降低计算成本,使得模型能在资源受限的环境下高效地进行微调。
图4. QLoRA微调原理
paper: https://arxiv.org/pdf/2305.14314v1.pdf
github: https://github.com/artidoro/qlora
1.2.4. Prefix Tuning
该方法为预训练语言模型引入一个可学习的“前缀”向量序列,在生成过程中将其与输入文本拼接作为模型的额外