RAG编码模型对比:谁与OpenAI最为相似?

前言

在设计检索增强型生成(RAG)系统时,选择嵌入模型是一个关键步骤。鉴于可选模型很多,识别相似模型可以帮助进行模型选择。

Beyond Benchmarks: Evaluating Embedding Model Similarity for Retrieval Augmented Generation Systems

https://ceur-ws.org/Vol-3784/short4.pdf

论文评估了RAG系统中嵌入模型的相似性。评估分为两个方面:首先,使用中心化核对齐(Centered Kernel Alignment)在成对级别上比较嵌入;其次,由于这对RAG系统特别相关,评估这些模型之间检索结果的相似性,使用Jaccard相似度和排名相似度。

作者比较了不同家族的嵌入模型,包括专有模型,在流行的基准信息检索(BEIR)的五个数据集上进行。通过实验,作者识别出了与模型家族相对应的模型集群。

为什么说编码模型是RAG的核心?

检索增强型生成(RAG)是一种新兴的范式,它通过为大型语言模型(LLMs)提供外部非参数知识源(例如文档语料库)来帮助减轻事实幻觉和过时训练数据的问题。

RAG框架的核心是检索步骤,即从文档语料库中检索出与输入查询或提示相关的一小部分候选文档。这个检索过程,被称为密集检索,依赖于文本嵌入。通常,这些嵌入的生成是分配给LLM的,由于该领域的快速发展,有多种选择。

因此从可用选项中选择最合适的嵌入模型成为RAG系统开发中的关键方面。目前指导这一选择的信息主要限于架构细节(由于封闭模型的普遍性,这些细节有时也很稀缺)和性能基准测试,如大规模文本嵌入基准(MTEB)。

如何比较编码模型的「相似度」?

接下来介绍评估嵌入模型相似性的两种方法。第一种方法直接比较模型生成的文本块的嵌入。第二种方法特别针对RAG(检索增强型生成)环境,评估给定查询的检索结果的相似性。

嵌入相似性

选择中心核对齐(Centered Kernel Alignment, CKA)和线性核作为我们的相似性度量。这个度量在两个步骤中计算两组嵌入之间的相似性。

首先,对于一组嵌入,使用核函数计算该集合内所有条目的成对相似性分数。因此,结果相似性矩阵的第k行包含了嵌入k与所有其他嵌入(包括它自己)之间的相似性分数。

CKA是一种无监督的度量方法,可以处理不同模型生成的嵌入,即使它们的维度不完全相同。

检索结果相似性

当使用不同的嵌入模型时,对于给定查询检索到的文本块的相似性。虽然成对比较嵌入可以提供模型学习到的表示的相似性见解,但这不足以量化当这些嵌入模型被用于特定任务时结果的相似性。

首先,对于给定的数据集,使用每个嵌入模型为查询和文档块生成嵌入。然后,对于特定查询,根据余弦相似性检索最相似的𝑘个嵌入。为一对模型导出检索到的块集合C和C’。为了测量这些集合的相似性,可使用Jaccard相似系数。

虽然Jaccard相似性计算了两个集合的重叠百分比,但它忽略了集合中的顺序。另一方面,排名相似性考虑了公共元素的顺序,更接近的元素对分数的影响更大。

实验与结果

实验设置
  • 实验数据集

作者从BEIR基准测试中选择了五个公开可用的数据集。考虑到为大型数据集生成嵌入是一个耗时的过程,尤其是对于大量模型,作者选择了基准测试中较小的五个数据集。这种方法允许作者比较由多种模型生成的嵌入,同时也允许跨数据集评估嵌入相似性。

数据集的概览显示在表1中。对于每个数据集,作者将文档分割成文本块,每个块包含256个令牌。

  • 实验模型

  • 选择了两个来自OpenAI的高性能专有模型(text-embedding-3-large和-small)和一个来自Cohere的模型(Cohere embedenglish-v3.0)

  • 选择SFR-Embedding-Mistral(Mistral)作为实验时排行榜上表现最好的模型

实验结果
  1. 家族内和跨家族集群

使用CKA直接比较嵌入显示大多数模型之间的相似性很高,尽管存在一些差异。这些分数允许我们识别某些模型集群。

