Prompt-Tuning 和 LoRA(Low-Rank Adaptation)都是在预训练语言模型基础上进行微调的方法,它们有以下一些区别:
一、调整方式
-
Prompt-Tuning:
- 主要是通过优化特定任务的提示(prompt)来实现微调。
- 通常在输入层引入可学习的连续提示向量,这些提示向量与原始输入进行拼接或其他方式的组合后输入到模型中。
- 调整的参数主要集中在提示向量部分,对模型主体的参数改动相对较小。
-
LoRA:
- 通过在预训练模型的权重矩阵中插入低秩分解矩阵来实现微调。
- 具体来说,将模型权重的变化表示为低秩矩阵的乘积,只训练这些低秩矩阵的参数,而保持原始模型的大部分参数固定。
二、参数效率
-
Prompt-Tuning:
- 通常需要引入相对较少的可学习参数,因为主要是调整提示向量。
- 对于大规模语言模型,相比全模型微调,可以大大减少需要训练的参数数量,从而降低计算资源需求和训练时间。
-
LoRA:
- 同样具有较高的参数效率。由于只训练低秩矩阵,参数数量远小于全模型微调。
- 可以在保持模型主体参数不变的情况下,实现有效的微调,适用于资源有限的场景。
三、适用性和灵活性
-
Prompt-Tuning:
- 对于不同的任务,