模型不更新其内部参数(即“不学习”或“不微调”),仅通过分析用户提供的提示和示例(即“上下文”),就能理解任务要求并生成符合预期的答案。

简单说就是:你给我看几个例子,我就能明白你想让我干什么,并照做。
一个生动的比喻
想象一下你第一次玩一个桌游,你不太懂规则,你旁边的一个朋友(就是那个“大模型”)看了几轮别人的玩法(这几轮玩法就是 “上下文”),然后他就说:“哦,我明白了。” 接着轮到他时,他就能正确地出牌了。
他没有去阅读厚厚的规则书(没有更新模型参数),仅仅是通过观察(分析上下文)就学会了。
关键组成部分
一个典型的上下文学习过程包含以下几个部分:
- 指令: 告诉模型要做什么。“将以下英文翻译成中文:”
- 演示(示例): 提供少量的输入-输出对,这是学习的“教材”。
- 示例1:输入
“Hello”→ 输出“你好” - 示例2:输入
“Thank you”→ 输出“谢谢你”
- 示例1:输入
- 问题: 你需要模型解决的新输入。
- 新输入:
“How are you?”
- 新输入:
- 模型的输出: 模型基于上述所有上下文,生成答案。
- 预期输出:
“你好吗?”
- 预期输出:
把1-3部分组合起来,就是给模型的 “提示”,模型基于整个提示生成答案。
主要类型
根据提供的示例数量,可以分为:
- 零样本学习: 只给指令,不给示例,考验模型最原始的泛化能力。
提示:“将以下英文翻译成中文:How are you?”
- 少样本学习: 给少量(通常1-10个)示例,这是上下文学习的典型形式。
提示:(如上文“关键组成部分”中的完整例子)
- 思维链: 这是少样本学习的进阶形式,在示例中,不仅给出答案,还给出推理的中间步骤,这能显著提升模型在复杂推理任务(如数学、逻辑问题)上的表现。
- 示例:
“问题:小明有5个苹果,吃了2个,又买了3个,现在有几个? 推理:一开始有5个,吃了2个剩下5-2=3个,又买了3个变成3+3=6个,所以答案是6。”
- 示例:
为什么上下文学习如此重要和神奇?
- 打破了传统范式: 在GPT-3等大模型出现之前,要让一个模型完成新任务,通常需要收集大量标注数据,并进行专门的微调,这个过程耗时耗力,上下文学习让用户无需训练,即时“编程”模型。
- 自然的人机交互: 用户可以用最自然的方式(举例说明)与模型沟通,极大降低了使用门槛,就像教一个聪明人一样。
- 灵活性与通用性: 同一个模型,通过不同的上下文提示,可以瞬间变身为翻译官、程序员、诗人、客服、分析师等,展现出极强的通用性。
- 揭示了“隐性知识”: 这表明大模型在预训练阶段,已经从海量文本中隐性地学到了丰富的模式和知识,上下文只是激活和引导了这些知识,将其组合应用到当前任务上。
原理探究(简要版)
上下文学习的确切机理仍是研究热点,但主流观点认为:
- 模式匹配与内插: 模型在海量预训练数据中,见过无数“模式”,当看到你提供的示例时,它其实是在进行高级的模式匹配和概率计算,将新问题映射到它认为最相似的、在训练中见过的模式上。
- 注意力机制是关键: Transformer架构中的注意力机制,允许模型动态地关注提示中不同部分(指令、示例、问题)的关联,从而理解任务结构。
- 规模定律: 这种能力在模型参数规模达到一定程度(例如百亿、千亿级别)后才会涌现出来,小模型通常不具备这么强的ICL能力。
与相关概念的对比
| 特性 | 上下文学习 | 传统微调/训练 |
|---|---|---|
| 参数更新 | 不更新,模型参数是冻结的。 | 更新,根据任务数据调整模型权重。 |
| 数据需求 | 极少(几个示例)。 | 大量(成千上万的标注样本)。 |
| 速度与成本 | 即时、低成本(只需推理)。 | 慢、成本高(需要训练过程)。 |
| 灵活性 | 极高,可随时改变任务。 | 低,一个微调模型通常只擅长一个任务。 |
| 任务特异性 | 一般,依赖提示质量。 | 强,针对特定任务高度优化。 |
上下文学习 是大语言模型(如ChatGPT、GPT-4、Claude等)的基石能力之一,它允许用户通过简单的“举例说明”,在零训练成本的情况下,引导模型完成复杂多样的任务,这一能力不仅极大地提升了AI的易用性和普及度,也深刻改变了我们开发和使用AI工具的方式,是当前AI技术民主化和实用化的重要推动力。
简而言之:上下文学习,就是让AI“看一眼就会”的神奇能力。