目录
一些比较流行的PEFT方案
Prompt Tuning
Prefix Tuning
LoRA
QLoRA
引用链接
参考文档:通俗解读大模型微调(Fine Tuning) - 知乎
从参数规模的角度,大模型的微调分成两条技术路线:
一条是对全量的参数,进行全量的训练,这条路径叫全量微调FFT(Full Fine Tuning)。
一条是只对部分的参数进行训练,这条路径叫PEFT(Parameter-Efficient Fine Tuning)。
FFT的原理,就是用特定的数据,对大模型进行训练,将W变成W`,W`相比W ,最大的优点就是上述特定数据领域的表现会好很多。
但FFT也会带来一些问题,影响比较大的问题,主要有以下两个:
一个是训练的成本会比较高,因为微调的参数量跟预训练的是一样的多的;
一个是叫灾难性遗忘(Catastrophic Forgetting),用特定训练数据去微调可能会把这个领域的表现变好,但也可能会把原来表现好的别的领域的能力变差。
PEFT主要想解决的问题,就是FFT存在的上述两个问题,PEFT也是目前比较主流的微调方案。
从训练数据的来源、以及训练的方法的角度,大模型的微调有以下几条技术路线:
一个是监督式微调SFT(Supervised Fine Tuning),这个方案主要是用人工标注的数据,用传统机器学习中监督学习的方法,对大模型进行微调;
一个是基于人类反馈的强化学习微调RLHF(Reinforcement Learning with Human Feedback),这个方案的主要特点是把人类的反馈,通过强化学习的方式,引入到对大模型的微调中去,让大模型生成的结果,更加符合人类的一些期望;
还有一个是基于AI反馈的强化学习微调RLAIF(Reinforcement Learning with AI Feedback),这个原理大致跟RLHF类似,但是反馈的来源是AI。这里是想解决反馈系统的效率问题,因为收集人类反馈,相对来说成本会比较高、效率比较低。
不同的分类角度,只是侧重点不一样,对同一个大模型的微调,也不局限于某一个方案,可以多个方案一起。
微调的最终目的,是能够在可控成本的前提下,尽可能地提升大模型在特定领域的能力。
一些比较流行的PEFT方案
PEFT 的微调方法,还有很多种,限于篇幅原因,不再这里一一介绍。感兴趣的朋友,可以阅读这篇论文:Scaling Down to Scale Up: A Guide to Parameter-Efficient Fine-Tuning [5]
Prompt Tuning
Prompt Tuning的具体细节,可以参见:The Power of Scale for Parameter-Efficient Prompt Tuning [1]
Prefix Tuning
Prefix Tuning的具体细节,可以参见:Prefix-Tuning: Optimizing Continuous Prompts for Generation [2]
LoRA
关于LoRA的具体细节,可以参见LoRA: Low-Rank Adaptation of Large Language Models [3]
QLoRA
关于QLoRA的具体细节,可以参见:QLoRA: Efficient Finetuning of Quantized LLMs [4]
引用链接
[1]
The Power of Scale for Parameter-Efficient Prompt Tuning:https://arxiv.org/pdf/2104.08691.pdf[2]
Prefix-Tuning: Optimizing Continuous Prompts for Generation:https://arxiv.org/pdf/2101.00190.pdf[3]
LoRA: Low-Rank Adaptation of Large Language Models:https://arxiv.org/pdf/2106.09685.pdf[4]
QLoRA: Efficient Finetuning of Quantized LLMs:https://arxiv.org/pdf/2305.14314.pdf[5]
Scaling Down to Scale Up: A Guide to Parameter-Efficient Fine-Tuning:https://arxiv.org/pdf/2303.1564