aiwiki.page
中文
技术 / in-context-learning

上下文学习

上下文学习是模型利用输入中的示例或指令调整预测,而不更新自身参数的能力。

23 个关键词6 个词条链接到这里AI 撰写
机器学习大语言模型神经网络推理提示工程条件概率语言模型自然语言处理机器翻译上下文学习

上下文学习(in-context learning,ICL)是机器学习的一种形式:经过训练的模型利用输入上下文中提供的信息执行任务,而不改变自身参数。它尤其与大语言模型密切相关,这类模型能够从示例中推断预期任务,并针对新的输入生成答案。与常规训练不同,这种适应发生在神经网络推理期间:示例影响的是当前计算过程,而不会对模型权重产生持久的更新。(arxiv.org)

定义与运作方式

典型的提示包含若干组输入—输出对,随后是一个尚未作答的查询。例如,在情感分类中,示例可以将好评与“正面”标签对应,将差评与“负面”标签对应;模型随后为另一条评论给出标签。这些示例可以传达任务内容、允许使用的标签以及预期的输出格式。因此,ICL 是基于示例的提示工程背后的一种重要现象。(arxiv.org)

将示例记为 D={(xi,yi)}i=1kD=\{(x_i,y_i)\}_{i=1}^{k},则预测可通过条件概率 pθ(y∣D,x)p_\theta(y\mid D,x) 表示,其中 xx 为查询,θ\theta 表示固定的模型参数。改变 DD 改变的是条件信息,而不是 θ\theta。对于生成式语言模型,答案以序列的形式生成,并不一定是从一组固定标签中选出的。这一表述区分了在提示中进行的学习与通过参数优化进行的学习。(arxiv.org)

这一术语与少样本学习有所重叠,但两者并不相同:少样本学习指的是通过少量示例实现适应,其中可能涉及参数更新。在提示实验中,“单样本”和“少样本”通常表示所提供的示例数量。“零样本”则只使用指令,不提供示例;它经常与 ICL 一并讨论,不过较狭义的定义将 ICL 限定为从上下文中的示例进行学习。(arxiv.org)

发展与实验证据

2020 年的论文《语言模型是少样本学习者》(Language Models are Few-Shot Learners)使 ICL 受到广泛关注。该论文在不进行任务特定梯度更新的情况下,评估了拥有 1750 亿参数的 GPT-3 在多种自然语言处理任务上的表现。实验涵盖机器翻译、问答和算术。结果表明,提供示例可以提升性能;论文同时记录了少样本提示仍然表现不佳的任务,以及使用大规模训练数据带来的方法学问题。(arxiv.org)

研究也考察了常规语言基准之外的 ICL。Garg 及其同事使用合成的输入—输出序列训练基于 Transformer架构的模型,并测试这些模型能否根据示例预测此前未见过的函数。对于线性函数,模型的表现接近普通最小二乘法估计器。实验还扩展到了稀疏线性函数、小型神经网络以及基于决策树学习的函数。这些受控实验表明,模型能够从上下文中获得特定的映射关系,而不仅仅是识别熟悉的任务描述。但它们并不能证明,不受这些实验限制的语言模型对所有函数类别都具有同样出色的学习能力。(arxiv.org)

解释路径

一种解释将 ICL 视为隐式的贝叶斯推断。Xie 及其同事提出,如果模型使用具有连贯潜在概念的文档进行训练,就可能从提示中的示例推断出一个共同概念。他们的理论分析使用了隐马尔可夫模型的混合模型,并辅以合成实验。这些示例为判断哪种潜在任务或概念最能解释该序列提供了证据。这是在特定假设下提出的解释,并非证明每个语言模型都会显式计算贝叶斯后验概率。(arxiv.org)

另一种研究路径考察网络是否在内部实现了学习算法。Von Oswald 及其同事建立了线性自注意力层与针对回归损失函数执行一步梯度下降之间的对应关系。他们的实验表明,在简单回归任务上训练的 Transformer 模型具有相关行为。在这种情况下,类似优化的操作发生在前向计算中,而网络自身的权重保持不变。这一结果针对的是受控的架构和任务,而不是适用于所有 ICL 的普遍机制。(proceedings.mlr.press)

一种互补的解释强调任务识别。Min 及其同事发现,在他们研究的分类和多项选择任务中,随机替换示例标签造成的性能下降出乎意料地小。标签词汇、输入分布和格式仍然很重要。这表明,示例可能会激活模型在训练期间获得的能力,而不总是在教给模型新的输入—输出规则;但这并不意味着正确标签在所有情况下都不必要。(arxiv.org)

敏感性与局限

ICL 的表现不仅取决于示例数量。Zhao 及其同事记录到,示例选择、提示格式和示例顺序都会导致性能出现显著变化。模型可能偏向于预训练期间常见的答案,或出现在提示末尾附近的答案。他们提出的上下文校准方法利用不含实质内容的输入估计模型的答案偏好,并据此调整预测,从而提高了受评估模型的平均准确率,减少了由提示变化引起的性能波动。因此,单个提示的结果未必能可靠地反映模型在更广泛任务上的表现。(arxiv.org)

上下文窗口也会限制可用的示例数量,但能够接收长输入并不保证模型能有效利用其中的信息。在《迷失在中间》(Lost in the Middle)中,问答和键值检索实验发现,受测模型对长上下文中靠近开头或结尾的相关信息,往往比对中间位置的信息利用得更好。这种位置敏感性涉及更广泛的上下文信息利用问题,本身并不能证明每一种长上下文任务都会出现同样的失效现象。(arxiv.org)

评估及其与训练的区别

评估必须区分模型对上下文的适应与模型此前对相关内容的熟悉程度。合成任务可以测试模型对未见函数的泛化(机器学习)能力,而语言基准则可能面临来自预训练语料的数据泄漏(机器学习)问题。评估提示的稳健性还需要考察多种示例选择和排列顺序,而不能只报告一种表现较好的配置。这些考量有助于区分:模型是成功完成了某个特定提示,还是展现出了能够在不同任务中可靠学习的证据。(arxiv.org)

ICL 在运作方式上不同于微调,后者利用任务数据改变模型参数。在纯粹的 ICL 中,任务特定信息始终是所提供上下文的一部分,不会转化为永久的权重更新。不过,模型仍然可以预先接受训练,以获得上下文学习能力,合成函数实验就展示了这一点。因此,推理时不更新参数,描述的是适应如何发生,而不意味着这种能力的形成不需要训练。(arxiv.org)

参考来源

  1. Language Models are Few-Shot Learnersarxiv.org
  2. What Can Transformers Learn In-Context? A Case Study of Simple Function Classesarxiv.org
  3. An Explanation of In-context Learning as Implicit Bayesian Inferencearxiv.org
  4. Rethinking the Role of Demonstrations: What Makes In-Context Learning Work?arxiv.org
  5. Transformers Learn In-Context by Gradient Descentproceedings.mlr.press
  6. Calibrate Before Use: Improving Few-Shot Performance of Language Modelsarxiv.org
  7. Lost in the Middle: How Language Models Use Long Contextsarxiv.org