写点什么

如何将提升 RAG 准确率至 90%?

  • 2024-10-16
    北京
  • 本文字数:6517 字

    阅读完需:约 21 分钟

大小:3.22M时长:18:44
如何将提升 RAG 准确率至 90%?

采访嘉宾|张粲宇,Zilliz 的资深产品经理、Milvus 产品负责人

 

在当今的 AI 时代,数据检索作为连接信息与用户需求的桥梁,正经历着前所未有的变革。数据的体量不断膨胀,多模态数据的涌现,以及用户对检索速度和质量的日益提升的需求,共同塑造了一个“多快好省”的检索趋势。这一趋势不仅要求检索系统能够处理海量数据,更要在实时性、智能化和成本效益上实现突破。然而,这一过程中也伴随着一系列技术挑战,如何高效处理大规模数据,确保检索的速度和准确性;如何提升对多模态数据的理解和整合能力,以满足复杂的检索需求;以及如何在保障数据质量的同时,实现成本的可控性,这些都是当前亟待解决的问题。

 

RAG(Retrieve and Generate)检索技术的出现,为这一挑战提供了新的解决思路。相比传统检索,RAG 检索从语义理解层面入手,不仅实现了相关引用材料的检索,更通过生成技术,直接提供了解决问题的答案。此外,RAG 检索在应对复杂问题时,能够进行多跳的 agentic search,效果远远优于传统检索,展现了其强大的智能性。

 

但实际上,RAG 检索在实际应用中,也面临着检索质量的挑战。离线过程中数据的质量,包括原始数据的准确性、信息密度和元信息的精确性,以及数据的工程处理,都直接决定了检索质量的天花板。而在线服务部分,如意图理解、检索策略和算法的优化,更是直接影响着用户体验。


不准确的意图理解会导致答非所问,增加用户的筛选负担;检索策略和算法的不合理,则会导致结果过多或过少、不相关等问题,降低查找有效信息的效率。这些挑战不仅可能导致决策误导,降低回答的有用性和有效性,还可能因引入过多模块而增加时延,影响用户的使用体验。

 

那么,Milvus 作为一种高性能的向量数据库,它是如何处理和解决这一系列问题的?Milvus 有哪些特性使得其在 RAG 应用中能成为解决数据问题的有力工具?

 

在此次 QCon 上海 2024 上,来自Zilliz的资深产品经理、Milvus 产品负责人张粲宇将分享题为《如何提升 RAG 准确率至 90%,Milvus 向量检索实践之道》的演讲。张粲宇负责制定 Milvus 产品路线图与关键特性的定义,也是 Milvus Ask AI 项目的负责人。他毕业于复旦大学,曾任 SAP HANA 内核研发,PingCAP TiDB 产品专家。多年来,他的主要研究方向为数据库内核和 AI。



RAG 场景下的数据检索问题及其挑战


InfoQ:根据您的观察,当下 AI 时代的检索趋势是什么样子的?还存在哪些技术挑战?

 

张粲宇:在 AI 时代,检索趋势主要呈现“多快好省”的特点。“多”即数据体量不断增大,随着技术的发展,越来越多的多模态数据被产生和使用,对检索系统的处理能力提出了更高要求;“快”指对检索实时性要求高,能够迅速响应用户检索的需求;“好”表示用户对检索效果和质量的期望不断提升,希望检索结果更加智能和聪明;“省”则意味着希望检索成本可控,低价高效。

 

目前仍存在一些技术挑战,例如如何高效处理大规模数据体量,确保检索的速度和准确性;如何提升对多模态和非结构化数据的理解和整合能力,以满足复杂的检索需求;以及如何保证数据质量的稳定性和可靠性,为 AI 应用提供坚实的基础。

 

InfoQ:您认为相比传统检索,RAG 检索有哪些显著优势?

 

