查看原文
其他

浅探大型语言模型在信息检索中的应用

任瑞阳 RUC AI Box 2023-08-04
© 作者|任瑞阳

机构|中国人民大学高瓴人工智能学院

近期,以GPT系列模型为代表的大型语言模型(LLM)受到了广泛关注,相关的技术也给自然语言处理领域带来了巨大的影响,越来越多工作开始探究LLM在其他领域的应用。本文介绍了LLM在信息检索中的应用相关的10个研究工作,整体来看,现有工作多以few-shot或zero-shot场景为主。文章也同步发布在AI Box知乎专栏(知乎搜索 AI Box专栏),欢迎大家在知乎专栏的文章下方评论留言,交流探讨! 

InPars: Data Augmentation for Information Retrieval using Large Language Models

文章链接:https://arxiv.org/pdf/2202.05144

作者:Luiz Henrique Bonifacio, Hugo Abonizio, Marzieh Fadaee, Rodrigo Frassetto Nogueira

由于检索任务的特殊性,数十亿参数级别的模型很少应用于信息检索。对稠密检索等基于神经网络的检索模型来说,通常缺乏特定领域的标注数据。本文提出把LLM用于数据增广,以few-shot的形式生成标注数据。具体地,给定文档集合中随机采样的文档(丢弃少于300个字符的文档),LLM会生成该文档对应的问题,组成问题-文档的标注对,用于微调精排模型。作者还尝试使用“坏”问题引导的策略,鼓励模型产生比数据集中更好的问题。

实验设置上,作者使用BM25来召回相关的文档,使用monoT5模型作为精排模型,使用GPT-3 Curie模型作为LLM并使用greedy search解码。


Improving Passage Retrieval with Zero-Shot Question Generation

文章链接:https://arxiv.org/pdf/2204.07496

作者:Devendra Singh Sachan, Mike Lewis, Mandar Joshi, Armen Aghajanyan, Wen-tau Yih, Joelle Pineau, Luke Zettlemoyer

本文提出了一个无监督的retriever-reranker pipeline。Retriever基于无监督的模型,如BM25、Contriever等,reranker作者尝试了3B参数量的T5系列模型以及2.7B参数量的GPT-neo。Reranker的训练,仍然是通过让大模型生成和段落对应的query,无监督地获取到大量的标注数据对。作者也发现由于使用了LLM,整个pipeline存在高延迟的问题。


Atlas:Few-shot Learning with Retrieval Augmented Language Models

文章链接:https://arxiv.org/pdf/2208.03299

作者:Gautier Izacard, Patrick S. H. Lewis, Maria Lomeli, Lucas Hosseini, Fabio Petroni, Timo Schick, Jane Dwivedi-Yu, Armand Joulin, Sebastian Riedel, Edouard Grave

本文作者研究了few-shot learning是否要求模型在参数中储存大量信息,以及记忆能力是否能从泛化能力中解耦。为了实现该目的,作者使用检索增强的架构,由外部的非参数知识源来代替模型参数。具体地,使用一个神经检索模型和一个外部的大语料库。相比于大语言模型(LLMs),检索增强模型(Retrieval-augmented model)更擅长知识密集型任务,需要的模型参数量更少,然而,其在few-shot场景下的能力尚不清楚。

基于此,本文提出了Atlas,一个预训练检索增强模型,关注于使用极少训练样例来学习知识密集型任务。相比于540B参数量的PaLM模型,Atlas仅使用五十分之一的参数量就超越了其在Natural Questions数据集上的few-shot效果。

具体地,本文使用基于seq-to-seq框架的Fusion-in-decoder作为语言模型,使用双塔模型检索相关的文档。模型采用联合训练的方式,使用语言模型提供检索模型的监督信号,并考虑了四种损失函数作为训练目标,包括attention distillation(ADist)、end-to-end training of multi-document reader and retriever(EMDR^2)、perplexity distillation(PDist)和leave-one-out perplexity distillation(LOOP)。

本文还进行了无监督的联合预训练,包括prefix language modeling任务,mask language modeling任务和title生成章节内容任务。此外,本文引入了基于乘积量化的索引压缩,同效果下使内存减少了5倍


Generate rather than Retrieve: Large Language Models are Strong Context Generators

文章链接:https://arxiv.org/pdf/2209.10063

作者:Wenhao Yu, Dan Iter, Shuohang Wang, Yichong Xu, Mingxuan Ju, Soumya Sanyal, Chenguang Zhu, Michael Zeng, Meng Jiang

本文提出把传统问答系统中的retrieve-then-read pipeline中的检索模型替换为LLM,创建generate-then-read pipeline。具体地,给定一个query,使用LLM配合指令来生成背景文档,再把生成的文档送入阅读理解模型中生成最终的答案。为了增加生成多样的文档,作者提出基于聚类的提示方法,用GPT-3得到query-文档对的表示,生成时从每个类中采样保证多样性。

本文考虑两个实验设置:(1)Zero-shot设置:使用LLM生成一个背景文档,再使用同样的LLM根据文档生成答案;(2)监督学习设置:使用LLM生成多个背景文档,再使用领域内训练的FiD模型生成答案。作者在实验中展示了LLM生成的文档比检索到的top1文档更有可能包含正确答案,监督学习设置比zero-shot设置下获得了更好的效果。


Promptagator: Few-shot dense retrieval from 8 examples

文章链接:https://arxiv.org/pdf/2209.11755

作者:Zhuyun Dai, Vincent Y. Zhao, Ji Ma, Yi Luan, Jianmo Ni, Jing Lu, Anton Bakalov, Kelvin Guu, Keith B. Hall, Ming-Wei Chang

