如果你曾尝试过像 GPT-4 或 Llama 这样的大语言模型 (LLM) ,你很可能接触过 上下文学习 (In-Context Learning, ICL) 。 这是这些模型拥有的迷人能力: 只需在提示词 (prompt) 中看几个例子,无需任何梯度更新或权重更改,就能学会一项新任务。

例如,如果你想让模型对电影评论进行分类,你可以在要求它分类第四条评论之前,先提供三条评论及其情感 (正面/负面) 作为示例。这个过程看起来很神奇,而且至关重要的是,与微调模型相比,它似乎是“免费”的。

但这真的是免费的吗?

一篇最近的研究论文 “Rethinking the Evaluation of In-Context Learning for LLMs” 指出,我们一直忽略了一个巨大的隐性因素: 演示配置成本 (Demonstration Configuration Cost, DC Cost) 。 就像传统机器学习中的超参数调整需要计算资源一样,为提示词寻找完美的示例集 (以及完美的顺序) 也需要消耗算力。

在这篇文章中,我们将剖析为什么当前评估 ICL 的方式存在缺陷,探讨成本与准确率之间的关系,并看看研究人员提出的一种巧妙策略,它是如何以近乎“零”的配置成本实现最先进结果的。

上下文学习的剖析

在深入探讨成本之前,让我们先将其形式化。在使用 ICL 的标准文本分类任务中,目标是预测输入 \(x\) 的标签 \(y\)。为此,我们向模型提供一组演示示例 \(C\)。

核心方程如下所示:

展示给定输入 x 和上下文 C 的情况下标签概率的 ICL 公式。

这里,\(C\) 代表从训练集中选出的 \(k\) 个输入-输出对。ICL 的“魔力”在很大程度上依赖于 演示配置 (Demonstration Configuration) , 它包括两个步骤:

  1. 示例选择 (Example Selection) : 我们应该在提示词中包含训练数据里的哪些示例?
  2. 示例排序 (Example Ordering) : 这些示例应该以什么顺序出现? (信不信由你,交换示例的顺序可能会彻底改变 LLM 的输出) 。

研究人员已经开发了各种方法来优化这一过程。例如:

  • TopK: 使用嵌入 (embeddings) 选择与输入查询在语义上相似的示例。
  • GlobalE / LocalE: 基于熵指标对示例进行排序,以防止模型对特定类别标签产生偏见。
  • MDL (最小描述长度) : 使用压缩原理来寻找最具信息量的示例。

问题所在: 优化的隐性成本

传统上,当研究人员发布一种新的 ICL 方法时 (例如,“我的新方法 SuperSelectRandom 选择更好”) ,他们比较的是 任务性能 (准确率) 。如果 SuperSelect 获得 85% 的准确率,而 Random 获得 80%,那么 SuperSelect 获胜。

然而,这种比较忽略了 DC 成本——即为了找到那些最佳示例,你必须调用 LLM 的次数。

  • 随机选择 (Random Selection) 的 DC 成本实际上为零。你选好例子就可以开始了。
  • 复杂方法 (如 GlobalE 或 MDL) 可能需要在做出最终预测之前,通过 LLM 运行数千种排列组合来验证哪种顺序效果最好。

这篇论文的作者进行了一项初步研究,以调查这种配置成本与下游任务准确率之间的关系。

展示不同方法中 DC 成本与准确率正相关关系的图表。

图 1 所示,存在一个明显的趋势: 更高的 DC 成本带来更高的准确率。

看看“DataModel” (紫线) 或“MDL” (绿线) 的曲线。随着成本 (x 轴) 的增加——意味着该方法花费更多的算力来搜索最佳提示词——准确率 (y 轴) 显着攀升。

这揭示了标准评估中存在的一个重大偏差。如果方法 A 优于方法 B,是因为方法 A 更智能,还是仅仅因为它被允许消耗 100 倍的 GPU 周期来寻找完美的提示词?论文认为,在没有对成本进行归一化的情况下比较方法是不公平的。

新标准: 二维评估

为了解决这个问题,研究人员提出了 二维评估范式 (Two-Dimensional Evaluation Paradigm) 。 我们不能只报告准确率,还必须报告:

  1. 任务性能 (准确率)
  2. 配置成本 (用于调整提示词的推理调用次数)

让我们看看当我们应用这种严格的双目标视角时,现有方法表现如何。

表 1 比较了各种 ICL 方法及其相关成本。