张粲宇:相比传统检索,RAG 检索具有显著优势。传统检索通常是精准匹配的确定性检索,而 RAG 检索则从语义理解方面入手。从宏观角度看,RAG 检索颠覆了传统检索形态。检索的真正目的是解决问题,传统检索只能搜到相关材料,而 RAG 检索在搜到相关材料后会进行生成,生成的答案可以直接解决问题本身。此外,在应对复杂问题方面,RAG 检索可以进行多跳的 agentic search,效果远远优于传统检索,使其检索变得更加智能。

 

InfoQ:在 RAG 应用中,您认为最主要的检索质量挑战是什么?这些挑战如何影响用户体验?

 

张粲宇:检索质量挑战主要分为两个部分:一是离线过程中数据质量的挑战;二是在线服务部分的挑战。其中离线过程中数据质量的挑战包括:

  • 原始数据是否正确,信息密度是否充足,元信息是否精确都影响着数据的质量,这是冰山下的部分往往容易被忽视,但又特别重要,它决定了检索质量的天花板;

  • 数据的工程处理:能否正确解析数据,清洗并优化数据,基于合适的 chunk 和 embedding 模型做数据的 ingestion 等等。

在线服务部分的挑战则包括:

  • 意图理解:不准确会导致答非所问,让用户失望困惑,影响使用效率;

  • 检索策略和算法:优化不佳会出现结果过多或过少、不相关等问题,增加筛选负担或无法满足需求,rank 不合理也会降低查找有效信息的效率和体验。

 

而这些挑战对用户体验的影响主要有以下三个方面:

 

首先,可能因幻觉或错误信息导致决策误导,这是最为严重的影响。错误的决策可能给用户带来重大损失,降低用户对应用的信任。

 

其次,回答的有用性和有效性不足,如漏答,信息密度低等会浪费用户时间和精力。如果用户花费大量时间却得不到满足需求的结果,会降低其对应用的满意度。

 

最后,为提升质量和安全合规要求引入的诸多模块可能导致时延增加,从而影响用户体感。过长的等待时间会让用户感到不耐烦,降低使用体验。

 

InfoQ:RAG 技术部署起来成本都包括哪些方面?比如存储、计算或维护成本等,能从这些方面聊聊吗?

 

张粲宇:RAG 应用中,成本分为检索和生成两部分。生成成本按模型 token 数及调用次数计算。检索成本包括 embedding 的成本(数据量大可能涉及部署 GPU 集群)以及 infra 如 vector database 的存储成本(追求好的检索速度可能还需要较多内存)。此外,还有维护成本,包括维护 Infra 结构(如优化搜索策略、根据用户反馈调整)以及维护原始语料数据的成本。真实的成本还和用量和场景有关,有的场景数据总量极大但 QPS 很低,那重点就是优化存储;有的场景 QPS 很高但是数据量很小,那就需要用到更好的硬件如大内存和 GPU。

 

InfoQ:在处理敏感或私有数据时,RAG 检索是如何解决数据安全问题的?

 

张粲宇:在 RAG 检索中,有很多手段可以对数据安全进行全方位管理。一方面,检索库可采用完善的安全解决方案,对数据存储和传输进行加密,用户还能在本地部署数据库,确保数据不出境,保障数据隐私和安全。另一方面,RAG 中的存储库如 Milvus 可以通过基于 Role 的权限管控方式,如 RBAC,实现资源细粒度的权限访问控制(可以是 database, collection, partition 甚至是行级别的资源粒度),防止未经授权的访问,有效避免数据泄露风险。

Milvus 的应对之道


InfoQ:您也提到了当下信息检索面临的诸多挑战,那接下来我们聊一聊 Milvus 针对上述挑战有哪些应对之策。我们首先来谈一谈,元数据过滤在 Milvus 中是如何实现的?它对提升检索准确率有何具体贡献?

 

张粲宇:在 Milvus 中,元数据会首先根据标量进行过滤,然后在过滤出来的向量中进行向量的近似最近邻搜索,我们常常叫 pre-filtering。举例来说,如果标量有多种颜色,比如红色和蓝色等。Milvus 会先把颜色是红色的向量找出来,再在这些向量中搜索和目标向量比较近的结果。此外,我们也在索引级别和数据库系统级别做了很多工作,比如图索引连通性的优化和 partition key 的功能,来提升质量和加速元数据过滤;根据数据过滤量和实际情况也可以动态选择 filter 的策略,比如如果标量 evaluate 特别慢的话就用 post-filtering。

 

