大模型的“幻觉”克星!被低估的RAG技术

news2024/11/23 17:20:00

1

RAG与大模型、Prompt、微调的关系

本文主要带大家深入学习一下最近AI领域的重要技术RAG,本文致力于用大白话给大家说明白RAG,但是还是需要一些大模型和微调有关的领域名词有一些基本的了解,大家选择性阅读哦!在进行正文学习之前我们先用一张图看下RAG与我们耳熟能详的大模型、Prompt、微调之间的清清白白关系图:

图片

图片

基于此,我们来展开讲讲大模型与Prompt、RAG、微调之间是怎么样个关系,先看下openAI官方报告发出的一张关于他们之间关系的图:

图片

图片

横轴表示,你希望大模型如何去表现,比如扮演什么样的一个角色。

纵轴表示你希望模型知道什么,横轴表示你想要模型如何需要去表现,扮演一个什么样的角色

首先,我们在对模型做任何事情之前,Prompt 都是最优先要去尝试的,因为效果太好了,利用提示词调用模型内部上下文学习到的知识,使模型生成给定任务或问题的准确回答,通过问的好不好就可以控制输出质量,性价比最高。

横轴再向外,就是FIne-tuning微调,通过调整一个已经在大数据集上预训练的模型,来优化大模型对特定任务或数据集的性能,更好的扮演我们期望的角色

纵轴向上看,在希望模型掌握知识的路径上,主要使用上下文优化 (Context optimization)的方式,不论是Prompt还是RAG,都关注于优化 AI 系统能够理解和处理的上下文信息,输入给模型的知识或数据点,来帮助模型更好地理解问题和生成答案。

简单来说,在结束基础的Prompt 工程后,如果你觉得模型没有你希望的特定的风格和格式,你可以选择微调;如果你觉得模型的知识储备太贫乏了,你可以选择RAG。而RAG(检索增强生成),就是一种结合了信息检索和文本生成的人工智能技术,咱们可以让大模型快速学习特定知识,这也是我们今天要重点讨论的。

举个例子理解一下,Prompt工程比较像我们来告诉模型,你要去参加某个专门的领域或者学科的考试。

微调就像是把这门学科的知识,让大模型从头到尾的学习一遍,然后再让它把这些知识记在脑子里。

而RAG检索增强相当于把这门学科的教辅材料呀小抄呀带给大模型,你考试的时候可以翻书,还可以上网现搜。

基于以上的举例,我们再来看openAI这张对RAG和Fine-tune的进一步阐释

图片

图片

这张openAI的图讲述了RAG(Retrieval-Augmented Generation)和微调(Fine-tuning)这两种不同方法,来优化大模型对于特定任务的表现的过程。

可以看到还是从“提示工程”(Prompt engineering)开始,效果好,上面说了,为啥好,后面单独开堂课,先往下看。

接下来的进入到评估和识别差距(Evaluate and identify the gaps)环节,顾名思义,就是评估模型当前的表现以及识别在什么情况下它不能很好地提供答案。找出这些差距后,再来区分不同的场景,根据场景选择右边的两种方法中的一种来解决:

在短期内需要特定信息回答问题时(Short-term memory),通常使用的是RAG-检索增强生成技术,如上面所说,当模型需要某些具体信息来回答问题时,它会从一个大型的数据集或知识库中检索信息来辅助生成答案。

在期望模型长期拥有固定结构、风格或格式时(Long-term memory ):就需要结合微调(Fine-tuning)来让模型长时间地记住并模仿特定的结构、风格或格式,模型能够适应特定类型的问题和回答风格,扮演好一个角色。

2

RAG适合与不适合的场景

对比好使用场景的差别后,我们再来看下RAG适用和不适用的场景

图片

图片

适合于 (✓ Good for):

- 引入新信息来更新模型的知识: 意思是RAG比较适合通过检索信息来增强模型的理解和响应质量,适合学习一些当前模型未掌握的知识。

- 通过集成实体来减少幻觉: 在这里,“幻觉”指的是模型生成与实际情况不相符合或不准确的答案。RAG试图通过确保生成的内容与检索到的上下文相关来降低这种幻觉的可能性。

不适合于 (✕ Not Good for):

- 不适合给模型理解广泛领域的能力,它不擅长学习一整个学科,比如法律,医疗这些一整个宽泛的领域学科。

- 不适合要模型了解新的语言形式或风格的场景。

- 不适合需要减少令牌(tokens)的使用的场景,因为每次检索都会消耗大量 tokens。

