大模型 | RAG 检索大升级:BM25 与 RRF 助力 LLMs 精准破局

BM25(最佳匹配25)和RRF(倒数秩融合)是两种在检索增强生成(RAG)系统中用于改进大型语言模型(LLMs)检索步骤的技术。以下将详细介绍它们的工作原理及其在RAG流程中的作用。

一、BM25(最佳匹配25)

BM25是一种概率信息检索模型,它基于与查询的相关性对文档进行排名。作为传统TF-IDF模型的扩展,BM25在许多检索任务中表现出色,因此被广泛应用。

BM25的工作原理

  1. 术语频率(TF):指一个术语在文档中出现的次数。BM25通过考虑文档长度来调整这一指标,避免较长的文档由于术语频繁出现而被错误地赋予更高权重。

  2. 反向文档频率(IDF):衡量一个术语在所有文档中出现的稀有程度。稀有术语会被赋予更高的权重,以反映其重要性。

  3. 规范化:根据文档长度进行调整,确保不同长度的文档之间可以公平比较。

在RAG中的应用

  1. 索引:利用BM25对文档集合进行索引,预先计算术语频率和其他相关统计数据。

  2. 查询处理:当查询被发出时(例如,LLM需要额外的上下文信息),BM25根据与查询的相关性对每个文档进行评分。

  3. 排名:根据BM25评分对文档进行排序,并将评分最高的文档作为相关上下文供LLM使用。

二、RRF(倒数秩融合)

RRF是一种集成技术,能够将多个检索模型的结果组合在一起。尤其在不同检索模型各自擅长不同相关性方面的情况下,RRF非常有用。

RRF的工作原理

  1. 排名组合:每个检索模型生成一个文档的排名列表。RRF通过基于文档在每个排名列表中的位置为其分配分数,将这些排名列表结合在一起。
  2. 分数计算:文档的最终分数通过RRF公式计算得到。
  3. 融合:根据RRF综合分数对文档进行重新排名,生成一个包含各模型优势的最终文档列表。
score = 0.0
for q in queries: # loop over queries send to different search engines 
    if d in result(q):
        score += 1.0 / ( k + rank(result(q), d))
return score

# where
# k is a ranking constant
# q is a query in the set of queries
# d is a document in the result set of q
# result(q) is the result set of q
# rank( result(q), d ) is d's rank within the result(q) starting from 1

在这里插入图片描述

def reciprocal_rank_fusion(queries, d, k, result_func, rank_func):
    return sum([1.0 / (k + rank_func(result_func(q), d)) if d in result_func(q) else 0 for q in queries])

在RAG中的应用

  1. 多模型使用:使用多个检索模型(例如BM25、神经检索模型)独立检索并对查询文档进行排名。

  2. 秩融合:应用RRF合并这些模型的排名列表,生成一个更为稳健的相关文档排名列表。

  3. 上下文检索:将RRF融合后的排名靠前的文档提供给LLM,以生成更准确且相关的响应。

在RAG中结合BM25和RRF

  1. 初始检索:首先使用BM25执行初始检索,利用其在基于术语相关性排名文档时的效率和有效性。

  2. 集成方法:将其他检索模型(如神经检索模型)与BM25结合使用。

  3. 秩融合:使用RRF将BM25与其他检索模型的排名结果结合,生成一个从多个相关性角度受益的最终文档列表。

  4. 增强生成:将RRF融合列表中排名靠前的文档输入到LLM中,以提高生成准确且上下文相关的响应的能力。

通过在RAG检索步骤中结合BM25和RRF,可以充分利用不同检索模型的优势,提升检索文档的整体质量和相关性,从而增强LLM生成精准响应的性能。


最后分享

AI大模型作为人工智能领域的重要技术突破,正成为推动各行各业创新和转型的关键力量。抓住AI大模型的风口,掌握AI大模型的知识和技能将变得越来越重要。