InfoQ:混合检索技术是如何结合不同检索策略来提升 RAG 准确率的?能否详细介绍一下技术细节?能举一些实际应用案例吗?

 

张粲宇:混合检索技术通过结合不同检索算法各自的优势来提升 RAG 的准确率。就像从不同角度观察事物能获得更全面的认知,混合检索技术从多个角度对信息进行搜索,相当于将二维信息转化为三维信息。一个好的混合检索技术通常包括多路召回和重排序(re-rank)两个步骤。多路召回解决的是从不同角度来检索信息,比如电商场景用户输入产品序列号可以做关键词匹配,输入一段描述也可以做语义检索,输入一张图片可以以图搜图。在重排序中,有传统的融合算法如 RRF、基于分数权重的融合,也有基于 rerank 模型或指标进行重排序的方法,以实现最终的技术目标。

 

在 Milvus ask AI 项目中,混合检索技术得到了实际应用,并且极大地提升了检索的最终质量。在实际操作中,如果用户的 query 以简短关键词为主,我们就提高 BM25 的权重;如果用户的问题较长且包含语义信息,则相应提升基于 dense 和 sparse 的向量检索权重。这种根据不同情况灵活调整检索策略的方法,能够更好地满足用户的多样化需求,提高检索的准确性和效率。

 

InfoQ:您方便透露下,在优化 RAG 检索质量的过程中,Milvus 采用了哪些算法或技术来减少误检和漏检?

 

张粲宇:这部分涉及的细节内容比较多,就不详细展开了,很多情况是要具体案例具体分析的,关键步骤主要是调整离线的 ingestion 和在线检索策略这两块内容。

 

InfoQ:接下来就是解决成本问题了,您能谈一谈冷热分层存储策略在 Milvus 中是如何实施的?这对降低存储成本有何帮助?

 

张粲宇:冷热分层存储 zilliz cloud 支持,社区版的 milvus 版本不支持。 冷热分层和大家熟知的概念是一样的,把热数据放在离计算更近的存储介质中,把冷数据放在对象存储中,前者对应 IO 延时会大约比后者低一到两个数量级,但每 GB 成本相比后者会高出 3 个数量级以上。我们在系统实现上通过优化索引类型和调度算法来尽可能在成本和性能的 tradoff 中取得满足用户需求的最优解。

 

InfoQ:能否分享一些具体的案例或数据,展示 Milvus 在降低 RAG 系统成本方面的成效?

 

张粲宇:在降低 RAG 系统成本方面,Milvus 针对数据量较大,热点数据集中且用户访问 QPS 较低的应用场景,采用分层存储架构进行数据的冷热分离。这套方案在存储成本方面成效显著,最多可降低 50 倍的存储成本。通过这套方案和工程优化,我们在云上 serverless 集群基于 MSMARCO 数据集在和同类产品 P* 进行对比的实测表明,在 recall 一致的情况下,我们 QPS 超过 Pinecone 3 倍多,而成本只有他们的 1/2。

 

InfoQ:聊完成本问题,我们再来聚焦下安全问题。Milvus 的多租户机制是如何保障不同用户数据的安全性和隔离性的?细粒度权限管控在 Milvus 中是如何实现的?这对于保护敏感数据有何重要意义?

 

张粲宇:以 zilliz cloud serverless 为例,每个租户对应唯一的 namespace,namespace 之间的数据相互不可见,每个租户需要通过身份校验和鉴权后才能访问 namespace 来保证隔离和安全。租户数据量较小时和其他租户共享计算和存储资源,当数据量增大到 50M 768dim 以上且请求流量较大时,serverless 会自动调度隔离,隔离后独享计算和存储资源,当数据量变小时会走自动缩容回到共享资源模式。

 

