优化数据以提升大模型RAG性能思路:Meta Knowledge for RAG的一个实现思路

2024-08-30 22:28

本文主要是介绍优化数据以提升大模型RAG性能思路:Meta Knowledge for RAG的一个实现思路,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

传统的RAG系统通过检索然后阅读框架来增强LLMs,但存在一些挑战,如知识库文档的噪声、缺乏人工标注信息、长文档的编码问题以及用户查询的模糊性。

因此可以采用数据为中心的增强方法,我们可以看看最近的一个工作。

一、Meta Knowledge for RAG

最近的工作,《Meta Knowledge for Retrieval Augmented Large Language Models》(https://arxiv.org/abs/2408.09017),利用元数据信息来进行优化,本文来看看这个工作,讨论了一种新的数据为中心的检索增强型生成工作流程,旨在提高大模型对知识库的理解。

从实现思路上看,该工作介绍了一种新的RAG工作流程,称为准备-重写-检索-阅读(Prepare-Then-Rewrite-Then-Retrieve-Then-Read, PR3),通过为每个文档生成元数据和合成问题与答案(QA)对,以及引入元知识摘要(Meta Knowledge Summary, MK Summary)的概念,以改善用户查询增强和知识库中的信息检索。

一句话说明步骤,就是使用LLMs生成每个文档的元数据和合成QA对;利用MK Summary来指导查询增强步骤,使用聚类信息;通过个性化的用户查询增强和深入的知识库信息检索,提高了检索的精度和召回率。

其本身做的是数据为中心的工作流程,常见的流程如Figure1所示,它通过使用先进的语言模型和元数据驱动的方法来优化信息检索过程,旨在提供更加精准和个性化的结果。

  1. 文档增强:在推理之前,文档首先使用名为 Claude 3 的工具进行增强。这意味着文档会被处理,以便于更好地与系统进行交互,并提高检索的相关性。

  2. 聚类:增强后的文档根据元数据被聚类成集合,每个集合包含合成的问题和答案(QA)。这些合成的QA对是为了个性化的下游检索而设计的,即根据不同用户的需求定制化检索结果。

  3. 元知识摘要(Meta Knowledge Summaries, MK Summary):MK Summary 是从文档集合中提取的关键概念摘要,用于指导查询增强步骤。这意味着系统会根据文档中的关键信息来优化和扩展用户的查询,以便更精确地匹配用户的需求。

  4. 个性化检索:整个工作流程的目标是实现个性化的检索,即系统能够根据用户的具体需求提供定制化的信息检索服务。

  5. 查询增强:在用户提出查询后,系统会利用MK Summary中的信息来增强原始查询,生成更具体、更有针对性的查询,以期提高检索的准确性和相关性。

  6. 检索与阅读:经过增强的查询随后用于检索知识库中相关的文档或信息片段,然后系统会阅读这些检索到的内容,以生成回答或提供进一步的信息。

二、具体实现思路

以数据为中心的RAG工作流程,即准备-重写-检索-阅读(PR3)。

  1. 数据集(Datasets)
  • 使用了2000篇2024年的研究论文作为公共基准测试数据集,这些论文涵盖了统计学、机器学习、人工智能和计量经济学等多个领域。
  1. 合成QA生成(Synthetic QA Generation)
  • 对于每个文档,首先生成一组元数据,然后使用Chain of Thoughts(CoT)提示生成指导性的QA对。

  • 利用这些元数据,通过教师-学生提示方法,评估学生对文档知识的掌握情况。

  • Claude 3 Haiku被用于生成具有跨文档上下文的合成QA对。

  • 生成的元数据既用作增强搜索的过滤参数,也用于选择用于用户查询增强的合成QA(即MK Summary)。

  1. 元知识摘要生成(Generation of Meta Knowledge Summary)
  • 对于给定的元数据组合,创建MK Summary,以支持针对特定用户查询的数据增强阶段。

  • MK Summary是通过使用Claude 3 Sonnet对标记有感兴趣元数据的问题集合进行概念总结而创建的。

  1. 增强查询生成和检索(Augmented Generation of Queries and Retrieval)
  • 给定用户查询和预选的元数据集,检索相应的预计算MK Summary,并使用它来调节用户数据库子集的查询增强。

  • 利用“计划和执行”提示方法来处理复杂查询,跨文档推理,并最终提高提供的答案的召回率、精确度和多样性。

总结

本文主要介绍了《Meta Knowledge for Retrieval Augmented Large Language Models》这一工作,感兴趣的可以仔细品读。

如何学习AI大模型?

大模型时代,火爆出圈的LLM大模型让程序员们开始重新评估自己的本领。 “AI会取代那些行业?”“谁的饭碗又将不保了?”等问题热议不断。

不如成为「掌握AI工具的技术人」,毕竟AI时代,谁先尝试,谁就能占得先机!

但是LLM相关的内容很多,现在网上的老课程老教材关于LLM又太少。所以现在小白入门就只能靠自学,学习成本和门槛很高

针对所有自学遇到困难的同学们,我帮大家系统梳理大模型学习脉络,将这份 LLM大模型资料 分享出来:包括LLM大模型书籍、640套大模型行业报告、LLM大模型学习视频、LLM大模型学习路线、开源大模型学习教程等, 😝有需要的小伙伴,可以 扫描下方二维码领取🆓↓↓↓

👉[CSDN大礼包🎁:全网最全《LLM大模型入门+进阶学习资源包》免费分享(安全链接,放心点击)]()👈

学习路线

在这里插入图片描述

第一阶段: 从大模型系统设计入手,讲解大模型的主要方法;

第二阶段: 在通过大模型提示词工程从Prompts角度入手更好发挥模型的作用;

第三阶段: 大模型平台应用开发借助阿里云PAI平台构建电商领域虚拟试衣系统;

第四阶段: 大模型知识库应用开发以LangChain框架为例,构建物流行业咨询智能问答系统;

第五阶段: 大模型微调开发借助以大健康、新零售、新媒体领域构建适合当前领域大模型;

第六阶段: 以SD多模态大模型为主,搭建了文生图小程序案例;

第七阶段: 以大模型平台应用与开发为主,通过星火大模型,文心大模型等成熟大模型构建大模型行业应用。

在这里插入图片描述

👉学会后的收获:👈

• 基于大模型全栈工程实现(前端、后端、产品经理、设计、数据分析等),通过这门课可获得不同能力;

• 能够利用大模型解决相关实际项目需求: 大数据时代,越来越多的企业和机构需要处理海量数据,利用大模型技术可以更好地处理这些数据,提高数据分析和决策的准确性。因此,掌握大模型应用开发技能,可以让程序员更好地应对实际项目需求;

• 基于大模型和企业数据AI应用开发,实现大模型理论、掌握GPU算力、硬件、LangChain开发框架和项目实战技能, 学会Fine-tuning垂直训练大模型(数据准备、数据蒸馏、大模型部署)一站式掌握;

• 能够完成时下热门大模型垂直领域模型训练能力,提高程序员的编码能力: 大模型应用开发需要掌握机器学习算法、深度学习框架等技术,这些技术的掌握可以提高程序员的编码能力和分析能力,让程序员更加熟练地编写高质量的代码。

在这里插入图片描述

1.AI大模型学习路线图
2.100套AI大模型商业化落地方案
3.100集大模型视频教程
4.200本大模型PDF书籍
5.LLM面试题合集
6.AI产品经理资源合集

👉获取方式:
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓

这篇关于优化数据以提升大模型RAG性能思路:Meta Knowledge for RAG的一个实现思路的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1122107

相关文章

Vue3 的 shallowRef 和 shallowReactive:优化性能

大家对 Vue3 的 ref 和 reactive 都很熟悉,那么对 shallowRef 和 shallowReactive 是否了解呢? 在编程和数据结构中,“shallow”(浅层)通常指对数据结构的最外层进行操作,而不递归地处理其内部或嵌套的数据。这种处理方式关注的是数据结构的第一层属性或元素,而忽略更深层次的嵌套内容。 1. 浅层与深层的对比 1.1 浅层(Shallow) 定义

大模型研发全揭秘:客服工单数据标注的完整攻略

在人工智能(AI)领域,数据标注是模型训练过程中至关重要的一步。无论你是新手还是有经验的从业者,掌握数据标注的技术细节和常见问题的解决方案都能为你的AI项目增添不少价值。在电信运营商的客服系统中,工单数据是客户问题和解决方案的重要记录。通过对这些工单数据进行有效标注,不仅能够帮助提升客服自动化系统的智能化水平,还能优化客户服务流程,提高客户满意度。本文将详细介绍如何在电信运营商客服工单的背景下进行

基于MySQL Binlog的Elasticsearch数据同步实践

一、为什么要做 随着马蜂窝的逐渐发展,我们的业务数据越来越多,单纯使用 MySQL 已经不能满足我们的数据查询需求,例如对于商品、订单等数据的多维度检索。 使用 Elasticsearch 存储业务数据可以很好的解决我们业务中的搜索需求。而数据进行异构存储后,随之而来的就是数据同步的问题。 二、现有方法及问题 对于数据同步,我们目前的解决方案是建立数据中间表。把需要检索的业务数据,统一放到一张M

关于数据埋点,你需要了解这些基本知识

产品汪每天都在和数据打交道,你知道数据来自哪里吗? 移动app端内的用户行为数据大多来自埋点,了解一些埋点知识,能和数据分析师、技术侃大山,参与到前期的数据采集,更重要是让最终的埋点数据能为我所用,否则可怜巴巴等上几个月是常有的事。   埋点类型 根据埋点方式,可以区分为: 手动埋点半自动埋点全自动埋点 秉承“任何事物都有两面性”的道理:自动程度高的,能解决通用统计,便于统一化管理,但个性化定

性能测试介绍

性能测试是一种测试方法,旨在评估系统、应用程序或组件在现实场景中的性能表现和可靠性。它通常用于衡量系统在不同负载条件下的响应时间、吞吐量、资源利用率、稳定性和可扩展性等关键指标。 为什么要进行性能测试 通过性能测试,可以确定系统是否能够满足预期的性能要求,找出性能瓶颈和潜在的问题,并进行优化和调整。 发现性能瓶颈:性能测试可以帮助发现系统的性能瓶颈,即系统在高负载或高并发情况下可能出现的问题

使用SecondaryNameNode恢复NameNode的数据

1)需求: NameNode进程挂了并且存储的数据也丢失了,如何恢复NameNode 此种方式恢复的数据可能存在小部分数据的丢失。 2)故障模拟 (1)kill -9 NameNode进程 [lytfly@hadoop102 current]$ kill -9 19886 (2)删除NameNode存储的数据(/opt/module/hadoop-3.1.4/data/tmp/dfs/na

异构存储(冷热数据分离)

异构存储主要解决不同的数据,存储在不同类型的硬盘中,达到最佳性能的问题。 异构存储Shell操作 (1)查看当前有哪些存储策略可以用 [lytfly@hadoop102 hadoop-3.1.4]$ hdfs storagepolicies -listPolicies (2)为指定路径(数据存储目录)设置指定的存储策略 hdfs storagepolicies -setStoragePo

HDFS—存储优化(纠删码)

纠删码原理 HDFS 默认情况下,一个文件有3个副本,这样提高了数据的可靠性,但也带来了2倍的冗余开销。 Hadoop3.x 引入了纠删码,采用计算的方式,可以节省约50%左右的存储空间。 此种方式节约了空间,但是会增加 cpu 的计算。 纠删码策略是给具体一个路径设置。所有往此路径下存储的文件,都会执行此策略。 默认只开启对 RS-6-3-1024k

Hadoop集群数据均衡之磁盘间数据均衡

生产环境,由于硬盘空间不足,往往需要增加一块硬盘。刚加载的硬盘没有数据时,可以执行磁盘数据均衡命令。(Hadoop3.x新特性) plan后面带的节点的名字必须是已经存在的,并且是需要均衡的节点。 如果节点不存在,会报如下错误: 如果节点只有一个硬盘的话,不会创建均衡计划: (1)生成均衡计划 hdfs diskbalancer -plan hadoop102 (2)执行均衡计划 hd

hdu1043(八数码问题,广搜 + hash(实现状态压缩) )

利用康拓展开将一个排列映射成一个自然数,然后就变成了普通的广搜题。 #include<iostream>#include<algorithm>#include<string>#include<stack>#include<queue>#include<map>#include<stdio.h>#include<stdlib.h>#include<ctype.h>#inclu