LLM 能力与机制

上下文学习 ICL:不训练就能学会新任务

ICL(In-Context Learning)指不更新任何权重,仅靠 prompt 里给的示例/指令,模型就学会新任务。它是 Few-shot prompting 的底层能力,也是 LLM 区别于传统微调模型的关键。

一句话回答

ICL 是 免训练的学习:把任务说明 + 几个示例塞进 prompt,模型在不改动权重的情况下,对新输入给出符合示例模式的输出。它是 GPT-3 起大模型最核心的"用法",也是 Few-shot / CoT 的底座。

三种设置

Zero-shot
只给指令/问题,不给示例。"把下面翻译成中文:…"
One-shot
给 1 个示例 + 新输入。
Few-shot
给 k 个示例(常 3~8),再给新输入。效果通常最好。
注意:"few-shot" 在这里不意味额外训练——示例都在同一个 forward pass 的上下文里,权重纹丝不动。

为什么有效(几种解释)

共识:ICL 能力主要来自大规模预训练,不是推理时才涌现的魔法;小模型基本没有可靠的 ICL。

与微调(Fine-tuning)的边界

微调:改权重(慢、贵、但稳、可固化) 原权重 → 训练 → 新权重 ICL:不动权重,示例在 prompt 里 权重冻结 + 上下文示例
维度ICL(Few-shot)微调
是否改权重否是
成本/速度即时、零训练需算力、数据、时间
适用任务多变、少样本、临时切换任务固定、追求极致/私有知识
上限受上下文长度+示例质量限制可更深、更稳

影响效果的因素

局限

  • 近因/锚定偏差:示例顺序、格式会悄悄带偏输出。
  • 容量上限:示例塞不下、长任务撑爆上下文就失效。
  • 复杂任务不如微调:需要稳定记忆私有知识、强泛化的场景,ICL 不够。
  • 敏感且不稳定:换几个示例、调下顺序,结果可能波动。

总结