在 Milvus 中,细粒度权限管控通过角色和 privilege 权限(即 RBAC 方式)实现。资源权限分为可读、可写、可管理等。用户通过绑定角色,将权限赋予角色来进行细粒度管理。细粒度包括数据库级别、集合/表级别、分区级别,通过额外添加权限数组列也可以做到行级别的数据管控。

 

这对于保护敏感数据具有重要意义。首先,不同级别的权限管控可以确保只有授权用户能够访问特定级别的数据,防止未经授权的访问和数据泄露。例如,对于敏感的数据库,可以限制只有特定角色的用户具有读写权限,而其他用户只能进行只读访问或无法访问。其次,行级别的管控可以更加精确地控制对敏感数据的访问,确保只有真正需要的用户能够查看和修改特定行的数据,进一步增强了数据的安全性。

 

InfoQ:我了解到 Milvus 推出了自己的 Ask AI,检索准确率提升至 90%。请详细介绍 Milvus Ask AI 系统的设计架构,包括关键技术组件和它们之间的交互方式。

 

张粲宇:这个会在演讲中包含,这里是一张整体的架构图。

 


InfoQ:在提升 RAG 准确率至 90%的过程中,Milvus Ask AI 遇到了哪些技术难题?是如何克服的?

 

张粲宇:以下是一些典型问题,

  • 幻觉问题:

难题:AIGC 的幻觉问题无法根治,导致部分回答不准确甚至有误导性。

解决方法:优先解决语料问题,通过补充和完善文档,减少信息缺失。同时,提高回答的置信度阈值,虽然这降低了幻觉的发生率,但也增加了 AI 拒绝回答的几率。

 

  • 意图识别问题:

难题:AI 在复杂的查询场景中可能无法准确理解用户意图。

解决方法:按需补充特定场景的文档,为大语言模型(LLM)提供准确的指引。同时,利用 prompt 技术对用户查询进行改写,以便更好地处理多跳问题(涉及多个推理步骤的问题)。此外,还考虑引入更新的模型,如从 GPT-4 升级到 Claude 3.5,以增强意图识别的能力以及降低幻觉。

 

  • 检索问题:

难题:AI 始终无法检索到最优结果,导致信息不完整或不准确。

解决方法:加强文档组织结构和元数据管理,提升高质量语料的权重,并定期更新文档库。结合使用混合检索、多路召回和重排策略,从多个候选答案中选出最优结果,并根据实际案例逐步优化检索流程。

 

InfoQ:能否分享一些实际运行中的效果数据,比如准确率、召回率、响应时间等关键指标?

 

张粲宇:端到端的准确率主要是通过专家来评估的,总体准确率是超过 90% 的;milvus 的向量数据召回率一直是在 99% 以上,而响应时间也是根据问题来的,单个 search 的平均 latency 在 10ms 级别,hybrid search 会稍微高一些但不超过 100ms,而端到端的检索时间 P99 控制在 300ms 以内,不会影响用户体验。

向量检索与 RAG 的未来发展


InfoQ:您认为未来向量检索技术会有哪些重要的发展方向或趋势?

 

张粲宇:首先,与 AI 模型更紧密结合,这将使检索更加智能。通过与先进的人工智能模型深度融合,向量检索技术能够更好地理解用户需求和数据特征,提供更精准、个性化的检索结果。

其次,随着多模态和 AIGC 带来的数据量膨胀,对系统可扩展性以及大规模数据存储和管理成本的需求将进一步凸显。这意味着向量检索技术需要不断优化架构,提高处理大规模数据的能力,同时降低存储和管理成本,以适应不断增长的数据规模。

 

最后,应用场景将进一步下沉,从传统的搜广推以及 RAG 应用拓展到更多传统行业和 AI 落地的场景。随着技术的不断发展和普及,向量检索技术将在更多领域发挥重要作用,为不同行业的企业和用户提供高效的信息检索解决方案。

 

