什么是上下文学习(In-Context Learning, ICL)
上下文学习(In-Context Learning, ICL) 是大语言模型(如 GPT-3、GPT-4)非常关键的一种学习方式,它是指:在推理阶段,模型无需任何参数更新,仅通过输入提示(prompt)中提供的上下文示例,就能完成新任务。这是大语言模型区别于传统机器学习模型的重要能力之一。上下文学习引出了很多重要的研究方向:自动构建 Few-shot 示例(Prompt Selection),上下
·
上下文学习(In-Context Learning, ICL) 是大语言模型(如 GPT-3、GPT-4)非常关键的一种学习方式,它是指:
在推理阶段,模型无需任何参数更新,仅通过输入提示(prompt)中提供的上下文示例,就能完成新任务。
这是大语言模型区别于传统机器学习模型的重要能力之一。
一、上下文学习是怎么回事?(定义)
上下文学习的核心思想是:
- 模型并没有通过反向传播调整任何参数;
- 而是通过提示中提供的任务示例(上下文) 来“临时”学会完成新任务;
- 所以也被称为**“提示学习(Prompt Learning)”的一种形式**。
这是一种零更新、即时推理的能力。
二、举个例子
我们给 GPT-3 一个 prompt:
Task: Translate English to French
Input: I love you
Output: Je t’aime
Input: Good morning
Output: Bonjour
Input: How are you?
Output:
模型会自动生成:Comment ça va ?
这个过程就是上下文学习,因为:
- 模型没有见过“如何将 How are you 翻译为法语”这个特定示例;
- 但它通过上下文中已有的翻译示例学会了任务格式与语义。
三、上下文学习的几种形式(Shot 学习)
根据提供的示例数量,上下文学习可分为:
| 类型 | 描述 |
|---|---|
| Zero-shot | 不提供任何示例,只用任务说明 |
| One-shot | 提供一个示例 |
| Few-shot | 提供少量(通常 2~32 个)示例 |
| Many-shot | 输入长度允许时,提供大量示例(如 100+) |
例如:
Zero-shot Prompt:
Translate English to French:
How are you?
Few-shot Prompt:
Translate English to French:
I love you → Je t’aime
Good morning → Bonjour
How are you? →
四、上下文学习与传统学习方式的区别
| 维度 | 传统监督学习 | 上下文学习(ICL) |
|---|---|---|
| 是否训练模型参数 | 是 | 否 |
| 是否需要微调 | 是 | 否 |
| 使用人类标签 | 是 | 否(通过 prompt 提示) |
| 推理方式 | 靠已学参数 | 靠 prompt 提示内容 |
| 灵活性 | 固定任务 | 通用任务格式即可 |
| 示例位置 | 数据集中 | prompt 里 |
五、上下文学习的工作机制(原理简析)
上下文学习在理论上依赖于语言模型的以下能力:
- 强大的表征能力:
- 能够理解文本中的示例;
- 序列建模能力:
- 模拟出“学习后再预测”的行为;
- 任务结构建模能力:
- 从多个示例中归纳任务规则;
- 记忆能力:
- 在 token 长度范围内保持上下文信息不遗失;
但它并没有真正形成“内部参数更新”,只是通过大模型强大的泛化能力模拟了“临时学习”行为。
六、上下文学习的能力边界
虽然 ICL 很强,但它也存在一些限制:
| 限制 | 描述 |
|---|---|
| 窗口长度限制 | 模型的最大 token 长度限制了支持的示例数量 |
| 顺序敏感性 | 示例的排列顺序影响结果质量 |
| 任务分布泛化性弱 | 对不熟悉任务、复杂推理任务表现有限 |
| 没有长期记忆 | 推理完毕后不保留学习结果,无法“持续学习” |
七、上下文学习在 GPT 中的作用
GPT-3、GPT-4 等模型通过上下文学习可以实现:
- 代码生成(提供几个样例,模型模仿格式)
- 文本分类(提供 prompt + 标签)
- 信息抽取(提供标注格式)
- 表格填充、数学题解(提供几组输入输出)
- 多轮对话角色模仿
你甚至可以这样教它:
You are a helpful assistant. Answer the questions politely.
Q: What's the capital of France?
A: The capital of France is Paris.
Q: What's the capital of Germany?
A:
模型会自然而然延续这种行为。
八、上下文学习 vs 参数微调(Fine-tuning)
| 对比维度 | 上下文学习(ICL) | 微调(Fine-tune) |
|---|---|---|
| 是否更新模型参数 | ❌ 否 | ✅ 是 |
| 是否训练耗时 | ❌ 快速 | ✅ 慢,需训练 |
| 是否适配新任务 | ✅ 立即适配 | ✅ 高度适配 |
| 对输入依赖性 | ✅ 高(依赖 prompt) | ❌ 较低 |
| 可持续性 | ❌ 推理后丢失 | ✅ 模型永久记住新知识 |
| 场景适用 | 快速实验、小样本、通用模型 | 长期部署、大数据训练 |
九、衍生话题
上下文学习引出了很多重要的研究方向:
- 自动构建 Few-shot 示例(Prompt Selection)
- 上下文示例排序优化
- Chain-of-Thought(CoT)推理
- Program-of-Thought(PoT)推理
- 思维分支 Self-Consistency 解法
这些技术极大地提升了 ICL 的效果。
更多推荐


所有评论(0)