Parameter Efficient Fine-Tuning
LLM Training Stages
Currently the training of Large Language Models (LLMs) can be divided into three stages:
graph LR A[Pre-training] --> B[Fine-tuning] --> C[Inference]
Pre-training
Pre-training stage主要就是在很大量的text数据上做一件事情,就是预测下一个token是什么。
Fine-tuning
Fine-tuning stage其实和pre-training也差不多,就是在一些特定的数据上做预测下一个token的事情。不过这里的prompt会有所不同,比如会根据不同的task构造不同的数据,比如对话式的数据,或者是文本分类的数据。
例子:
- 对话式数据:
User: Hello, how are you? Assistant: I am fine, thank you!
- 文本分类数据:
Text: I love this movie. Label: Positive
RLHF
RLHF 是一种Fine-tuning的方法,主要是通过强化学习来优化模型的生成结果。Anthropic的做法是用少量数据训练一个reward model,这个reward model可以用来评估人类的反馈,然后用这个reward model来对模型生成的结果打分并优化。
Parameter Efficient Fine-Tuning
Parameter Efficient Fine-Tuning (PEFT) 主要是针对Fine-Tunning阶段的,主要是为了解决Fine-Tuning阶段的参数量过大的问题。
Adapter
Adapter是一种PEFT方法,主要是通过在Transformer的每一层中插入一个小的网络来实现的。
Adapter的结构可以是一个简单的MLP,也可以是一个复杂的网络。
LoRA
LoRA是一种PEFT方法,主要是通过在Transformer的线性层通过低秩矩阵来近似原始的线性层的参数。
这里的
基于LoRA又很多新的工作,主要都集中于如何更好地设计