InfoQ:多模态 RAG 检索将如何改变现有的信息检索格局?Milvus 在这方面有哪些布局或计划?

 

张粲宇:多模态 RAG 检索将极大地改变现有的信息检索格局。由于其更贴近人类感官感知世界的方式,信息来源更加丰富多元,使得搜索体验更加智能,更符合人类的体感。在这方面,Milvus 已经迈出了重要的一步,在 Milvus 2.4 中推出了多向量列和混合检索功能。未来,Milvus 计划更好地支持多模态模型,将其集成到 API 当中,提升非结构化和多模态数据的存取和管理能力。同时,进一步优化架构,提升系统的稳定性和可扩展性,为多模态数据的爆发提供坚实的技术支撑。这将为用户带来更加高效、智能的信息检索体验,推动信息检索领域向更加多元化和智能化的方向发展。

 

InfoQ:随着 AI 技术的不断进步,您认为 RAG 系统在未来可能会面临哪些新的挑战和机遇?

 

张粲宇:最近 RAG 也在快速迭代中,比如:

 

• Graph RAG 虽能解决宏观和复杂多跳问题,但存在成本高且数据更新困难等问题。

• OpenAI 新模型 o1 在 LLM 生成结果过程中加入反思和搜索等步骤,极大提升了模型推理能力,但也带来了为海量信息做索引、提升海量信息下数据检索效率及管理成本的挑战。

• Anthropic 提出的 contextual RAG,将大模型的总结和语义能力以及诸多工程优化融入 RAG 中提升检索质量,进一步证明了 RAG 是一个体系工程,质量提升的背面是复杂度的增加。

不断涌现的新技术为 RAG 系统的创新提供了思路和方向。人们对检索准确率的不懈追求促使 RAG 系统持续优化升级,可在提升大规模数据下的准确率和效率方面不断探索,从而获得更大的发展空间。

 

InfoQ:Milvus 在未来是否会继续深化与 AI 模型的集成,以进一步提升 RAG 的智能化水平?

 

张粲宇:Milvus 在未来肯定会继续深化与 AI 模型的集成以提升 RAG 的智能化水平。一方面,会探索功能更强的 AI 模型,包括 embedding,reranking 以及多模态等各类模型,结合客户实际的场景需求发挥 AI 的优势能力。另一方面,在产品规划方面,我们正在将 AI 模型的集成嵌入到 Milvus 的使用当中,让用户能够方便地管理非结构化数据,通过 AI 模型将其转化为向量数据,并在搜索向量数据时能够调用 Rerank 模型以获得更好的结果。

2024-10-16 18:0412577
用户头像
李冬梅 加V:busulishang4668

发布了 940 篇内容, 共 534.1 次阅读, 收获喜欢 1105 次。

关注

评论 2 条评论

发布
用户头像
不错,weaviate 之外的另一种选择。
2024-10-17 08:15 · 广东
回复
用户头像
以下内容生成自AI:这篇文章是InfoQ的精选文章,标题为“如何将提升 RAG 准确率至 90%?”。文章主要讨论了如何提高RAG(Retrieval-Augmented Generation)模型的准确率。RAG模型是一种结合了检索(Retrieval)和生成(Generation)的人工智能技术,它通过检索大量数据来辅助生成任务,以提高生成内容的准确性和相关性。


文章可能包含了以下内容:
1. **中国开发者画像洞察研究报告2024**:分析了开发者的行为模式、工作价值和职业发展,旨在帮助行业生态更好地理解开发者,为他们提供更精准的服务。
2. **大厂实战PPT下载**:提供了一些大公司实战案例的PPT下载,涉及鸿蒙生态开发者解决方案的关键特性、教育大模型的应用,以及字节跳动在持续交付方面的实践。


文章还包含了一些图片链接,可能是与内容相关的图表或插图。这些资源对于对AI技术、开发者生态或大厂实践感兴趣的读者来说可能非常有价值。


