近年来,大型语言模型(LLMs)已从处理数百个单词发展为同时管理相当于几本书的内容。这种扩展的输入容量被称为“上下文窗口”,它开启了新的应用和用例,以前这些创造需要大量的工程努力。
谷歌DeepMind的最新研究探讨了具有扩展上下文窗口的LLMs的“多例”上下文学习(ICL)能力。研究结果表明,通过在单个提示中包含数百甚至数千个训练示例,模型的性能可以显著提升,以前这种改进通常需要微调。
少例与多例 ICL
ICL允许LLMs通过推理期间提供的示例学习新任务。这个过程涉及向模型提供一个提示,该提示包含多个已解决的示例和需要解决的问题。通常,这种学习被称为“少例学习”。
与微调(调整模型参数)不同,ICL更加用户友好且易于访问;但其受限于模型的上下文窗口。例如,GPT-3支持约2000个标记的上下文窗口,这限制了可纳入提示的示例数量。
目前的模型可以处理超过100,000个标记,像Gemini 1.5 Pro这样的模型甚至可以处理超过一百万个标记,使得每个提示中可以包含数百或数千个示例。
DeepMind的研究人员调查了多例ICL对LLMs在多种任务(包括数学问题解决、问答、结果奖励建模、低资源语言翻译、规划和情感分析等)的性能影响。一些提示中包含多达8,192个ICL示例,结果显示,随着示例数量的增加,模型性能显著提升。在翻译任务中,Gemini Pro的长例ICL在库尔德语和泰米尔语翻译中取得了创纪录的表现。在摘要任务中,多例ICL的表现与专门微调模型相当,在上下文示例扩展到数十万个标记时,效果达到了最佳。
强化与无监督 ICL
多例ICL的一个主要挑战是对大量高质量人工生成示例的需求,尤其在推理任务中。研究人员提出了两种策略来减少对人工生成数据的依赖。
第一种方法是“强化ICL”,用模型生成的理由替代人工示例。LLM使用少例或零例链思维提示生成多个问题的理由。这些经过验证的答案形成一个包含问题和理由对的ICL数据集。
第二种方法是“无监督ICL”,利用模型对问题的内在知识。该方法的提示包含一列表未解决的问题和针对目标问题的零例或少例提示,从而免去人工答案的需求。研究人员假设,当LLM具备解决任务所需的知识时,提供相关上下文有助于它专注于解决问题所需的内部概念。
研究确认,模型生成的理由和仅包含问题的提示都能减少对人工生成示例的依赖。
调整模型行为
研究还表明,多例ICL能够克服预训练的偏差,并有效学习一些非自然语言预测任务,在这些任务中,少例ICL可能面临困难。例如,研究人员改变情感分析数据集的标签,以反映LLM在训练期间所获得的情感偏置进行对抗。实验表明,随着ICL示例的增加,模型性能显著改善,几乎接近默认标签的表现。此外,多例ICL成功应用于线性分类和序列奇偶性任务的重新配置——这些任务在没有针对性训练的情况下通常很具挑战性。这突显了多例学习在适应新任务和领域方面的潜力,尽管这些领域可能与LLM的训练数据不完全对接。
对企业的影响
随着AI实验室努力扩展LLMs的上下文窗口,一些专家认为微调和其他技术(如检索增强生成RAG)可能不再必要。企业只需构建包含相关信息、示例和任务指令的提示即可。
然而,目前多例ICL并不可扩展。对于每日接收数千万请求的LLM应用程序,每个提示扩展几百个示例可能会显著影响速度和推理成本。
因此,在LLM应用的探索和原型阶段,多例ICL可以作为一个有价值的工具,让开发者在不受上下文窗口限制的情况下尝试各种提示工程技术。然而,高效扩大产品的规模将依赖于最小化标记消耗,并利用更小、更快和更具成本效益的模型。