什么是 上下文学习?

上下文学习(In-Context Learning,ICL)是大语言模型从输入提示中提供的示例学习和适应新任务的能力,无需更新模型参数或进行显式训练。

快速了解

创建时间在 GPT-3 论文中被发现,2020 年
规范文档官方规范

工作原理

上下文学习作为大语言模型的一种意外能力出现,首次由 GPT-3 显著展示。与需要梯度更新的传统机器学习不同,ICL 允许模型从提示中的少量演示理解任务模式,并将其应用于新输入。这种能力似乎随着规模而涌现,并引发了对 Transformer 如何隐式实现学习算法的研究。ICL 涵盖零样本和少样本学习场景。

主要特点

  • 不需要参数更新或微调
  • 从提示示例中学习任务模式
  • 随模型规模涌现的能力
  • 涵盖零样本和少样本学习
  • 性能取决于示例质量和顺序
  • 无需训练即可快速适应任务

常见用途

  1. NLP 应用的快速原型开发
  2. 对话中的动态任务切换
  3. 无需训练即可适应新领域
  4. 构建灵活的 AI 助手
  5. 研究模型的涌现能力

示例

loading...
Loading code...

常见问题

上下文学习和微调有什么区别?

上下文学习在提示中使用示例来引导模型,而不更新其参数;而微调则通过额外训练实际修改模型的权重。ICL 更快且不需要训练基础设施,但微调在有足够数据的情况下可以在特定任务上获得更好的性能。

有效的上下文学习需要多少示例?

通常 3-5 个精心选择的示例对于许多任务来说已经足够。研究表明,示例质量比数量更重要。太多示例实际上可能因超出上下文限制或混淆模型而损害性能。最佳数量取决于任务复杂性和模型能力。

上下文学习中示例的顺序重要吗?

是的,示例顺序会显著影响性能。研究表明,相同示例的不同排序可能导致超过 50% 的准确率变化。通常,将更相似或更近期的示例放在查询附近效果更好,但最佳排序因任务而异。

为什么上下文学习不需要更新模型权重就能工作?

确切机制仍在研究中,但主流理论认为大语言模型在预训练期间隐式学习了通用学习算法。当给出示例时,它们在激活空间中执行某种形式的隐式梯度下降或模式匹配,有效地「模拟」学习而无需更新权重。

上下文学习的局限性是什么?

主要局限包括:上下文窗口限制示例数量、对示例选择和排序敏感、无法学习预训练中未见过的真正新颖模式、由于更长的提示导致更高的推理成本,以及在不同提示表述下性能不一致。

相关工具

相关术语

相关文章