信息检索中的预训练模型:发展现状与未来趋势

RayRay
信息检索预训练模型神经网络深度学习搜索引擎Github开源项目

awesome-pretrained-models-for-information-retrieval

引言

信息检索(Information Retrieval, IR)是计算机科学中一个重要的研究领域,其目标是从大规模非结构化数据中快速准确地找到用户所需的信息。近年来,随着预训练语言模型(如BERT)在自然语言处理领域的成功应用,信息检索领域也开始广泛探索如何利用预训练模型来提升检索性能。本文将全面介绍信息检索中预训练模型的应用现状,梳理相关研究工作,并展望未来发展趋势。

第一阶段检索

第一阶段检索的目标是从海量文档中快速筛选出一个相对较小的候选文档集。这个阶段通常采用稀疏检索或密集检索的方法。

稀疏检索

稀疏检索是传统信息检索的主流方法,典型代表是基于倒排索引的BM25算法。近年来,研究人员探索了如何利用预训练模型来改进稀疏检索的性能,主要包括以下几个方向:

  1. 神经词项重新加权

这类方法使用神经网络模型来学习更好的词项权重。例如,DeepTR[1]使用分布式表示来学习词项权重;DeepCT[2]和HDCT[3]利用BERT来学习上下文相关的词项权重。这些方法可以捕获词项的语义信息,从而提高检索效果。

  1. 查询或文档扩展

查询扩展和文档扩展旨在缓解词汇不匹配问题。doc2query和docTTTTTquery[4]使用seq2seq模型将文档转换为可能的查询,从而扩展文档表示。这种方法可以在保留原始词项的同时引入语义相关的新词项。

  1. 稀疏表示学习

这类方法直接学习文档和查询的稀疏表示。例如,SPLADE[5]使用BERT作为骨干网络,通过MLM任务和二值门控机制学习稀疏表示。这种方法可以学习到语义相关的稀疏表示,同时保持高效的检索速度。

密集检索

密集检索使用低维稠密向量来表示文档和查询,通过向量相似度来进行检索。这种方法可以更好地捕获语义信息,但面临着效率和可扩展性的挑战。主要研究方向包括:

  1. 困难负样本挖掘

有效的负样本对于训练高质量的密集检索模型至关重要。DPR[6]提出了批内负样本和跨批次负样本的方法;ANCE[7]提出在训练过程中动态更新索引来挖掘困难负样本;RocketQA[8]结合了跨批次负样本、去噪和数据增强等技术。这些方法显著提升了密集检索的性能。

  1. 延迟交互和多向量表示

为了平衡效率和效果,一些工作探索了延迟交互和多向量表示的方法。ColBERT[9]为每个token保留一个向量,在检索阶段进行延迟交互;Poly-encoders[10]使用多个向量来表示文档,可以灵活调节效率和效果的平衡。

  1. 知识蒸馏

知识蒸馏是提升密集检索效率的有效方法。TCTColBERT[11]从ColBERT模型蒸馏得到单向量表示;TAS-Balanced[12]从BERT集成模型蒸馏得到轻量级的密集检索模型。这些方法可以在保持性能的同时显著提升检索效率。

  1. 针对密集检索的预训练

一些工作探索了如何设计更适合密集检索的预训练方法。ICT(Inverse Cloze Task)[13]通过预测段落对应的句子来学习文档表示;Condenser[14]设计了一种新的预训练架构,可以学习更紧凑的文档表示。

  1. 联合学习检索和索引

为了进一步提升密集检索的效率,一些工作尝试联合优化检索模型和索引结构。JPQ[15]联合优化查询编码器和乘积量化索引;RepCONC[16]通过约束聚类来学习离散表示。这些方法可以在保证检索质量的同时显著提升检索速度。

混合检索

混合检索结合了稀疏检索和密集检索的优势。DENSPI[17]同时使用稀疏短语索引和密集向量索引;一些工作[18][19]探索了如何有效结合BM25和神经检索模型。这些方法可以在不同场景下取得更好的检索效果。

第二阶段重排序

第二阶段重排序的目标是对第一阶段检索的候选文档进行更精细的排序。这个阶段通常可以使用更复杂的模型来提升排序质量。

基本用法

  1. 判别式排序模型

判别式模型直接学习文档相关性的打分函数。典型的方法是使用BERT等预训练模型对查询-文档对进行编码,然后通过分类或回归来预测相关性分数。例如,monoBERT[20]可能是首个将BERT应用于文档重排序的工作;CEDR[21]将BERT与传统的神经IR模型相结合。

  1. 生成式排序模型

生成式模型通过生成任务来隐式地学习文档相关性。例如,一些工作[22][23]探索了使用GPT、BART或T5等生成式模型来重构查询或生成相关性标记。这类方法可以更好地利用预训练模型的生成能力。

  1. 混合排序模型