请注意,由于我无法访问实际的网页内容,以上总结是基于您提供的网页快照信息。如果您需要更详细的内容或对特定部分有疑问,您可以上传文章的全文或相关部分,我可以为您提供更具体的信息。

展开
2024-10-17 08:06 · 广东
回复
没有更多了

数据飞轮拆解车企数据驱动三板斧:数据分析、市场画像、A/B实验

字节跳动数据平台

大数据 数字化转型 云服务 数据平台 火山引擎

10Z4 任务已发布,请各位玩家及时查收

Zilliz

1024 Milvus Zilliz 社区活动

10月24日程序员节

小魏写代码

轻松理解 Transformers(1):Input部分

Baihai IDP

人工智能 深度学习 AI transformers 白海科技

支付宝沙箱超详细教程+避雷经验,看这篇就够了

盐焗代码虾

测试 支付宝 沙箱

数仓实时场景下表行数估算不准确引起的的性能瓶颈问题案例

华为云开发者联盟

数据库 后端 华为云 数仓 华为云开发者联盟

cmp云管平台专业厂商哪家好?有什么优势?

行云管家

公有云 数据安全 云管平台 云管理 云数据安全

如何从单体架构迁移到微服务架构:挑战和最佳实践

互联网工科生

微服务 单体

IPSec VPN原理介绍 | 京东物流技术团队

京东科技开发者

vpn IPsec 企业号10月PK榜

需要获取产品License

矩视智能

深度学习 机器视觉

公有云数据安全保障措施看这里!

行云管家

云计算 公有云 数据安全 堡垒机

JProfiler for Mac永久激活版下载

iMac小白

JProfiler for Mac JProfiler中文版 JProfiler下载 JProfiler 14

KubeEdge v1.15.0发布!新增5大特性

华为云开发者联盟

云计算 云原生 后端 华为云 华为云开发者联盟

智慧云-实现企业APP梦想,10倍轻松便捷

知者如C

前端CodeReivew实践 | 京东云技术团队

京东科技开发者

前端 敏捷开发 Code Review 代码评审 企业号10月PK榜

Acrobat Pro DC 2022 for Mac中文破解版下载

iMac小白

Adobe Acrobat Pro DC下载 Adobe Acrobat Pro DC破解

C++中的多线程编程:高效的并发处理方式

高端章鱼哥

c++ 多线程编程

10月24日程序员节

小齐写代码

Android Kotlin 协程初探 | 京东物流技术团队

京东科技开发者

kotlin andiod 企业号10月PK榜

Arbitrum链阿尔比特ARBT共识铸币模式系统开發(源码搭建)

l8l259l3365

React技术栈支援Vue项目,你需要提前了解的 | 京东云技术团队

京东科技开发者

Vue 前端 React 企业号10月PK榜

3D模型如何添加表面贴图?

3D建模设计

材质 纹理 贴图

第8期 | GPTSecurity周报

云起无垠

1024 | 9位开发者分享生涯“最”时刻,文武状元大PK等你来

华为云开发者联盟

程序员 华为云 1024程序员节 华为云开发者联盟

揭秘产品经理提升效率的秘密武器:在线白板工具你绝对不能错过!

彭宏豪95

产品 产品经理 科技 在线白板 办公软件

SecureCRT for mac注册破解版下载

iMac小白

SecureCRT下载 SecureCRT破解版 SecureCRT注册 SecureCRT激活 SecureCRT mac

AlDente Pro for Mac中文激活版下载

iMac小白

AlDente Pro下载 AlDente Pro破解版 AlDente Pro mac

云安全中的生成式AI:雷声大雨点小?!

树上有只程序猿

云安全 生成式人工智能

深入解析 GreptimeDB 全新时序存储引擎 Mito

Greptime 格睿科技

数据库 时序数据库 时序数据 Greptime GreptimeDB

Apple Remote Desktop mac (远程桌面软件) v3.9.7完整激活版

mac

苹果mac Windows软件 Apple Remote Desktop 远程桌面管理软件

如何将提升 RAG 准确率至 90%?_生成式 AI_李冬梅_InfoQ精选文章