AI知识库

53AI知识库

学习大模型的前沿技术与行业应用场景


LLM-Augmented Retrieval--一种新型检索增强框架,数据不够,LLM来凑
发布日期:2024-05-08 07:56:36 浏览次数: 1771


提纲
1 简介
2 LLM-augmented Retrieval
    2.1 增强数据表示
    2.2 Doc-level embedding
3 实验
4 讨论
参考文献


1 简介 

    近日,Meta的研究人员发布了一个利用大模型增强的文档embedding框架,通过LLM从不同角度去增强数据的表示,从而明显地提升了包括Bi-encoders跟late-interaction models这些被广泛使用的检索模型的效果。‍‍‍‍‍‍‍‍‍‍


2 LLM-augmented Retrieval

    整个增强框架可以分为两部分,其一是利用大模型对数据进行增强,生成对应的query跟标题信息,并按照需求对长文档进行分块,其二是如何联合数据的不同角度表示,从而得到能表征整体的文档级别的embedding。‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍

图1:LLM-augmented retrieval框架

2.1 增强数据表示

合成query
    给定文档,让LLM生成对应的query。为什么要做这个事情呢?合成query可以从不同的视角去表达原始文档的语义,更容易匹配上真实用户问题。

    通常情况下,用户真实的问法跟原始数据在表述方式上是存在一定差异的,直接进行语义匹配效果有限。考虑一个case,假如用户问“谁是美国的第一任总统?”,而期望答案是关于乔治华盛顿的百科介绍,这两者的相关性得分大概率不会很高,但是如果借助于LLM,可以从乔治华盛顿的介绍中生成高质量的query,“谁成为了美国的第一任总统”,合成query跟用户问题的相关性得分就会很高了。

图2:合成query示意图


合成标题

    文档的标题在判断对于用户问题的相关性跟有用性上起到关键作用,如果原始文档没有标题的话,可以利用LLM生成对应的标题。

分块

    受限于检索模型的窗口长度限制,通常需要将一篇长文档切分为几个数据块chunk,对于不同检索模型而言,最佳的chunk大小也不进相同。

    对于一个文档而言,无论是通过LLM生成的query或者标题,还是经过切分得到的多个chunk,都是这个文档的内容,它们只是从不同角度对原始文档语义的一种表示而已。想要生成一个文档整体的表征,doc-level embedding,就需要联合该文档不同角度的信息,而不能只依赖于其中某些角度。


2.2 Doc-level embedding

    针对不同的检索模型架构,有不同的文档embedding表示,将数据不同角度的表示融合到一起。

    对于Bi-encoders,用户问题跟文档之间的相关性可以通过以下方式表示,简单理解,就是分别计算用户问题跟文档不同角度的表示之间的相关性得分,然后通过加权求和的方式得到一个整体相关性得分。‍‍‍‍‍‍‍‍‍

    其中q是用户问题的句向量,ci是某个chunk的句向量,e分别表示query跟title的句向量,如果某个文档存在多个query的话,就分别计算各个query的句向量,再通过mean pooling得到最终文档的query向量,w表示对应的权重。‍‍‍‍‍‍‍‍‍‍‍‍‍

    对于Late-interaction models而言,相关性得分就更容易理解了,把文档不同角度的表示的文本直接拼接到一起,获得对应的token embedding,然后按照下面的方式就可以得到最终的相关性得分了。


3 实验

    研究人员在以下几种不同检索模型上进行了充分实验,包括Contriever(以Roberta-base为基底,query跟document共用一个编码器的Bi-enocder),DRAGON(以Roberta-base为基底,query跟document各自维护一个编码器的Bi-encoder),ColBEERTv2(以Bert-base为基底的late-interaction)

图3:实验效果对比

    无论选用哪种检索模型,基于LLM增强的检索跟文档embedding构建都显著提升了检索的召回率,尤其是在Bi-encoder下,这可能是因为Bi-encoder原本的基线效果比较一般导致的。‍‍‍‍‍

    另外,通过消融实验发现,文档不同角度的内容起到的作用也有所区别,不同的权重设置对于检索效果也有明显影响,最佳的参数设置在不同检索模型下不尽相同。‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍‍


4 讨论

    文本提出的LLM-Augmented Retrieval通过LLM去尽可能地丰富检索检索知识,可以从不同角度去表示数据的语义,进一步增强文档的embedding,在不需要额外finetune的基础上显著提升模型的召回率。

    我个人在实际工作中也遇到过类似的问题,其中一种优化思路跟文中做法也比较一致,利用LLM来对增强数据的表示,缩小query跟document端的差距,降低文本匹配难度,是一种效率极快且收益明显的的优化思路。但在过程,也有不少问题需要注意。其一是大模型的幻视问题,要尽可能保证LLM增强后的数据的真实性,不引入额外的噪声数据,其二是要从哪个角度去丰富数据的表示?这个还是要根据具体情景去定义,尽可能去贴合真实的使用场景。比如在检索任务中生成对应的query就是最合适的。其三,除了文中提及的思路外,提升检索效果的优化思路还有很多,但是文中这种思路确实是收效最快的,不需要额外的模型训练,只要能根据真实需要写好prompt即可。

参考文献
1 LLM-Augmented Retrieval: Enhancing Retrieval Models Through Language Models and Doc-Level Embedding
https://arxiv.org/pdf/2404.05825.pdf

进技术交流群请添加AINLP小助手微信(id: ainlp2)

请备注具体方向+所用到的相关技术点

关于AINLP

AINLP 是一个有趣有AI的自然语言处理社区,专注于 AI、NLP、机器学习、深度学习、推荐算法等相关技术的分享,主题包括LLM、预训练模型、自动生成、文本摘要、智能问答、聊天机器人、机器翻译、知识图谱、推荐系统、计算广告、招聘信息、求职经验分享等,欢迎关注!加技术交流群请添加AINLP小助手微信(id:ainlp2),备注工作/研究方向+加群目的。



53AI,企业落地应用大模型首选服务商

产品:大模型应用平台+智能体定制开发+落地咨询服务

承诺:先做场景POC验证,看到效果再签署服务协议。零风险落地应用大模型,已交付160+中大型企业

联系我们

售前咨询
186 6662 7370
预约演示
185 8882 0121

微信扫码

与创始人交个朋友

回到顶部

 
扫码咨询