微调与语境学习
在预训练语言模型的应用中,微调(Fine-tuning)和语境学习(In-Context Learning, ICL)是两种主要的适配下游任务的方式。它们代表了不同的范式迭代,反映了对预训练模型能力的利用方式从参数更新向交互引导的演变。
微调(Fine-tuning)
微调是在预训练模型的基础上,使用特定下游任务的有标注数据对模型参数进行进一步训练的过程。
流程
- 加载预训练模型的权重作为初始化参数
- 根据具体任务在模型输出层添加任务特定的分类头
- 使用任务标注数据对整个模型或部分层进行训练
- 得到针对特定任务优化后的模型
优点
- 在目标任务上通常能达到最佳性能
- 对模型规模要求相对较低
- 可充分利用有限的标注数据
缺点
- 每个任务需要单独微调,存储多个模型副本
- 需要收集和标注任务数据
- 存在灾难性遗忘风险
语境学习(In-Context Learning)
语境学习是大规模语言模型(如GPT-3)展现出的能力:通过提供若干输入-输出示例(demonstrations)作为提示(prompt),模型无需更新参数即可完成新任务。
零样本与少样本
- 零样本(Zero-shot):仅用任务描述,不提供任何示例
- 少样本(Few-shot):在提示中提供若干示例,引导模型理解任务
优点
- 无需针对每个任务进行训练
- 同一模型可同时执行多种任务
- 无需额外标注数据
缺点
- 对模型规模有较高要求(通常需要十亿级以上参数)
- 性能通常不如精调后的专用模型
- 受提示设计影响较大(prompt敏感性)
范式对比
| 维度 | 微调 | 语境学习 |
|---|---|---|
| 参数更新 | 需要 | 不需要 |
| 计算成本 | 较高(需训练) | 较低(仅推理) |
| 泛化能力 | 任务专精 | 任务通用 |
| 数据需求 | 任务标注数据 | 少量示例/描述 |
| 适用模型 | 各种规模 | 大规模模型 |
提示工程(Prompt Engineering)
语境学习的性能在很大程度上取决于提示的设计。有效的提示设计包括:
- 清晰的指令描述
- 代表性的示例选择
- 合适的示例格式和排列顺序
发展趋势
随着模型规模的不断增大,语境学习的能力愈发强大,正在逐步改变传统的微调范式。同时,参数高效微调(如LoRA、Adapter)等技术也在探索两者之间的平衡点,在保持模型通用性的同时提升特定任务的性能。

链接到
- 上一个知识点:6.3 GPT
- 下一个知识点:无(本章最后一个知识点)