暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

对齐 LLM 和检索器的方法|RAG 论文分享

313
今天分享的是ACL 2024的一篇论文:
Aligning Retrievers for Black-box Large Language Models via Self-guided Adaptive Relevance Labeling 

通过自适应标签对齐黑盒大语言模型的检索器

论文摘要

检索增强生成(RAG)通过整合外部数据源的信息来增强大语言模型(LLM)。这使得LLM能够适应特定领域。但现有的检索器和LLM是分开训练的,导致模型之间是不对齐的。有一些相关工作通过LLM和检索器的联合训练来解决这个问题,但从0开始训练LLM是成本极高的。而且很多模型是黑盒模型,无法获取模型参数。

为了解决这个问题,本文提出了ARL2方法,利用LLM来注释和评分相关数据。从而来训练检索器。此外,还提出了低成本的自适应策略来生成高质量、多元化的相关数据。实验显示,与其他方法相比,在NQ和MMLU数据集准确率增长5.4%和4.6%。

论文地址:https://arxiv.org/pdf/2402.13542

主要方法

如何利用LLM来构建一个多样化和高质量的相关性标签训练数据集?

1. 数据集

与传统的query-document数据集不同的是,本文使用的数据集格式如下

代表从文档提取出的文本片段,代表基于对问题的有效程度,可以取3个值,0代表无效,0.5代表部分有效果,1代表完全有效。
完整的数据集包括两部分使用Wikipedia、MS MARCO数据集。对于数据集中的每个文档,通过三步生成训练数据集。分别是问题生成、证据识别、证据评分。通过这个流程生成10万条数据集。另外,从QA benchamarks提取了14万数据组成

2. 生成问题的多样性

由LLM从文档中生成问题的质量很大程度上取决于提供的样例。通常,生成的问题遵循给出的示例相似的模式。这里的模式是指句子结构,例如问句、陈述句等等。为了提高问题的质量,首先从中提取与目标文档相似的相关的问题。然后根据问题的模式对中的所有问题进行聚类,并从不同的社群中选择多个问题模式来生成不同的问题。为了生成多样性的问题,聚类的过程屏蔽了问题中提到的实体,来提升对核心问题结构的关注度。具体来说,将mask的问题做句子嵌入后通过ISO-DATA方法(K-means的一个变种)进行聚类。

3. 生成相关度评价

将问题和文档输入给ChatGPT,使用设定的提示词来生成证据和相关性分数。对于检索器来说,除了需要正负样本,还需要挑战性的负样本来增强检索能力。作者通过从相同文章或其他类似文章抽取文档段落的方式生成了挑战性负样本数据集。

如何训练检索器?

密集检索器的目标是将所有映射到密集向量中以构建用于检索的索引。然后通过向量的相似性度量来获取查询的top-文档。
本文使用双编码器结构,通过文档编码器和查询编码器将查询和文档映射到低维实值向量。使用Faiss计算文档和查询之间的相似度。

损失函数采用ranking loss,由如下两部分组成。

其中表示区分阳性和阴性证据的列表损失,表示关注(完全支持,部分支持)和(部分支持,不支持)之间的对损失。具体表示如下:

精彩段落

<<< 左右滑动见更多 >>>

总结

本文提出了一个针对黑盒LLM和检索模型对齐的方法,利用LLM对数据的判断来调整检索器,且无需训练LLM。提供了成本更低的方法。进一步的,文章中还提出了自适应的训练方法来进一步的降低模型API的调用花销,这部分详情可以参考原文Adaptive Relevance Labeling这一部分。

编者简介

李剑楠:华东师范大学硕士研究生,研究方向为向量检索。作为核心研发工程师参与向量数据库、RAG等产品的研发。代表公司参加DTCC、WAIM等会议论坛进行主题分享。


关注 AI 搜索引擎,获取更多专业技术分享

文章转载自向量检索实验室,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论