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

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://xiahunao.cn/news/3245847.html

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

相关文章

【内网穿透】打洞笔记

文章目录 前言原理阐述公网sshfrp转发服务 实现前提第一步:第二步第三步第四步 补充第五步(希望隧道一直开着)sftp传数据(嫌云服务器上的网太慢) 前言 租了一个云服务器,想用vscode的ssh远程连接&#xff…

数据库中的复合查询

一、基本查询回顾 1、查询工资高于500或岗位为manager的员工,并且名字首字母是J 2、按部门编号升序,工资降序排序 3、用年薪降序排序 4、显示工资最高的员工名字和岗位(使用了子查询) 5、查询工资高于平均工资的员工 6、按部门查…

kubernetes集群部署elasticsearch集群,包含无认证和有认证模式

1、背景: 因公司业务需要,需要在测试、生产kubernetes集群中部署elasticsearch集群,因不同环境要求,需要部署不同模式的elasticsearch集群, 1、测试环境因安全性要求不高,是部署一套默认配置; 2…

orcad导出pdf 缺少title block

在OrCAD中导出PDF时没有Title Block 最后确认问题在这里: 要勾选上Title Block Visible下面的print

《昇思25天学习打卡营第19天|Diffusion扩散模型》

什么是Diffusion Model? 什么是Diffusion Model? 如果将Diffusion与其他生成模型(如Normalizing Flows、GAN或VAE)进行比较,它并没有那么复杂,它们都将噪声从一些简单分布转换为数据样本,Diffusion也是从…

46 mysql 客户端拿不到具体的错误信息

前言 这是最近碰到的一个问题 同样的一个 环境的问题, 在正常的 mysql 环境会返回 具体的错误信息, 然后 在我的另外一个环境里面 只能返回一些 unknown error 之类的 十分抽象的环境 然后 我们这里 来看一下 具体的情况 我们这里从 错误的环境 往前推导 来查看 并解决这个…

常见的计算机语言有哪些?

计算机语言用于编写软件和应用程序,各种语言有不同的用途和特点。目前常见的的编程语言有: 1、Java;2、Python;3、JavaScript;4、C;5、C#;6、Swift;7、Go;8、Ruby&#…

Chromium CI/CD 之Jenkins实用指南2024-系统基本配置(二)

1. 引言 在现代软件开发和持续集成/持续部署(CI/CD)过程中,Jenkins已经成为一款不可或缺的工具。作为一个开源的自动化服务器,Jenkins能够帮助开发团队自动化各种任务,包括构建、测试和部署应用程序。特别是当与Ubunt…

高职综合布线实训室

一、高职综合布线实训室建设背景 随着《国民经济和社会发展第十四个五年规划和2035年远景目标纲要》的深入实施,数字化转型已成为国家发展的核心战略之一,计算机网络技术作为数字化建设的基石,其重要性日益凸显。然而,面对数字时代…

数据可视化在智慧医疗中的重要应用

在现代智慧医疗的推动下,数据可视化技术正日益成为医疗领域的重要工具。通过将复杂的医疗数据转换为直观的图表和图形,数据可视化不仅提升了医疗服务的效率,还极大地改善了患者的就医体验。 在智慧医疗中,数据可视化首先在电子病历…

今日早报 每日精选15条新闻简报 每天一分钟 知晓天下事 7月17日,星期三

每天一分钟,知晓天下事! 2024年7月17日 星期三 农历六月十二 1、 三部门:紧急调拨1万件救灾物资支持河南、山东两省做好受灾群众基本生活保障工作。 2、 多部门联合公布无人驾驶试点名单:北京、上海等20个城市(联合体…

Cesium能做啥,加载哪些数据源,开源免费用商用吗?这里告诉你。

很多小伙伴对Cesium是什么,一知半解,本文是基础知识的扫盲,为大家分享cesium是什么、能做什么、默认数据是什么,为什么首先要进行数据加载,要加载哪些数据,希望通过这些带你入个门,欢迎点赞评论…

所有权与生命周期:Rust 内存管理的哲学

所有权与生命周期:Rust内存管理的哲学 博主寄语引言:编程语言的内存管理困境与 Rust 的解决方案。所有权基本概念:资源的绝对主权生命周期的理解与应用:编译时的守护神借用与引用的精妙设计:安全与效率的和谐共舞Rust …

服务器基础1

服务器基础复习01 1.环境部署 系统:华为欧拉系统 网络简单配置nmtui 因为华为欧拉系统密码需要复杂度 所以我们可以进入后更改密码 echo 123 | passwd --stdin root也可以 echo "root:123" | chpasswd2.关闭防火墙,禁用SElinux 首先先关…

C++:链表插入排序/删除重复节点题解

插入排序 插入排序的思路很简单,基本都知道。 关键是放在链表中, 1.要建立一个哨兵位,这个哨兵位的下一个节点,始终指向val最小的节点。 2.prev指针作为cur的前一个节点,始终指向val最大的节点。它的下一个节点始终…

C++ ─── vector的模拟实现

知识点: ① 因为vector是模版,所以声明和定义都放在.h中,防止出现编译错误。 .h不会被编译,在预处理中.h在.cpp中展开,所以在编译时只有.cpp 而 .cpp顺序编译,只会进行向上查找,因此至少有函数的…

交叉编译ethtool(ubuntu 2018)

参考文章:https://www.cnblogs.com/nazhen/p/16800427.html https://blog.csdn.net/weixin_43128044/article/details/137953913 1、下载相关安装包 //ethtool依赖libmul git clone http://git.netfilter.org/libmnl //ethtool源码 git clone http://git.kernel.or…

野兔在线工具箱系统全新升级改版,基于TP8和yetuadmin后台实现

野兔在线工具箱系统全新升级改版,基于TP8和yetuadmin后台实现 系统名称:野兔在线工具系统 系统语言:支持多语言,大概有20种 系统源码:不加密,开源 系统开发:PHPMySQL (基于thinkphp8&#x…

Docker容器——初识Docker,安装以及了解操作命令

一、Docker是什么? 是一个开源的应用容器引擎,基于go语言开发并遵循了apache2.0协议开源,用来管理容器和镜像的工具是在Linux容器里驱动运行应用的开源工具是一种轻量级的“虚拟机” 基于linux内核运行Docker的容器技术可以在一台主机上轻松为任何应用…

Pytorch的编译新特性TorchDynamo的工作原理和使用示例

在深度学习中,优化模型性能至关重要,特别是对于需要快速执行和实时推断的应用。而PyTorch在平衡动态图执行与高性能方面常常面临挑战。传统的PyTorch优化技术在处理动态计算图时效果有限,导致训练时间延长和模型性能不佳。TorchDynamo是一种为…