使用LLM来人造数据增强embedding检索模型

前言:

今天介绍一篇META发表的一个论文LLM-Augmented Retrieval: Enhancing Retrieval Models Through Language Models and Doc-Level Embedding。旨在通过大语言模型来人造数据,增强检索模型的能力。此外,它提出了一种新的模型无关的文档级embedding框架。

笔者锐评:其实看这篇文章,学习下人造数据的prompt,以及使用人造数据的时候和真实的检索数据区分下(可以参考作者调试出来的权重参数以及做的消融实验)。此外,它介绍了两种策略,一种是难负例挖掘的改进,一种是loss的改进。

人造数据:

motivation:

query和doc一般是异构的,因此,通过LLM为doc人造一个query,充当一个query和doc的中间媒介,可以降低query检索到对应doc的难度。

图片

主要工作:

使用LLM为每个doc生成人造title,以及人造query。另外,把长doc切分为多个chunks(passages)来进行检索。(这里直接使用原文)。

图片

生成人造query和title的prompt如下:

图片

doc-level embedding框架:

把doc的文本拆分为三种embedding:synthetic queries, title and chunk。

其中如下图所示,人造query以及chunk有多个,而title只有一个。作者认为:这样可以从不同的角度来表示doc的语义。有利于检索。

图片

双塔模型的应用:

本质上就是在这种框架下,如何计算query和doc的相似度。

图片

s是相似度函数,一般为余弦相似度。

左边的这一项目:是当前doc检索常用的一种方法。把doc切分为chunk,计算queyr和第i个chunk的相似度,然后取query与所有chunk中,相似度最大值,作为query和doc的相似度。

右边的求和是query和三种不同的doc表示(e_f)来进行相似度的计算。****(synthetic queries, title and chunk)

w_f是0-1之间的权重参数,代表不同表示的重要性。

其中synthetic queries和chunk有多个,title只有一个:

有多个的也会有多个embedding,因此作者的做法是把多个synthetic queries(chunk)先抽取固定维度的向量,然后再进行一个mean poolling。再来和query计算相似度。

另外,因此相似度函数(点积和余弦相似度是线性的,因此,上述的公式可以被简化为:

图片

因此,每个chunk有自己的一个embedding即可,同时,也可以用ANN搜索。

colbert模型的应用:

作者认为,因为colbert是token级别的计算相似度(query的一个token的embedding,会去和doc所有token的embedding去计算相似度,然后取最大),因此将doc的不同表示synthetic queries, title and chunk,拼接起来就行。他们会参与query与doc的计算。

图片

实验:

因为是模型无关的改进,因此作者选择了多个基准模型模型,

双塔:Contriever;DRAGON

交互式模型:ColBERTv2.

细节参数:

Contriever:w_query=1,w_title=0.5,w_chunk=0.1

DRAGON: w_query=0.6,w_title=0.3,w_chunk=0.3

chunk_size=64

主要实验:

双塔:

图片

迟交互:

图片

实验结论:使用这种doc-levl embedding框架,相比原来的结果,都有较大提升。

消融实验:

只使用doc的一种表示,并且权重设置为1。

图片

实验结论:大多数情况下,人造query带来的提升比其他两种大,另外,合并三种不同的doc表示的提升一般最大。

训练技巧:

动态的难负例采样:

之前的难负例挖掘(采样top n中不是 ground truth)一般是静态的,作者认为,可以在训练过程中变成动态的,然后更新训练集中的难负例。具体方法:定期重新计算训练集中的难负例。

Loss Function:

作者认为,二分类的交叉熵loss不适合检索的排序任务,因为其主要是做分类,最大化query和正例的分值,以及最小化query和负例的分值。

检索的排序任务,主要关注的是相对的序以及正例和负例之间的差距。因此,他们采用了margin ranking loss。

图片

作者的实验展示,这种margin loss优于交叉熵loss,在具体数据的微调中。

总结:

还是有收获的,对于长doc,更好的理解和表示doc的内容,可以将更好的将异构的doc检索到。这篇工作的着力点:是利用的LLM来更好的表示doc。

如何学习AI大模型?

作为一名热心肠的互联网老兵,我决定把宝贵的AI知识分享给大家。 至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

一、全套AGI大模型学习路线

AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!

img

二、640套AI大模型报告合集

这套包含640份报告的合集,涵盖了AI大模型的理论研究、技术实现、行业应用等多个方面。无论您是科研人员、工程师,还是对AI大模型感兴趣的爱好者,这套报告合集都将为您提供宝贵的信息和启示。

img

三、AI大模型经典PDF籍

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。

img

四、AI大模型商业化落地方案

img

作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值