优化数据以提升大模型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

相关文章

HTML5 getUserMedia API网页录音实现指南示例小结

《HTML5getUserMediaAPI网页录音实现指南示例小结》本教程将指导你如何利用这一API,结合WebAudioAPI,实现网页录音功能,从获取音频流到处理和保存录音,整个过程将逐步... 目录1. html5 getUserMedia API简介1.1 API概念与历史1.2 功能与优势1.3

Java实现删除文件中的指定内容

《Java实现删除文件中的指定内容》在日常开发中,经常需要对文本文件进行批量处理,其中,删除文件中指定内容是最常见的需求之一,下面我们就来看看如何使用java实现删除文件中的指定内容吧... 目录1. 项目背景详细介绍2. 项目需求详细介绍2.1 功能需求2.2 非功能需求3. 相关技术详细介绍3.1 Ja

使用Python和OpenCV库实现实时颜色识别系统

《使用Python和OpenCV库实现实时颜色识别系统》:本文主要介绍使用Python和OpenCV库实现的实时颜色识别系统,这个系统能够通过摄像头捕捉视频流,并在视频中指定区域内识别主要颜色(红... 目录一、引言二、系统概述三、代码解析1. 导入库2. 颜色识别函数3. 主程序循环四、HSV色彩空间详解

PostgreSQL中MVCC 机制的实现

《PostgreSQL中MVCC机制的实现》本文主要介绍了PostgreSQL中MVCC机制的实现,通过多版本数据存储、快照隔离和事务ID管理实现高并发读写,具有一定的参考价值,感兴趣的可以了解一下... 目录一 MVCC 基本原理python1.1 MVCC 核心概念1.2 与传统锁机制对比二 Postg

SpringBoot整合Flowable实现工作流的详细流程

《SpringBoot整合Flowable实现工作流的详细流程》Flowable是一个使用Java编写的轻量级业务流程引擎,Flowable流程引擎可用于部署BPMN2.0流程定义,创建这些流程定义的... 目录1、流程引擎介绍2、创建项目3、画流程图4、开发接口4.1 Java 类梳理4.2 查看流程图4

SQL Server修改数据库名及物理数据文件名操作步骤

《SQLServer修改数据库名及物理数据文件名操作步骤》在SQLServer中重命名数据库是一个常见的操作,但需要确保用户具有足够的权限来执行此操作,:本文主要介绍SQLServer修改数据... 目录一、背景介绍二、操作步骤2.1 设置为单用户模式(断开连接)2.2 修改数据库名称2.3 查找逻辑文件名

C++中零拷贝的多种实现方式

《C++中零拷贝的多种实现方式》本文主要介绍了C++中零拷贝的实现示例,旨在在减少数据在内存中的不必要复制,从而提高程序性能、降低内存使用并减少CPU消耗,零拷贝技术通过多种方式实现,下面就来了解一下... 目录一、C++中零拷贝技术的核心概念二、std::string_view 简介三、std::stri

C++高效内存池实现减少动态分配开销的解决方案

《C++高效内存池实现减少动态分配开销的解决方案》C++动态内存分配存在系统调用开销、碎片化和锁竞争等性能问题,内存池通过预分配、分块管理和缓存复用解决这些问题,下面就来了解一下... 目录一、C++内存分配的性能挑战二、内存池技术的核心原理三、主流内存池实现:TCMalloc与Jemalloc1. TCM

OpenCV实现实时颜色检测的示例

《OpenCV实现实时颜色检测的示例》本文主要介绍了OpenCV实现实时颜色检测的示例,通过HSV色彩空间转换和色调范围判断实现红黄绿蓝颜色检测,包含视频捕捉、区域标记、颜色分析等功能,具有一定的参考... 目录一、引言二、系统概述三、代码解析1. 导入库2. 颜色识别函数3. 主程序循环四、HSV色彩空间

Python实现精准提取 PDF中的文本,表格与图片

《Python实现精准提取PDF中的文本,表格与图片》在实际的系统开发中,处理PDF文件不仅限于读取整页文本,还有提取文档中的表格数据,图片或特定区域的内容,下面我们来看看如何使用Python实... 目录安装 python 库提取 PDF 文本内容:获取整页文本与指定区域内容获取页面上的所有文本内容获取