微调与语境学习

在预训练语言模型的应用中,微调(Fine-tuning)和语境学习(In-Context Learning, ICL)是两种主要的适配下游任务的方式。它们代表了不同的范式迭代,反映了对预训练模型能力的利用方式从参数更新向交互引导的演变。

微调(Fine-tuning)

微调是在预训练模型的基础上,使用特定下游任务的有标注数据对模型参数进行进一步训练的过程。

流程

  1. 加载预训练模型的权重作为初始化参数
  2. 根据具体任务在模型输出层添加任务特定的分类头
  3. 使用任务标注数据对整个模型或部分层进行训练
  4. 得到针对特定任务优化后的模型

优点

  • 在目标任务上通常能达到最佳性能
  • 对模型规模要求相对较低
  • 可充分利用有限的标注数据

缺点

  • 每个任务需要单独微调,存储多个模型副本
  • 需要收集和标注任务数据
  • 存在灾难性遗忘风险

语境学习(In-Context Learning)

语境学习是大规模语言模型(如GPT-3)展现出的能力:通过提供若干输入-输出示例(demonstrations)作为提示(prompt),模型无需更新参数即可完成新任务。

零样本与少样本

  • 零样本(Zero-shot):仅用任务描述,不提供任何示例
  • 少样本(Few-shot):在提示中提供若干示例,引导模型理解任务

优点

  • 无需针对每个任务进行训练
  • 同一模型可同时执行多种任务
  • 无需额外标注数据

缺点

  • 对模型规模有较高要求(通常需要十亿级以上参数)
  • 性能通常不如精调后的专用模型
  • 受提示设计影响较大(prompt敏感性)

范式对比

维度微调语境学习
参数更新需要不需要
计算成本较高(需训练)较低(仅推理)
泛化能力任务专精任务通用
数据需求任务标注数据少量示例/描述
适用模型各种规模大规模模型

提示工程(Prompt Engineering)

语境学习的性能在很大程度上取决于提示的设计。有效的提示设计包括:

  • 清晰的指令描述
  • 代表性的示例选择
  • 合适的示例格式和排列顺序

发展趋势

随着模型规模的不断增大,语境学习的能力愈发强大,正在逐步改变传统的微调范式。同时,参数高效微调(如LoRA、Adapter)等技术也在探索两者之间的平衡点,在保持模型通用性的同时提升特定任务的性能。

链接到

  • 上一个知识点:6.3 GPT
  • 下一个知识点:无(本章最后一个知识点)