补全llm知识体系的地基:Finetuning

微调(Finetuning)

  • 用比训练时小得多的数据量,试图通过较短的训练,提高模型在某个特定场景或者任务上的能力。
  • 最基础的思路是全参数微调,空间开销和预训练完全相同,只是由于数据量等原因,耗时更短
  • 为了降低要求,扩大使用范围(消费级硬件),省空间的微调方法不断被提出

PEFT:Parameter Efficient Finetuning

  • 致力于在尽可能保持模型效果/微调效果的前提下,减小微调空间开销。
  • 微调空间占用包括:
    • 模型参数
    • 优化器(动量、二阶动量)
    • 激活向量(中间结果)
    • 梯度

BitFit:只学习各线性层的bias

  • qkv一般是线性层实现,学习给其加一个bias
  • 后续ffn中线性层的bias

Adapter Tuning:加入带残差连接的模块,来附加“仅为任务设计的偏置”

image

  • 引入模块:下采样+非线性层+上采样+残差连接
  • 优点:保留模型通用性,易于扩展
  • 缺点:引入额外推理延迟,只能串行(模块内部?)

Prompt Tuning:在输入前额外一段Prompt,训练该Prompt的表示并拼接到输入embedding上

image

  • 可学习参数:一个Embedding层
  • 优点:完全冻结模型原有参数
  • 缺点:占用context length,且依赖模型自身能力,很难训练

Prefix-tuning:输入前拼接一段可训练前缀(virtual tokens)

image

  • 相比加入的离散的Prompt,调整空间更大,更好训练
  • 加入了一个MLP做映射
  • 调整了Transformer的每一层(不止Embedding层前面)

P-tuning:

  • P-tuning V1:Prompt tuning的改进,用Embedding+MLP/LSTM来替代原有的Embedding
  • P-tuning V2:在Prefix-tuning的基础上,删掉了MLP/LSTM的重参数化映射,并根据任务灵活调整长度
posted @ 2025-05-20 18:41  Phile-matology  阅读(44)  评论(0)    收藏  举报