什么是 上下文学习?
上下文学习(In-Context Learning,ICL)是大语言模型从输入提示中提供的示例学习和适应新任务的能力,无需更新模型参数或进行显式训练。
快速了解
| 创建时间 | 在 GPT-3 论文中被发现,2020 年 |
|---|---|
| 规范文档 | 官方规范 |
工作原理
上下文学习作为大语言模型的一种意外能力出现,首次由 GPT-3 显著展示。与需要梯度更新的传统机器学习不同,ICL 允许模型从提示中的少量演示理解任务模式,并将其应用于新输入。这种能力似乎随着规模而涌现,并引发了对 Transformer 如何隐式实现学习算法的研究。ICL 涵盖零样本和少样本学习场景。
主要特点
- 不需要参数更新或微调
- 从提示示例中学习任务模式
- 随模型规模涌现的能力
- 涵盖零样本和少样本学习
- 性能取决于示例质量和顺序
- 无需训练即可快速适应任务
常见用途
- NLP 应用的快速原型开发
- 对话中的动态任务切换
- 无需训练即可适应新领域
- 构建灵活的 AI 助手
- 研究模型的涌现能力
示例
loading...
Loading code...常见问题
上下文学习和微调有什么区别?
上下文学习在提示中使用示例来引导模型,而不更新其参数;而微调则通过额外训练实际修改模型的权重。ICL 更快且不需要训练基础设施,但微调在有足够数据的情况下可以在特定任务上获得更好的性能。
有效的上下文学习需要多少示例?
通常 3-5 个精心选择的示例对于许多任务来说已经足够。研究表明,示例质量比数量更重要。太多示例实际上可能因超出上下文限制或混淆模型而损害性能。最佳数量取决于任务复杂性和模型能力。
上下文学习中示例的顺序重要吗?
是的,示例顺序会显著影响性能。研究表明,相同示例的不同排序可能导致超过 50% 的准确率变化。通常,将更相似或更近期的示例放在查询附近效果更好,但最佳排序因任务而异。
为什么上下文学习不需要更新模型权重就能工作?
确切机制仍在研究中,但主流理论认为大语言模型在预训练期间隐式学习了通用学习算法。当给出示例时,它们在激活空间中执行某种形式的隐式梯度下降或模式匹配,有效地「模拟」学习而无需更新权重。
上下文学习的局限性是什么?
主要局限包括:上下文窗口限制示例数量、对示例选择和排序敏感、无法学习预训练中未见过的真正新颖模式、由于更长的提示导致更高的推理成本,以及在不同提示表述下性能不一致。