大语言模型在信息检索研究中的革新应用
引言
大语言模型(Large Language Models, LLM)对于传统信息检索技术与应用范式带来了重要影响。这两者在技术路径上具有紧密的互补性。大语言模型拥有强大的语言理解、推理与生成能力,能够助力构建更为智能的信息检索系统;而信息检索技术能够高效地从外界获取所需要的相关信息,可以为大语言模型提供更为精确、可靠的上下文信息。本文旨在概要介绍如何利用大语言模型提升信息检索效果,以及检索增强的大语言模型架构。
一、大语言模型提升信息检索任务
1. 利用大语言模型进行信息检索
现代信息检索系统通常采用检索 - 重排序的流水线框架。在这个框架内,检索模型首先从大规模语料库中检索相关的候选信息,然后由重排序模型对候选信息进行精细排序,以优化检索结果。利用大语言模型改进信息检索系统的研究工作主要可以分为两类:
- 作为检索基座模型:沿用以往稠密检索的训练方法,通过在检索数据上进行微调,构建检索器或重排序器。利用大语言模型较好的语义理解能力,提升文本表示的质量,进而提高检索效果。由于检索任务对于效率要求较高,研究人员一般使用规模相对较小的语言模型(如 Mistral-7B)用于稠密检索。
- 作为重排序器:通过设计特殊的指令(例如'请判断下述查询和文档的相关程度'),直接引导大语言模型生成两者的相关程度(如相关度分类或者打分),用于对候选文档集合进行排序以完成检索任务。出于效率考虑,大多数研究工作主要将大语言模型应用于重排序阶段,通常可以采用逐点评测法(Pointwise)、成对比较法(Pairwise)以及列表排序法(Listwise)三种方法对于召回的候选文档列表进行重排序。
2. 大语言模型增强的信息检索模型
由于大语言模型具有出色的语义理解与生成能力,其可以为信息检索模型补充相关性信息。主要可以分为以下两类方法:
- 数据标注增强:通过构造特殊的提示,使得大语言模型能够充当人类标注者的角色,以较低成本完成大规模训练数据的标注工作,为传统检索模型补充高质量标注数据。例如,针对检索语料库中的文档,可以引导大语言模型基于该文档生成一个候选查询,并将这组数据对扩充到训练数据中,实现训练数据增强。
- 查询改写与扩充:同样通过设计特殊的提示,利用大语言模型对输入查询进行改写,辅助信息检索模型精准理解用户的需求。此外,还可以利用大语言模型对查询进行详细解释和扩充,并将这些内容附加到原始查询之后,帮助信息检索模型获取更全面的结果。
二、检索增强的大语言模型
受限于训练数据的时效性和局限性,当涉及实时新闻或特定专业领域内知识时,大语言模型的生成结果可能不够准确。为弥补这一不足,研究人员引入了检索增强生成(Retrieval-Augmented Generation, RAG)技术。该技术旨在通过信息检索系统从外部知识库中获取相关信息,为大语言模型提供时效性强、领域相关的外部知识,以减少大语言模型生成内容中的错误。
然而,真实的应用场景下,检索返回的结果可能受限于检索质量、呈现格式、输入长度等问题,从而导致大语言模型不能很好地利用这些信息。为了使大语言模型在检索增强生成场景中有更好的表现,本节将介绍三种改进策略:输入优化,指令微调,和预训练策略。
1. 输入优化策略
在检索增强生成的场景中,大语言模型主要面临两个主要挑战。首先,当处理包含多个参考文档的长文本时,其信息利用能力往往会下降;其次,检索到的结果中可能包含与任务无关的文档,这可能会干扰模型对关键信息的识别和处理。为了克服这些挑战,可以使用过滤、压缩、摘要等技术,在文档和词元两个层级优化模型输入。
- 文档层面:可以使用相关度排序模型度量文档与查询之间的相关程度,过滤与查询相关程度较低的候选文档。
- 词元层面:可以采用压缩或摘要方法来实现更细粒度的内容优化。具体来说,可以使用自动摘要模型对查询和检索文档生成综合性摘要,从中抽取更加精炼且与查询紧密相关的内容。由于这一过程可能会丢失重要的信息(例如人名中姓氏被删除),故可以预先对关键实体等重要信息进行抽取和保留,之后再对其进行恢复。
2. 指令微调策略
指令微调策略可以用来加强大语言模型对于检索结果中所包含信息的利用能力。该策略的核心在于构造面向检索文档利用的指令数据,并通过对大语言模型进行微调,提升其对文档信息的处理和理解能力。在指令设计时,需要关注两个问题:
- 确保模型能够平等地关注输入中不同位置(如开头、中间、结尾)的内容,以缓解某些位置的信息容易被忽略的问题(如中间位置)。
- 当存在不相关信息的检索文档时,大语言模型应尽可能地避免被这些信息干扰。
基于这两点,可以通过添加特殊的指令数据,例如将相关文档放置于不同的位置,或包含不相关文档,以提升大语言模型在检索增强生成任务上的表现。


