我们可以将大型语言模型(LLMs)理解为小样本学习器,可以用很少的例子学习新的任务,甚至只能通过简单的指令来学习,模型参数量的扩展和训练数据的规模是模型泛化能力的关键。LLM的这种改进归功于更强大的计算能力和存储能力。直觉上,改进的推理会导致更好的泛化,从而实现少样本学习,但是尚不清楚有效的少样本学习在多大程度上需要对模型参数有广泛的了解。到目前为止,检索增强模型还没有表现出令人信服的小样本学习能力。在论文中,来自MetaAIResearch等机构的研究人员询问小样本学习是否需要模型在其参数中存储大量信息,以及存储是否可以与泛化解耦。他们提出了Atlas,这是一种检索增强的语言模型,具有很强的小样本学习能力,尽管参数数量低于目前其他强大的小样本学习模型。该模型采用非参数化存储,即基于大量外部非静态知识源,用神经检索器增强参数化语言模型。除了存储容量之外,此类架构还因其在适应性、可解释性和效率方面的优势而具有吸引力。论文地址:https://arxiv.org/pdf/2208.03299.pdfAtlasretrievesrelateddocuments是一个基于Contriever双编码器架构的通用密度检索器,在检索文件时根据当前上下文检索相关文档.检索到的文档连同当前上下文由序列到序列模型处理,该模型使用解码器融合架构生成相应的输出。作者研究了不同技术对训练Atlas在few-shot数据集上一系列下游任务(包括问答和事实核查)性能的影响。研究发现,联合预训练组件对于少镜头性能至关重要。作者评估了许多现有的和新颖的预训练任务和方案。Atlas在小样本和资源丰富的环境中都具有强大的下游性能。仅用11B个参数,Atlas在使用64个训练样例的NaturalQuestions(NQ)上就达到了42.4%的准确率,比540B参数模型PaLM(39.6%)高出近3个百分点,在全数据集设置(Full)下达到64.0%的准确率。YannLeCun表示:Atlas是一个不太大的语言模型(11B参数),在问答和事实核查方面击败了“大佬”。Atlas的主要区别在于它可以从语料库中检索事实。方法概述Atlas遵循文本到文本框架。这意味着所有任务的总体框架是:系统将文本查询作为输入并产生文本输出。例如,在问答任务中,查询对应于问题,模型需要生成答案。在分类任务的情况下,查询对应于文本输入,模型生成类标签,即标签对应的词。图2中的KILT基准给出了更多下游任务的示例。许多自然语言处理任务都需要知识,而Atlas旨在通过检索增强标准文本到文本模型,因为检索对于模型在小场景中的学习能力至关重要。ArchitectureAtlas模型基于两个子模型:检索器和语言模型。在执行任务时,从问答到生成维基百科文章,模型首先通过一个检索器从大型文本语料库中检索出top-k相关文档。然后将这些文档作为语言模型的输入与生成输出的查询一起提供。检索器和语言模型都基于预训练的transformer网络,下面将对此进行详细描述。Retriever:Atlas的Retriever模块基于Contriever,这是一种基于连续密度嵌入的信息检索技术。Contriever使用双编码器架构,其中查询和文档由转换器编码器独立嵌入。平均池化应用于最后一层的输出以获得每个查询或文档的向量表示。然后通过计算查询和每个文档之间相互嵌入的点积,获得它们的相似度分数。Contriever模型使用MoCo对比损失进行预训练,并且仅使用无监督数据。密度检索器的优点之一是查询和文档编码器都可以在没有文档注释的情况下使用梯度下降和蒸馏等标准技术进行训练。语言模型:对于语言模型,Atlas依赖于T5序列到序列架构。该模型还依赖于序列到序列模型的Fusion-in-Decoder修改,并在编码器中独立处理每个文档。然后,该模型将对应于不同文档的编码器的输出连接起来,并对解码器中的单个序列执行交叉注意。该模型将查询连接到编码器中的每个文档。在语言模型中处理检索到的文档的另一种方法是将查询与所有文档连接起来,并将这个长序列用作模型的输入。但这种方法的可扩展性较差,即不会随着文档数量的增加而扩展,因为编码器中的self-attention机制会导致O(n^2)的时间复杂度(其中n为文档数量)。实验结果作者在两个开放域问答基准NaturalQuestions和TriviaQA上评估了Atlas。并使用64个样本的小样本数据集和完整的训练集与之前的工作进行比较。详细对比见下表。在NaturalQuestions和TriviaQA的64-shot问答中表现最佳。特别是它优于更大的模型(PaLM)或需要更多计算来训练的模型(Chinchilla)。当使用完整的训练集时,Atlas也可以取得最优的结果,比如将NaturalQuestions的准确率从55.9%提高到60.4%。该结果是在Atlas的默认设置下使用由CCNet和2021年12月维基百科语料库组成的索引获得的。下表显示了在事实核查数据集FEVER上的测试结果。在Atlas的64-shot情况下,训练样本是从全训练集中采样的。Atlas达到了64.3%的准确率。在15-shot的情况下,每类统一抽取5个样本。与Gopher结果相比,Atlas的准确率为56.2%,比Gopher高出5.1个百分点。在完整训练集上微调Atlas模型达到78%的准确率,比ProoFVer低1.5%。ProoFVer使用专门的架构,检索器使用句子级注释进行训练,由随FEVER发布的维基百科语料库提供,而Atlas从CCNet和2021年12月的维基百科转储中检索。当索引由FEVER维基百科语料库组成的Atlas时,Atlas达到了80.1%的最新水平。为了验证Atlas的性能,Atlas在KILT上进行了评估,KILT是一个由几个不同的知识密集型任务组成的基准。下表显示了测试集上的结果。Atlas64-shot在实验中远远优于随机算法,甚至在排行榜上与一些微调的模型不相上下。例如,在FEVER上,Atlas64-shot仅落后Sphere、SEAL和Re2G2-2.5分,而在零射击RE上优于Sphere和SEAL。在完整数据集上,Atlas在3个数据集上的表现在最佳模型的3%以内,但在其余5个数据集中表现最好。