需要减少令牌(tokens)的使用的场景,因为每次检索都会消耗大量 tokens。

3

正式认识RAG

有了上面使用场景的铺垫,我们再来正式全方位的了解一下RAG

定义:

检索增强生成(Retrieval-Augmented Generation),它通过检索相关信息并将其作为生成过程的一部分,来提高模型生成内容的准确性和相关性。

提出背景:

生成式AI模型,如基于Transformer的模型,有时会生成不准确或不真实的信息,这种现象被称为“幻觉”。RAG技术旨在减少这种幻觉问题,提高AI生成内容的可靠性。

提出者:

RAG是由数据科学家Patrick Lewis提出的,他是Meta(之前称为Facebook)和伦敦大学学院的研究员。他在2020年发表的一篇论文中首次提出了RAG这个术语。

三个基本步骤:

- 索引:RAG模型首先使用关键字搜索等方法检索与输入问题相关的文档。

- 检索:然后,模型会分析这些文档,提取有用的信息。

- 生成:最后,结合检索到的信息和模型自身的知识,生成答案或内容。

图片

图片

假设我们对ChatGPT提出一个关于OpenAI公司首席执行官Sam Altman的近期事件的问题,即他在短时间内被解雇然后又重新上任的情况。由于ChatGPT的知识库是基于预设的数据训练的,它可能不包含这个最新发生的事件的信息,因此ChatGPT回答不出来!这个时候呢,RAG出场了,通过以下步骤来增强ChatGPT回答能力:

\1. 检索最新信息:RAG技术会从外部的知识库中搜索与所提问题相关的最新文档或信息片段。

\2. 整合信息:找到相关信息后,RAG技术将这些信息与原始问题结合起来,形成一个更全面的信息提示。

\3. 生成回答:利用这个更丰富的提示,ChatGPT现在可以生成一个基于最新信息的、有根据的回答。

返回给用户,齐活儿了!

4

RAG评估维度&效果

图片

图片

OpenAI公司曾经进行的一项实验就是RAG技术应用的一个成功案例。在采用RAG技术之前,他们通过大量实验,已经将模型的准确率提高了20%。然后,他们利用重新排序、分类等技术手段,进一步将模型的准确率提升到了85%。最终,通过特征工程和RAG技术的结合应用,他们将模型的准确率提高到了惊人的98%,这样的提升效果还是非常让人振奋的。

此外,OpenAI还分享了一个名为Ragas的开源项目,它能够从四个关键维度来评估RAG模型的性能:

图片

图片

Faithfulness (忠实度): 评估生成答案的事实准确性,即答案是否真实可信。

Context Precision (上下文精确度): 衡量所使用的上下文信息是否切合主题,是否恰当。

Answer Relevancy (答案相关性): 判断生成的答案与提出问题之间的关联性,是否切题。

Context Recall (上下文回忆): 检验模型在生成答案时,能否全面回忆并有效利用所有相关上下文信息。

5

RAG 技术的优越性及未来发展方向

以下是RAG技术的一些具体优点,以及它们如何改善大模型的响应质量:

新鲜信息访问:RAG技术能够访问比传统大型语言模型训练数据更新的信息,这意味着它能够提供最新的数据和信息。

性价比更高的知识更新:与传统的大型语言模型相比,RAG的知识库可以持续更新,而不需要付出巨大的成本或资源。

上下文关联数据:RAG的知识库可以包含与特定主题或查询更加紧密相关的上下文数据,这有助于提供更精确和深入的回答。

幻觉问题:提供了应对大型语言模型(LLMs)可能产生误导性的信息的场景的关键解决思路。

信息来源可追溯:RAG技术中的向量数据库允许我们确定信息的来源,这样一旦发现错误信息,就可以快速进行更正或删除。

目前,RAG技术主要应用于提升查询的响应质量,适用于聊天机器人、电子邮件、文本消息和其他会话应用,确保提供及时、准确、并且与上下文紧密相关的答案。

未来,RAG技术有望助力生成式大模型在更广泛的领域中发挥作用。例如,大模型不仅能够解答用户关于报考软考架构师的政策,还能通过RAG技术整合更多上下文信息,如推荐附近性价比高的学校和课程。结合Agents,甚至能够进一步协助客户完成课程的申请和缴费啥的。总之对于为用户提供更加全面和深入的服务,绝对提供了不容忽视的信息基础注入。

如何学习AI大模型?

