增强问答文本检索的排序(RAG)模型,你学会了吗?
引言:文本检索在信息检索系统中的重要性
文本检索是信息检索系统的核心组成部分,它在搜索引擎、问答系统和推荐系统等多种应用中发挥着至关重要的作用。随着技术的发展,文本检索已经从简单的关键词匹配演变为利用复杂的算法理解和匹配文本的语义。特别是在问答系统中,文本检索技术能够从大量数据中找到与用户查询最相关的信息,这对于提高系统的准确性和用户满意度至关重要。
近年来,随着深度学习技术的发展,基于神经网络的排名模型在文本检索中的应用越来越广泛。这些模型通过学习文本之间深层的语义关系,能够更准确地评估和排序搜索结果,从而显著提高检索的准确性。此外,多阶段文本检索系统的出现,通过先进行粗筛选再精细排序的方式,进一步提高了检索效率和准确性。
本文将详细介绍文本检索技术的最新进展,特别是在问答系统中的应用,并通过实验比较不同排名模型的性能,为文本检索技术的发展和应用提供参考。
论文标题: Enhancing Q&A Text Retrieval with Ranking Models: Benchmarking, fine-tuning and deploying Rerankers for RAG
机构: NVIDIA
论文链接:https://arxiv.org/pdf/2409.07691.pdf
文本检索与排名模型的基本概念
1. 文本检索的核心作用
文本检索是许多信息检索应用的核心组成部分,如搜索、问答(Q&A)和推荐系统。近年来,文本检索通过检索增强生成(RAG)系统被赋予了新的使命,即为大型语言模型(LLM)提供外部和最新的上下文信息。
2. 文本嵌入模型
文本嵌入模型将变长文本表示为固定维度的向量,这对于有效的文本检索至关重要,因为它们能够语义匹配文本内容。这些模型基于Transformer架构,如Sentence-BERT、DPR等,通常通过对比学习作为双编码器或后组合模型进行训练,优化模型以最大化查询和相关(正向)段落之间的相似性,同时最小化查询和非相关(负向)段落之间的相似性。
3. 排名模型
排名模型在文本检索系统中发挥着至关重要的作用,它们通常作为交叉编码器,输入查询和段落对,使用自注意力机制深入模拟查询和段落对的语义关系。排名模型仅为检索模型检索到的顶部候选段落提供相关性预测,可以通过使用较小的嵌入模型来提高检索准确性,从而显著减少索引时间和成本。
NV-RerankQA-Mistral-4B-v3模型的介绍与优势
1. 模型概述
NV-RerankQA-Mistral-4B-v3是一种先进的排名模型,它在文本检索准确性上实现了显著提升。该模型是从Mistral 7B模型修剪而来,只保留了底部的16层,以减少推理计算和内存需求。此外,它的自注意力机制从单向(因果)修改为双向,以改进Mistral基于嵌入模型的准确性。
2. 训练与优化
NV-RerankQA-Mistral-4B-v3采用对比学习和InfoNCE损失函数进行训练,这种列表式对比学习损失函数旨在最大化问题和正向段落对的相关性得分,同时最小化问题和负向段落对的得分。在数据预处理阶段,通过使用教师嵌入模型从语料库中挖掘负样本,以确保高质量的训练数据。
实验设置与数据集
1. 数据集选择与处理
在本研究中,我们使用了BEIR数据集的三个问答子集:Natural Questions (NQ)、HotpotQA 和 FiQA。这些数据集已经被预处理,分割成不超过512个词元的小段落。这种处理方式是为了适应模型输入的限制,并确保数据的一致性和可管理性。
2. 实验流程
实验的设置模仿了典型的文本检索索引和查询流程。首先进行索引流程,将文本语料库分割成更小的段落,并使用嵌入模型将这些段落转换成向量后存储在向量数据库中。查询流程随后进行,对于每个查询,系统都会返回一个按相关性排序的段落列表,用于计算检索指标(如NDCG@10)。
在具体实现中,查询问题被嵌入后,通过向量搜索(例如使用精确或近似最近邻算法)在向量索引中找到最相关的top-k段落。然后,这些top-k段落通过排名模型进行重新排序,以生成最终的有序列表。
实验结果与分析
1. 基准结果
我们在不同的嵌入模型和排名模型组合下,对文本检索流程进行了基准测试。测试结果显示在不同的问答数据集上的NDCG@10评分如下:
- 对于较小的嵌入模型(如snowflake-arctic-embed-l和NV-EmbedQA-e5-v5),大多数交叉编码器(除了小型的ms-marco-MiniLM-L-12-v2)都显著提高了排名准确性。
- 对于较大的嵌入模型(如NV-EmbedQA-Mistral7B-v2),只有大型的NV-RerankQA-Mistral-4B-v3排名模型能够提高其准确性。
特别是,NV-RerankQA-Mistral-4B-v3排名模型在所有数据集上都提供了最高的排名准确性,较第二好的排名模型(bge-reranker-v2-m3)高出14%。
模型训练的权衡考虑
在部署文本检索系统时,尤其是涉及到排名模型的多阶段文本检索系统,我们必须在模型大小、排名准确性和系统需求(如索引和服务的延迟/吞吐量)之间进行权衡。这些权衡考虑对于实现高效且成本效益高的系统至关重要。
1. 模型大小与系统性能的权衡
模型的大小直接影响到系统的性能。大型模型虽然能够提高检索的准确性,但同时也会增加索引的时间和成本。例如,使用大型嵌入模型(如NV-EmbedQA-Mistral7B-v2)进行文本索引,会显著增加处理时间,这对于需要频繁更新索引的应用场景是不可接受的。因此,可能需要通过使用较小的嵌入模型和排名模型的组合来优化性能和成本。
2. 排名准确性与索引吞吐量的权衡
排名模型可以显著提高检索的准确性,特别是在顶级候选文档的再排名中。然而,这种准确性的提高可能以牺牲索引吞吐量和服务延迟为代价。例如,NV-RerankQA-Mistral-4B-v3虽然在排名准确性上表现优异,但其复杂性和计算需求较高,可能不适合需要快速响应的应用。
本文转载自51CTO技术栈,作者:柏企