学习AI大模型是一个系统的过程,需要从基础开始,逐步深入到更高级的技术。

这里给大家精心整理了一份全面的AI大模型学习资源,包括:AI大模型全套学习路线图(从入门到实战)、精品AI大模型学习书籍手册、视频教程、实战学习、面试题等,资料免费分享!

在这里插入图片描述

1. 成长路线图&学习规划

要学习一门新的技术,作为新手一定要先学习成长路线图方向不对,努力白费

这里,我们为新手和想要进一步提升的专业人士准备了一份详细的学习成长路线图和规划。可以说是最科学最系统的学习成长路线。
在这里插入图片描述

2. 大模型经典PDF书籍

书籍和学习文档资料是学习大模型过程中必不可少的,我们精选了一系列深入探讨大模型技术的书籍和学习文档,它们由领域内的顶尖专家撰写,内容全面、深入、详尽,为你学习大模型提供坚实的理论基础。(书籍含电子版PDF)

在这里插入图片描述

3. 大模型视频教程

对于很多自学或者没有基础的同学来说,书籍这些纯文字类的学习教材会觉得比较晦涩难以理解,因此,我们提供了丰富的大模型视频教程,以动态、形象的方式展示技术概念,帮助你更快、更轻松地掌握核心知识

在这里插入图片描述

4. 大模型项目实战

学以致用 ,当你的理论知识积累到一定程度,就需要通过项目实战,在实际操作中检验和巩固你所学到的知识,同时为你找工作和职业发展打下坚实的基础。

在这里插入图片描述

5. 大模型面试题

面试,不仅是技术的较量,更需要充分的准备。在你已经掌握了大模型技术之后,就需要开始准备面试,我们将提供精心整理的大模型面试题库,涵盖当前面试中可能遇到的各种技术问题,让你在面试中游刃有余。

在这里插入图片描述

全套的AI大模型学习资源已经整理打包,有需要的小伙伴可以微信扫描下方CSDN官方认证二维码,免费领取【保证100%免费

在这里插入图片描述
如有侵权,请联系删除。

  • 43
    点赞
  • 52
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
寄存器重命名(Register Renaming)是处理器中常见的一种技术,它可以解决数据相关问题。在指令执行过程中,一条指令需要使用前面指令的结果,而前面指令的结果还没有写入到寄存器中,此时就会产生数据相关。如果使用寄存器重命名技术,则可以避免数据相关问题的产生。 RRF(Register Rename Forwarding)和ARF(Architectural Register File)是实现寄存器重命名技术的两种方式。 1. RRF RRF方式需要在寄存器文件的基础上增加一个重命名寄存器文件(Rename Register File),用于存储重命名后的寄存器。在指令发射时,将指令所要读取的操作数从寄存器中读取出来,并在重命名寄存器文件中查找对应的重命名寄存器。如果找到了,就将该重命名寄存器的值作为操作数;否则,将直接从寄存器文件中读取该寄存器的值。在指令执行时,将指令计算的结果写入到重命名寄存器文件中对应的重命名寄存器中,并将该重命名寄存器标记为“有效”。当后续指令需要使用该结果时,就可以直接从重命名寄存器文件中读取。 2. ARF ARF方式不需要增加重命名寄存器文件,而是在寄存器文件中增加一个标记位,用于标记该寄存器是否是重命名的。在指令发射时,将指令所要读取的操作数从寄存器中读取出来,并判断该寄存器是否是重命名的。如果是,就从该寄存器的对应重命名寄存器中读取值;否则,直接从寄存器中读取该寄存器的值。在指令执行时,将指令计算的结果写入到重命名寄存器中,并将对应的寄存器标记为“重命名”。 总结: RRF方式需要增加重命名寄存器文件,对硬件开销较大,但可以实现更高的并行度。ARF方式不需要增加重命名寄存器文件,对硬件开销较小,但并行度较低。实际应用中,可以根据具体情况选择合适的方式实现寄存器重命名技术。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值