作为一名热心肠的互联网老兵,我决定把宝贵的AI知识分享给大家。 至于能学习到多少就看你的学习毅力和能力了 。我已将重要的AI大模型资料包括AI大模型入门学习思维导图、精品AI大模型学习书籍手册、视频教程、实战学习等录播视频免费分享出来。

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

一、全套AGI大模型学习路线

AI大模型时代的学习之旅:从基础到前沿,掌握人工智能的核心技能!

img

二、640套AI大模型报告合集

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

img

三、AI大模型经典PDF籍

随着人工智能技术的飞速发展,AI大模型已经成为了当今科技领域的一大热点。这些大型预训练模型,如GPT-3、BERT、XLNet等,以其强大的语言理解和生成能力,正在改变我们对人工智能的认识。 那以下这些PDF籍就是非常不错的学习资源。

img

四、AI大模型商业化落地方案

img

作为普通人,入局大模型时代需要持续学习和实践,不断提高自己的技能和认知水平,同时也需要有责任感和伦理意识,为人工智能的健康发展贡献力量。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1931257.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Unity Meta Quest 开发:如何在每只手指上添加 Poke 交互

XR 开发社区: SpatialXR社区:完整课程、项目下载、项目孵化宣发、答疑、投融资、专属圈子 找到玩家物体 OVRCameraRig 下的子物体 HandInteractorsRight/Left(分别管理左右手的 Interactor)下的 HandPokeInteractor 子物体&#x…

Java语言程序设计——篇五

数组 概述数组定义实例展示实战演练 二维数组定义数组元素的使用数组初始化器实战演练:矩阵计算 💫不规则二维数组实战演练:杨辉三角形 概述 ⚡️数组是相同数据类型的元素集合。各元素是有先后顺序的,它们在内存中按照这个先后顺…

计算机的错误计算(三十三)