从跨家族的角度来看,我们观察到bge和gte模型之间的相似性很高。对于这两个家族中的一些模型,有趣的是,最高的相似性分数与具有匹配嵌入维度的跨家族对应模型相关,而不是与同一家族中的模型相关。

gte-small与bge-small的相似性最高,gte-base与bge-base的相似性最高。另一方面,gte-large与bge-base的相似性略高于bge-large,因此与嵌入维度较低的模型相似性更高。另一个跨家族集群由三个总体上CKA分数最高的模型组成,即UAE、mxbai和bge-large。

图3展示了NFCorpus上Jaccard相似性随k值的演变。第一个图表显示了bge-large与所有其他模型之间的Jaccard分数,而第二个图表展示了gte-large的分数。对于极低的k值,我们观察到几乎所有模型都出现了一些高峰,随后相似性显著下降。当然,对于较大的k值,分数趋于一致。

从实际角度来看,小k值的检索相似性最感兴趣。作者特别关注了top-10的Jaccard相似性。图4-6显示了跨数据集的模型间的top-10 Jaccard相似性。一个显著的发现是,即使是最相似的模型,报告的Jaccard相似性也仅高于0.6,大多数低于0.5。

  1. 开源

CKA分数表明,OpenAI的模型(text-embedding-3-large/-small)生成的嵌入与Mistral生成的嵌入高度相似,而Cohere模型(embed-english-v3.0)与e5-large-v2显示出高相似性。

对于Cohere模型,虽然Mistral在所有数据集上对于较大的k值仍然是与OpenAI模型最相似的模型,但并没有一个一致的最相似模型对应于Cohere。

在更仔细地查看top-10相似性时,Mistral仍然在很大程度上表现出与OpenAI模型的最高相似性,特别是与text-embedding-3-large。对于text-embedding-3-small,所有数据集上的分数与其他模型相当接近。

实验结果分析

  • 对于小k值,检索相似性变化较大,这在实际应用中最为重要。即使CKA分数很高,top-10检索的低Jaccard相似性分数表明检索到的文本块重叠很少。

  • 即使直接比较时嵌入看起来相当相似,检索性能仍可能有很大差异,对于常用于RAG系统的k值最不稳定,并且也依赖于数据集。小k值检索的块重叠最少,导致呈现给LLM作为额外上下文的数据差异很大。

  • 尽管模型通常与同一家族的模型最相似,但跨家族集群确实存在。最突出的是bge-large-en-v1.5、UAE-Large-V1和mxbai-embed-large-v1。

  • SFR-Embedding-Mistral作为与OpenAI嵌入模型最相似的模型,但对于较大的数据集,top-10的Jaccard相似性显示检索到的文本块重叠很低。此外,对于Cohere的嵌入模型,作者无法找到一个最相似的模型。

最后的最后

感谢你们的阅读和喜欢,我收藏了很多技术干货,可以共享给喜欢我文章的朋友们,如果你肯花时间沉下心去学习,它们一定能帮到你。

因为这个行业不同于其他行业,知识体系实在是过于庞大,知识更新也非常快。作为一个普通人,无法全部学完,所以我们在提升技术的时候,首先需要明确一个目标,然后制定好完整的计划,同时找到好的学习方法,这样才能更快的提升自己。

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

大模型知识脑图

为了成为更好的 AI大模型 开发者,这里为大家提供了总的路线图。它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。
在这里插入图片描述

经典书籍阅读

阅读AI大模型经典书籍可以帮助读者提高技术水平,开拓视野,掌握核心技术,提高解决问题的能力,同时也可以借鉴他人的经验。对于想要深入学习AI大模型开发的读者来说,阅读经典书籍是非常有必要的。

在这里插入图片描述

实战案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

在这里插入图片描述

面试资料

我们学习AI大模型必然是想找到高薪的工作,下面这些面试题都是总结当前最新、最热、最高频的面试题,并且每道题都有详细的答案,面试前刷完这套面试题资料,小小offer,不在话下

在这里插入图片描述

640套AI大模型报告合集

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

在这里插入图片描述

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值