表 1 中,请注意括号中的数字,代表 DC 成本 (\(\times 10000\)) 。

  • DataModel 实现了高准确率 (SST2 上为 0.7910) ,但需要大量的计算 (成本: 10.0) 。
  • TopK 效率很高 (成本: 0.00) ,但得分通常低于那些重量级方法。
  • TopK + MDL (一种混合方法) 似乎取得了一个很好的平衡,以中等的成本实现了高准确率。

如果我们强迫所有方法使用相同的预算会发生什么?

研究人员更进一步。他们重新运行了实验,但这次他们 控制了 DC 成本 , 强迫所有方法在相同的计算预算内运行。

表 2 展示了控制 DC 成本后的评估结果。

表 2 揭示了一些有趣的变化。当预算被设定上限时:

  1. 选择 > 排序: 专注于选择正确示例的方法 (如 DataModelTopK) 始终优于仅专注于排序的方法 (GlobalELocalE) 。这表明,如果你的预算有限,你应该把钱花在寻找好的示例上,而不是担心它们的顺序。
  2. 混合方法为王: 混合方法 (TopK+LocalETopK+MDL) 占据主导地位。它们使用廉价的启发式方法 (TopK) 缩小范围,然后使用更昂贵的方法 (MDL) 进行微调。

突破: 跨模型的可迁移性

到目前为止,消息似乎很严峻: 如果你想要高准确率,你就必须付出高昂的计算代价。但研究人员假设了一个潜在的“漏洞”。

假设: 对一个语言模型来说“好”的演示,很可能对另一个语言模型也是“好”的。

如果这是真的,我们可以使用一个 小型的、廉价的模型 (如 GPT-2) 来完成寻找最佳示例的繁重工作,然后将优化后的提示词迁移到 大型的、昂贵的模型 (如 OPT-6.7B 或 GPT-3.5) 上以获取最终答案。

他们通过在一个模型上优化演示并在另一个模型上测试来验证这一假设。

热力图矩阵表明优化后的提示词在不同规模的模型间具有良好的可迁移性。

图 2 可视化了结果。X 轴代表推理模型,Y 轴代表配置模型。

  • 对角线代表标准方法 (配置模型 = 推理模型) 。
  • 非对角线的方块出奇地亮!这意味着由微小的 3.55 亿参数模型优化的提示词,在巨大的 67 亿参数模型上的表现,几乎与大模型自己优化的效果一样好。

“零成本”策略

基于这种可迁移性,作者提出了一种策略来实现所谓的 零配置成本 (相对于推理模型而言) 。

策略:

  1. 配置 (Configure) : 使用一个轻量级的小模型 (例如 GPT-2 Medium) 来选择和排序示例。与运行大语言模型相比,这在计算上几乎可以忽略不计。
  2. 推理 (Infer) : 将生成的优化提示词输入到大型目标 LLM (例如 GPT-4,OPT-13B) 中执行实际任务。

因为大模型从未进行过搜索工作,所以大模型上的“DC 成本”实际上为零。

这行得通吗?

结果令人印象深刻。

表 3 将“零成本”策略与昂贵的标准基线进行比较。

表 3 中,请看标记为 (ours) 的行。

  • 标准方法: 使用 OPT-6.7B 来配置其自己的提示词需要 7200 次推理调用。
  • 我们的方法: 使用 GPT-2 为 OPT-6.7B 配置提示词,在大模型上消耗 0 次调用。
  • 结果: 准确率的下降微乎其微。在某些情况下 (如 SST2 上的 TopK+LocalE) ,小模型实际上找到了比大模型更好的提示词!

这种策略甚至适用于像 OpenAI 的 Davinci 和 GPT-3.5 Turbo 这样的闭源“黑盒”模型。

表 4 展示了应用于 GPT-3.5 等闭源模型的策略。

表 4 所示,使用小型的本地模型为 GPT-3.5以此类推设计提示词,其性能显着优于零样本 (zero-shot) 或随机选择。对于按 token 付费的开发者来说,这是一个改变游戏规则的方法——你可以在将提示词发送到昂贵的 API 之前,先在本地免费优化它们。

结论

这篇论文促使我们转变对上下文学习的看法。我们不能再将提示工程视为一种无成本的活动。

关键结论:

  1. 成本与性能相关: 通常可以通过在搜索示例上花费更多算力来“买”到更好的准确率。
  2. 公平评估: 研究人员必须在报告准确率的同时报告配置成本,以实现公平比较。
  3. 可迁移性是真实的: 你不需要超级计算机来寻找好的提示词。小模型可以充当“代理”,找到可以迁移到大模型的优秀示例。

通过采用这种“零成本”策略——以小模型引导大模型——学生和研究人员可以在不耗尽计算资源的情况下实现最先进的 ICL 性能。