混合模型结合了判别式和生成式模型的优势。例如,GDMTL[24]通过多任务学习同时优化判别式和生成式目标,可以取得更好的排序效果。

长文档处理技术

由于预训练模型通常有输入长度限制,处理长文档是一个重要的挑战。主要的解决方案包括:

  1. 段落分数聚合

这类方法将长文档分割成多个段落,分别计算段落得分,然后通过某种方式聚合得到文档得分。例如,BERT-MaxP[25]取所有段落得分的最大值;Birch[26]在句子级别进行处理。

  1. 段落表示聚合

这类方法首先得到段落的表示,然后通过某种方式聚合得到文档表示。PARADE[27]对比了多种段落表示聚合方法,包括池化、RNN和Transformer等。

  1. 设计新的网络架构

一些工作专门设计了处理长文档的新架构。例如,TKL[28]使用局部自注意力机制来处理长文本;SMITH[29]使用层次化的编码器来处理长文档。

提高效率

为了在实际应用中实现高效的文档重排序,研究人员探索了多种提升效率的方法:

  1. 解耦交互

DC-BERT[30]和PreTTR[31]等工作提出将查询和文档的编码过程解耦,可以预先计算文档表示以提高效率。

  1. 知识蒸馏

知识蒸馏是一种有效的模型压缩方法。例如,可以从大型交叉编码器模型蒸馏到更小的双塔模型[32],或者蒸馏到更浅的Transformer模型[33]。

  1. 部分微调

只对预训练模型的部分参数进行微调可以显著减少计算开销。例如,可以只微调上层或者某些模块的参数[34]。

  1. 早停机制

通过设计早停机制,可以在推理过程中根据置信度提前结束计算。例如,DeeBERT[35]在每一层都设置分类头,可以在较浅的层提前输出结果。

联合学习检索和重排序

一些工作尝试将第一阶段检索和第二阶段重排序联合优化。例如,RocketQAv2[36]通过知识蒸馏的方式实现检索模型和重排序模型的联合学习;一些工作[37][38]探索了如何在端到端的框架下同时优化检索和重排序。这种方法可以充分利用两个阶段的互补性,取得更好的整体效果。

基于模型的IR系统

随着预训练模型在IR领域的广泛应用,一些工作开始探索完全基于神经模型的IR系统。例如,REALM[39]将检索模块集成到语言模型中,实现了检索增强的语言模型预训练;一些工作[40][41]探索了如何使用生成式模型来实现端到端的问答系统。这些工作为未来的IR系统设计提供了新的思路。

大型语言模型与IR

大型语言模型(LLM)的出现为IR领域带来了新的机遇和挑战。主要的研究方向包括:

  1. 检索增强的LLM

通过在LLM中集成外部知识检索模块,可以显著提升模型的知识覆盖面和事实准确性。例如,RETRO[42]和ATLAS[43]等工作探索了如何在预训练和推理阶段有效地结合检索结果。

  1. LLM用于IR

研究人员也在探索如何利用LLM来改进IR系统的各个环节。主要方向包括:

  • 合成查询生成:使用LLM生成高质量的训练查询[44]。
  • 合成文档生成:使用LLM生成额外的训练文档[45]。
  • 相关性评分:使用LLM直接评估查询-文档对的相关性[46]。
  • 基于IR的文本生成:结合检索结果来提升LLM的生成质量[47]。

这些工作展示了LLM在IR领域的巨大潜力,但如何高效地将LLM应用到大规模IR系统中仍面临诸多挑战。

多模态检索

随着多模态数据的增长,多模态检索也成为一个重要的研究方向。主要的方法可以分为两类:

  1. 统一的单流架构

这类方法使用统一的编码器来同时处理多种模态的输入。例如,UNITER[48]和OSCAR[49]等工作探索了如何在预训练阶段就学习多模态的联合表示。

  1. 多流架构

这类方法为不同模态使用独立的编码器,然后在某个阶段进行融合。例如,CLIP[50]分别使用文本编码器和图像编码器,通过对比学习来对齐两种模态的表示空间。

多模态检索在图文检索、视频检索等领域有广泛的应用前景,但如何有效地融合不同模态的信息仍是一个开放的问题。

未来展望

基于预训练模型的信息检索技术在近年来取得了显著进展,但仍面临一些挑战和机遇:

  1. 效率与效果的平衡:如何在保证检索质量的同时提升系统效率,特别是在大规模应用场景下,仍是一个重要的挑战。

  2. 长文本和多模态处理:如何更好地处理长文本文档以及融合多种模态的信息,需要进一步的探索。

  3. 可解释性和公平性:随着模型变得越来越复杂,如何提升模型的可解释性和确保检索结果的公平性变得越发重要。

  4. 与大型语言模型的结合:如何有效利用大型语言模型的能力来增强IR系统,以及如何设计更高效的检索增强型LLM,是未来的重要研究方向。

  5. 领域适应和少样本学习:如何快速将预训练模型适应到新的领域或任务,以及如何在少量标注数据的情况下实现高效学习,也是值得关注的方向。

  6. 端到端IR系统:探索完全基于神经模型的端到端IR系统