摘要 计算机的错误计算(三十二)展示了 Python的 math库中 exp(x)的计算精度问题。本节讨论 Python 的 torch 库中的 exp(x)的计算精度问题。结果显示:与 math 库中的函数输出值具有同样的错误数字个数。 不妨仍然取(二十八&…

华为云.VPC关联概念与对等连接实践

云计算.华为云 VPC关联概念与对等连接实践 - 文章信息 - Author: 李俊才 (jcLee95) Visit me at CSDN: https://jclee95.blog.csdn.netMy WebSite:http://thispage.tech/Email: 291148484163.com. Shenzhen ChinaAddress of this article:https://blog.csdn.net/q…

使用SpringCloud搭建分布式配置中心

在现代的分布式系统中,配置管理是一个非常重要的组成部分。传统的做法是将配置文件放在每个服务的本地进行配置,这样的做法在规模较小的系统中还能够接受,但是当系统规模逐渐扩大时,配置管理将变得非常困难,容易出错。…

Autosar Dcm配置-0x28服务ComControl-基于ETAS软件

文章目录 前言DcmDcmDsdDcmDspBswMBswMModeRequestPortBswMModeConditionBswMLogicalExpressionBswMActionBswMActionListBswMRule总结前言 0x28服务主要用来控制非诊断报文的通讯,一般在刷写预编程过程中,用来禁止APP的通信报文,可以减少总线负载率,提高刷写成功率。本文…

vue3-tree-org实现带照片的组织架构图

官方文档&#xff1a;vue3-tree-org 显示照片需要注意的地方 使用步骤 下载 npm install vue3-tree-org --save 在main.js中引入 import "vue3-tree-org/lib/vue3-tree-org.css"; import vue3TreeOrg from vue3-tree-org;app.use(vue3TreeOrg) 实现代码 <tem…

【简历】郑州某二本学院:前端秋招简历指导,简历通过率接近于0

注&#xff1a;为保证用户信息安全&#xff0c;姓名和学校等信息已经进行同层次变更&#xff0c;内容部分细节也进行了部分隐藏 简历说明 这是一份二本前端同学的校招简历。25届的二本同学求职方向主要是在小公司&#xff0c;但是这个同学他故意把学校放在简历最后&#xff0…

R包:DiagrammeR流程图

介绍 DiagrammeR 依赖于图形描述语言 Graphviz&#xff0c;可以通过 R 包 igraph 和 visNetwork 访问。DiagrammeR 通过将有效的图规范以 DOT 语言的形式传递给 grViz() 函数来输出图。 加载R包 采用DiagrammeRR包&#xff0c;它提供了以下函数&#xff1a; 使用create_grap…

亲子母婴行业媒体邀约宣发资源

传媒如春雨&#xff0c;润物细无声&#xff0c;大家好&#xff0c;我是51媒体网胡老师。 亲子母婴行业是一个综合性的产业&#xff0c;涉及多个领域&#xff0c;包括儿童食品&#xff0c;儿童玩具&#xff0c;服装&#xff0c;洗护&#xff0c;月子中心&#xff0c;母婴护理&a…

单臂路由组网实验,单臂路由的定义、适用情况、作用

一、定义 单臂路由是指通过在路由器的一个接口上配置许多子接口,从而实现原来相互隔离的不同VLAN之间的互通。 子接口:把路由器上的实际的物理接口划分为多个逻辑上的接口,这些被划分的逻辑接口就是子接口。 二、适用情况 用在没有三层交换机,却要实现不同VLAN之间的互…

怎样恢复删除的视频?简单几步迅速上手!

在短视频时代&#xff0c;视频成为我们生活中不可缺少的一部分。它记录了我们生活中的点点滴滴&#xff0c;承载着许多美好的回忆。如果一不小心删除了重要的视频&#xff0c;那将是一个巨大的缺憾。那我们该怎么恢复删除的视频呢&#xff1f;在电脑删掉的视频还能恢复吗&#…

Java基础笔记(面试题)

一、Tomcat中为什么要使用自定义类加载器 Tomcat中可以放多个Java项目的jar文件&#xff0c;如果每个jar文件中都有一个User的类&#xff0c;那么User类在没有自定义类加载器的情况下是只能加载一次&#xff1b;想要加载多次&#xff0c;只能自定义类加载器 二、JDK、JRE、JVM…

如何实现本地文件存储

文章目录 1. 知识回顾2. 示例代码 我们在上一章回中介绍了"如何实现文件存储"相关的内容&#xff0c;本章回中将继续介绍与此相关的内容.闲话休提&#xff0c;让我们一起Talk Flutter吧。 1. 知识回顾 我们上一章回中介绍了实现文件存储的三个步骤&#xff0c;不过限…

vue调试工具没有Pinia模块解决办法

修改前&#xff0c;调试工具里面没有Pinia模块 在项目的入口文件mian.js中这样修改 import /assets/main.scss import pinia from /stores/index import { createApp } from vue import App from ./App.vue import router from ./router import elFormRenderer from el-form…

详解 BGE-M3 与 Splade 模型

详解 BGE-M3 与 Splade 模型 本文将探索两种先进的 Embedding 模型——BGE-M3 和 Splade&#xff0c;深入解析它们的设计理念和工作原理。 01. 快速回顾Embedding向量的概念 Embedding 向量或者向量表示&#xff0c;是指在高维向量空间中以数值描述表示对象、概念或实体&am…

使用Python和wxPython创建动态HTML日历生成器

在这个数字化时代,日历仍然是我们日常生活中不可或缺的工具。今天,我们将探讨如何使用Python创建一个动态HTML日历生成器。这个项目不仅实用,还能帮助我们深入理解Python编程、GUI开发和网页生成的相关知识。 项目概述 我们的目标是创建一个应用程序,允许用户选择特定的年份和…

第二证券:电影暑期档持续升温 农机自动驾驶驶入快车道

农机自动驾驶打开驶入快车道 得益于农机补贴、土地流通、高标准农田制造等方针引导&#xff0c;叠加技术突围和用户降本增效的内生需求&#xff0c;我国正处于农业2.0向农业3.0的过渡阶段。其间农机自动驾驶系统是结束农业3.0&#xff08;即自动化&#xff09;的要害并迎来快速…

【中项第三版】系统集成项目管理工程师 | 第 5 章 软件工程② | 5.4 - 5.8

前言 第 5 章对应的内容选择题和案例分析都会进行考查&#xff0c;这一章节属于技术的内容&#xff0c;学习要以教材为准。 目录 5.4 软件实现 5.4.1 软件配置管理 5.4.2 软件编码 5.4.3 软件测试 5.5 部署交付 5.5.1 软件部署 5.5.2 软件交付 5.5.3 持续交付 5.5.4…

我日常是如何使用LLM工具的:你的LLM工具没用起来,可能是因为方法不对。

引言 我对 Prompt 认知经历了 2 个阶段&#xff1a; 第一阶段&#xff1a;去年 3 月-11 月&#xff0c;我认为 Prompt 最终会灭亡。 第二阶段&#xff1a;去年 12 月至今&#xff0c;我有两个理解&#xff1a; 在主流 LLM 工具(比如 ChatGPT&#xff0c;文心一言等大模型厂商…