不同的检索任务通常具有非常不同的检索意图,如检索实体、寻找证据等。本文作者提出Promptagator,few-shot设置下的稠密检索,针对不同任务,使用任务特定的简短描述以及一些带标注的样例(2-8个),以清楚地表明检索意图,不需要其他来源的标注数据。

作者使用FLAN-137B LLM,根据few-shot的样例,为语料库中的文档生成query。为了保证生成的query是文档的“良配”,用生成的query-document数据训练一个检索模型,保留检索模型能用检索到对应文档的query作为最终的训练数据(正例)。然后,使用过滤后的数据训练一个稠密检索模型,同时用于筛选高质量负例。用这些正负例数据最终训练得到一个基于交叉注意力机制的精排模型。


To Adapt or to Annotate: Challenges and Interventions for Domain Adaptation in Open-Domain Question Answering

文章链接:https://arxiv.org/pdf/2212.10381

作者:Dheeru Dua, Emma Strubell, Sameer Singh, Pat Verga

作者提出了一个数据集迁移的分类法,并表明在目标领域分布与源领域相距甚远的情况下,现有方法的zero-shot自适应的效果不佳。为了解决这个问题,作者在few-shot设置中给路径语言模型(PaLM)提供提示,为给定段落生成query。对于PubMed中的文章,作者为模型设计了提示:After reading the article, <<context>> the doctor said <<sentence>>. 在StackOverflow、DailyMail和Reddit领域中,作者分别用engineer、journalist和poster替换了上述提示中的“doctor”,并过滤掉了逐字重复段落或有75%或更多单词重叠的问题。作者使用监督数据和生成的合成数据来训练检索模型。


Precise Zero-Shot Dense Retrieval without Relevance Labels

文章链接:https://arxiv.org/pdf/2212.10496

作者:Luyu Gao, Xueguang Ma, Jimmy Lin, Jamie Callan

本文同样关注zero-shot场景下的稠密检索,提出了假设文档嵌入(HyDE)的方法。给定一个query,首先用zero-shot的方式指示InstructGPT生成一个能回答该query的假设文档,然后使用无监督的稠密检索模型(Contriever)把该文档表示为稠密向量。接下来使用最近邻的方法,从语料库中找到与该假设文档相似的文档。文章假设encoder中的bottleneck层过滤掉了假设文档中的事实性错误以及不正确的细节。作者在实验中证明了HyDE的效果优于无监督的SOTA模型Contriever,在多个任务上的效果和微调的模型相当。


InPars-v2: Large Language Models as Efficient Dataset Generators for Information Retrieval

文章链接:https://arxiv.org/pdf/2301.01820

作者:Vitor Jeronymo, Luiz Henrique Bonifacio, Hugo Abonizio, Marzieh Fadaee, Roberto de Alencar Lotufo, Jakub Zavrel, Rodrigo Frassetto Nogueira

本文是InPars-v1的更新版本,InPars-v220,将GPT-3替换为开源的GPT-J(6B)。为了提示 LLM,他们只使用了InPars-v1中提出的GBQ策略。与v1类似,他们从语料库中抽取了10万个文档,并使用LLM为每个文档生成一个query。不像InPars-v1那样将它们过滤到具有最高对数生成概率的前1万个对,作者使用在 MS MARCO上微调的monoT5(3B)计算的相关性分数来筛选前1万个对。与InPars-v1相比,该模型在大多数测试数据集上有着更好的性能。


InPars-Light: Cost-Effective Unsupervised Training of Efficient Rankers

文章链接:https://arxiv.org/pdf/2301.02998

作者:Leonid Boytsov, Preksha Patel, Vivek Sourabh, Riddhi Nisar, Sayani Kundu, Ramya Ramanathan, Eric Nyberg

作者对InPars进行了可复现研究,并提出了一些更高效的改进。作者没有使用GPT-3,而是选择使用开源的BLOOM和GPT-J作为LLM模型;没有使用MonoT5(220M/3B),使用了MiniLM(30M)、ERNIEv2(335M)和DeBERTAv3(435M)进行了精排模型的实验。作者使用与Promptagator模型相同的方法保证query和文档的一致性,还在所有的领域数据上预训练精排模型。实验证明,为了获得更好的排名输出,只需要对100个候选文档进行重排序,而不是像InPars对1000个进行重排序。


UDAPDR: Unsupervised Domain Adaptation via LLM Prompting and Distillation of Rerankers

文章链接:https://arxiv.org/pdf/2303.00807

作者:Jon Saad-Falcon, Omar Khattab, Keshav Santhanam, Radu Florian, Martin Franz, Salim Roukos, Avirup Sil, Md. Arafat Sultan, Christopher Potts

本文设计了一个两阶段的LLM pipeline,包括一个能力强大且昂贵的LLM,以及一个小且便宜的LLM,在zero-shot场景下生成query。这些query数据用于微调一个精排模型,该精排模型随后被用于蒸馏一个高效的稠密检索模型。该方法默认能够访问到领域内的段落语料库,和上面的其他工作类似,使用LLM(text-davinci-002)生成大量的query,生成query时作者使用了多种提示策略。接下来,使用生成的query文档对,遵循给定的提示模板,以in-context learning的形式使用小LLM(FLAN-T5 XXL)更高效地生成query。作者同样使用了与其他工作类似的一致性过滤方法,使用zero-shot的ColBERTv2模型作为检索模型过滤query,使用过滤后的数据训练基于DeBERTaV3-large的reranker,并蒸馏到ColBERTv2中。

参考资料

[1] https://blog.reachsumit.com/posts/2023/03/llm-for-text-ranking


ICLR 2023 | UniKGQA: PLM+KG新架构,同时适配检索和推理!


百篇论文纵览大型语言模型最新研究进展

综述:扩散模型在文本生成中的应用



点击下方“阅读原文”前往知乎专栏

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存