Back to Headlines

谷歌DeepMind提出AuPair,解锁更高效上下文学习的新范式

7 天前

在使用大语言模型(LLM)进行上下文学习(In-Context Learning, ICL)时,通过提供输入输出示例来引导模型生成正确结果,已成为一种高效的方法。常见的策略包括单样本(one-shot)、少样本(few-shot)以及思维链(chain-of-thought)等。然而,传统方法往往随机选取示例,缺乏对示例质量的系统评估,导致效果不稳定。 为解决这一问题,谷歌DeepMind提出了AuPair:一种针对代码修复任务的“黄金示例对”生成方法。该方法的核心思想是:不是随意挑选例子,而是通过系统化筛选,找出真正能有效提升模型表现的“黄金示例对”。 AuPair分为两个关键阶段。第一阶段是生成大量候选示例对——即原始错误代码与正确修复版本的组合。第二阶段是“黄金对”提取:首先构建一个验证数据集(包含各类错误代码),然后对每个候选示例对,将其作为单样本示例,与验证问题一同输入模型,生成修复结果,并通过单元测试评估修复是否成功,从而获得一个衡量每个示例对在各类问题中表现的“质量矩阵”。 随后,算法采用贪心策略:每次选择在所有验证问题上平均得分最高的示例对加入“黄金对”列表,并从质量矩阵中移除该对的贡献,避免重复或冗余。这一过程持续进行,直到新增对的提升效果低于阈值。最终得到的是一组互补性强、各具独特价值的“黄金示例对”。 实验表明,AuPair在7个不同编程竞赛数据集上,使用5种不同LLM均显著优于传统方法(如自省和最佳N采样),且仅需12个黄金示例对即可达到传统随机32个示例的效果,计算效率提升2至3倍。更令人惊喜的是,基于CodeForces数据训练出的黄金对,也能在HackerEarth、AtCoder等不同平台的代码修复任务中表现良好,说明其具备良好的泛化能力。 尽管AuPair表现出色,但也存在局限:需要大量计算资源用于生成候选对和迭代测试;依赖可量化的评估指标(如单元测试),在缺乏明确评估标准的领域难以应用;且主要验证于结构化竞赛题目,尚未在复杂真实代码库中测试。 总体而言,AuPair为ICL提供了一种更智能、更高效的示例选择范式。它证明了通过系统化生成与评估,可以显著提升模型性能。这一思路为文本转SQL、自然语言推理等其他领域提供了重要启发,预示着未来可构建通用的“黄金示例库”,推动AI模型更精准、高效地学习。

Related Links