编辑推荐精选

Transly

Transly

实时语音翻译/同声传译工具

Transly是一个多场景的AI大语言模型驱动的同声传译、专业翻译助手,它拥有超精准的音频识别翻译能力,几乎零延迟的使用体验和支持多国语言可以让你带它走遍全球,无论你是留学生、商务人士、韩剧美剧爱好者,还是出国游玩、多国会议、跨国追星等等,都可以满足你所有需要同传的场景需求,线上线下通用,扫除语言障碍,让全世界的语言交流不再有国界。

讯飞智文

讯飞智文

一键生成PPT和Word,让学习生活更轻松

讯飞智文是一个利用 AI 技术的项目,能够帮助用户生成 PPT 以及各类文档。无论是商业领域的市场分析报告、年度目标制定,还是学生群体的职业生涯规划、实习避坑指南,亦或是活动策划、旅游攻略等内容,它都能提供支持,帮助用户精准表达,轻松呈现各种信息。

AI办公办公工具AI工具讯飞智文AI在线生成PPTAI撰写助手多语种文档生成AI自动配图热门
讯��飞星火

讯飞星火

深度推理能力全新升级,全面对标OpenAI o1

科大讯飞的星火大模型,支持语言理解、知识问答和文本创作等多功能,适用于多种文件和业务场景,提升办公和日常生活的效率。讯飞星火是一个提供丰富智能服务的平台,涵盖科技资讯、图像创作、写作辅助、编程解答、科研文献解读等功能,能为不同需求的用户提供便捷高效的帮助,助力用户轻松获取信息、解决问题,满足多样化使用场景。

热门AI开发模型训练AI工具讯飞星火大模型智能问答内容创作多语种支持智慧生活
Spark-TTS

Spark-TTS

一种基于大语言模型的高效单流解耦语音令牌文本到语音合成模型

Spark-TTS 是一个基于 PyTorch 的开源文本到语音合成项目,由多个知名机构联合参与。该项目提供了高效的 LLM(大语言模型)驱动的语音合成方案,支持语音克隆和语音创建功能,可通过命令行界面(CLI)和 Web UI 两种方式使用。用户可以根据需求调整语音的性别、音高、速度等参数,生成高质量的语音。该项目适用于多种场景,如有声读物制作、智能语音助手开发等。

Trae

Trae

字节跳动发布的AI编程神器IDE

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

AI工具TraeAI IDE协作生产力转型热门
咔片PPT

咔片PPT

AI助力,做PPT更简单!

咔片是一款轻量化在线演示设计工具,借助 AI 技术,实现从内容生成到智能设计的一站式 PPT 制作服务。支持多种文档格式导入生成 PPT,提供海量模板、智能美化、素材替换等功能,适用于销售、教师、学生等各类人群,能高效制作出高品质 PPT,满足不同场景演示需求。

讯飞绘文

讯飞绘文

选题、配图、成文,一站式创作,让内容运营更高效

讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。

热门AI辅助写作AI工具讯飞绘文内容运营AI创作个性化文章多平台分发AI助手
材料星

材料星

专业的AI公文写作平台,公文写作神器

AI 材料星,专业的 AI 公文写作辅助平台,为体制内工作人员提供高效的公文写作解决方案。拥有海量公文文库、9 大核心 AI 功能,支持 30 + 文稿类型生成,助力快速完成领导讲话、工作总结、述职报告等材料,提升办公效率,是体制打工人的得力写作神器。

openai-agents-python

openai-agents-python

OpenAI Agents SDK,助力开发者便捷使用 OpenAI 相关功能。

openai-agents-python 是 OpenAI 推出的一款强大 Python SDK,它为开发者提供了与 OpenAI 模型交互的高效工具,支持工具调用、结果处理、追踪等功能,涵盖多种应用场景,如研究助手、财务研究等,能显著提升开发效率,让开发者更轻松地利用 OpenAI 的技术优势。

Hunyuan3D-2

Hunyuan3D-2

高分辨率纹理 3D 资产生成

Hunyuan3D-2 是腾讯开发的用于 3D 资产生成的强大工具,支持从文本描述、单张图片或多视角图片生成 3D 模型,具备快速形状生成能力,可生成带纹理的高质量 3D 模型,适用于多个领域,为 3D 创作提供了高效解决方案。

下拉加载更多