开发大模型应用,到底使用RAG还是微调?我们应该从哪些方面考虑?

现在基于大模型开发应用时,相信很多人都有这种疑问,到底对大模型进行微调还是外接RAG呢?因为两者在一定层面上有很多相似的地方,下面让我给大家从各个层面进行分析,结合具体的业务场景,看哪种方式更适合你的。

大模型微调和RAG的区别

RAG:本质上没有改变大模型,只不过是在大模型之外添加了额外的知识而已,所以RAG又被称作大模型外挂的知识库。使用流程上,当我们进行提问时,首先问题先会从RAG知识库中进行检索,然后将检索的结果和原始问题组成新的prompt,再交给大模型,最后由大模型给出结果。

图片

大模型微调:微调是指在一个已有大模型的基础上,将一些知识给这个大模型进行训练,此时训练后新的大模型就具备了那些知识,这个过程叫做微调。比如上面说的在RAG知识库的内容,我们可以给已有的大模型进行训练,那样训练后的大模型就具备RAG知识库的内容了,当用户进行提问时,直接跟大模型进行交互给出反馈。

图片

所以两者完全不同,简单理解就是微调需要对大模型进行训练,训练后新的大模型对外直接提供服务;而RAG则不需要,只是大模型外挂的一个知识库,RAG+大模型两者合起来对外提供服务。

微调 or RAG?

通过上面的介绍,两者属于完全不同的方式对外提供的丰富,但是可以达到同样的效果,那我们应该如何选择呢?

1、你的大模型需不需要具备一些特殊能力,也可以说是特殊定制的大模型。比如回答问题的方式,模型本身所具备的“性格”等。举个具体的场景,你的大模型的应用场景是新闻播报员,当你向他提问时,大模型就会以专业官方正式的口吻来回答问题。或者你的场景是一个智能客服,那大模型回答的口吻可能是礼貌、平易近人的语气回答问题。而这种需求必须通过对大模型进行特殊的训练,通过微调的方式去实现,RAG方式很难做到。

2、数据是否经常变化。如果你的数据经常变化,比如企业内的一些业务数据变化频繁,而且有些需要及时更新作出反馈,那实际上选择RAG是最合适的方式。因为如果我们使用微调的话,每次数据的更新我们都需要重新去微调大模型,这个显然是不现实的。但是RAG知识库则不同,因为是外挂的,本质上是去更新背后向量数据库的数据,操作简单,就类似于我们业务更新数据库mysql一样容易。

3、解决幻觉问题,RAG优于大模型微调。大模型的幻觉问题不可避免,并且大模型本身就是一个黑盒,当我们提出一个问题时,不清楚内部解析细节给出的反馈过程,出现了幻觉也难以追踪。但是RAG可以通过在外部添加专业知识,降低大模型出现幻觉的概率,并且可以对出现的具体幻觉通过加强RAG知识内容去解决,同时大模型之前的检索RAG知识库的步骤和结果是可以进行追踪的。

4、成本。这个我认为是特别重要的一点,使用RAG的成本要远低于微调一个大模型的成本。因为微调那我们需要收集和处理数据,然后做进行微调,如果微调的效果不好,我们还要接着去做迭代,所以它的成本是很高的。

5、反馈的延迟性。如果对大模型的反馈速度有要求,那很明显我们要选择微调。因为微调后的大模型没有其他东西,直接与其交互即可。但是RAG很明显是在大模型之外又新加的环节,并且RAG本身的步骤里就包含了检索、聚合prompt等步骤,都比较费时。

6、专业垂直领域大模型场景。毫无疑问,只能是微调。这种场景下,我们的关注点是大模型只要某个专业领域很强就可以,通用领域则不是我们关注的重点,例如编码大模型的场景,我们只需要用微调的方式,在编码层面对其进行专业的训练,使大模型成为编码领域的专家。这种场景下,RAG是办不到的,因为只有大模型训练才可以。

-------------

上面列举的几个点,就是我认为的,不同场景下到底是选择用微调还是RAG最重要的几个方向,大家可以作为参考。

如何学习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.rhkb.cn/news/360226.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一款轻量级的WPF UI库---Adonis UI

Adonis UI适用于 WPF 应用程序的轻型 UI 工具包,提供经典但增强的 Windows 视觉对象 组件内容 几乎所有 WPF 控件的模板的默认样式为方便起见,可根据需要使用两种配色方案(浅色和深色),也可用于自定义样式支持在运行时更改配色方案支持其他自定义配色方案提供水印等功能的…

硬盘监控和分析工具:Smartctl

文章目录 1. 概述2. 安装3. 使用4. smartctl属性信息介绍 1. 概述 Smartctl(S.M.A.R.T 自监控,分析和报告技术)是类Unix系统下实施SMART任务命令行套件或工具,它用于打印SMART自检和错误日志,启用并禁用SMRAT自动检测…

又一盛举,沃飞取得关键技术突破后,助力成都低空载人交通航线运行实践!

6月20日上午9点30分,随着塔台发出指令,一架载人直升飞机(阿古斯塔AW109型号)从洛带通用机场起飞,经停中国欧洲中心、青城山,最后稳稳落地回到洛带通用机场。当天下午,这架飞机再次转动旋翼&…

IDEA2024关闭自动AI代码补全功能

文章目录 一、背景二、教程四、写在后面 一、背景 在本人前段时间的一次面试算法题中,面试官让我关闭代码提示功能,当时气氛尴尬的可以抠出三室一厅,但是这个功能是2024新版参考文献自带的,本次来分享如何关闭新版代码补全功能。…

Mac(M1芯片)安装多个jdk,Mac卸载jdk

1.jdk下载 oracle官方链接:oracle官方下载链接 2.安装 直接下一步,下一步就行 3.查看是否安装成功 出现下图内容表示安装成功。 4.配置环境变量 open -e .bash_profile 路径建议复制过去 #刷新环境变量 source ~/.bash_profile 5.切换方法 6.jdk…

sql sever 存储过程不能请求https的解决方案

此错误的原因,通常是因为SQL Server默认不允许非加密的HTTP请求。为了解决这个问题,需要配置SQL Server允许非密码的https请求,或者使用密码的http请求。 下面是配置SQL Server允许非加密http请求 UsE [master] ;Go EXEC sp_configure Sh…

如何确保消息不被重复消费

一、重复消费问题出现的原因 导致重复消费的原因可能出现在生产者,也可能出现在 MQ 或 消费者。这里说的重复消费问题是指同一个数据被执行了两次,不单单指 MQ 中一条消息被消费了两次,也可能是 MQ 中存在两条一模一样的消费。 生产者&…

施耐德ATV310变频器参数设置

1、ATV610变频器参数设置请参考下面文章链接: 施耐德ATV610变频器MODBUS通信应用(SMART PLC)-CSDN博客文章浏览阅读131次。提升MODBUS-RTU通信数据刷新速度的常用方法_modbus rtu通讯慢-CSDN博客文章浏览阅读1k次。https://rxxw-control.blog.csdn.net/article/det…

Python为JSON解析和生成功能库之rapidjson使用详解

概要 在现代应用程序开发中,JSON(JavaScript Object Notation)作为一种轻量级的数据交换格式,被广泛应用于Web开发、数据传输和配置文件等场景。Python自带的json模块已经非常强大,但在处理大规模数据时,其性能可能无法满足需求。为了提高JSON处理效率,Python的rapidjs…

DVWA 靶场 JavaScript 通关解析

前言 DVWA代表Damn Vulnerable Web Application,是一个用于学习和练习Web应用程序漏洞的开源漏洞应用程序。它被设计成一个易于安装和配置的漏洞应用程序,旨在帮助安全专业人员和爱好者了解和熟悉不同类型的Web应用程序漏洞。 DVWA提供了一系列的漏洞场…

el-form重置后input无法输入问题

新增用户遇到的问题: 如果你没有为 formData 设置默认值,而只是将其初始化为空对象 {},则在打开dialog时,正常输入, formdata会变成如下 但是,打开后,直接使用 resetFields 或直接清空表单&…

mybatis x插件的使用教程(详细)

MyBatisX 的主要功能 代码生成: 自动生成 MyBatis 的 Mapper、XML 配置文件和实体类,大大减少手工编写代码的工作量。 智能代码补全: 提供 SQL 语句和 MyBatis 配置的智能代码补全功能,使开发者能够更快地编写代码。 代码导航&…

用Jenkins+Docker+Maven+Git实现持续集成 (超详细)

首先介绍一下笔者的练手小项目:基于SpringCloud搭建的,用Docker容器部署,用Git实现代码托管,Jenkins实现持续集成。 好了,废话不多说了,直接进入主题吧。 一、Jenkins简介 Jenkins,原名Hudson&…

重磅丨上海容大推出“容聆”智能拾音工牌,赋能线下门店运营数字化

近日,继豚音营业厅智能质检终端之后,上海容大数字技术有限公司(简称“上海容大”)在线下面对面沟通场景下语音数据采集与智能分析领域取得了新突破,重磅推出AI智能语音工牌产品——“容聆”。 据悉,“容聆”…

【期末复习】计算机组成原理

海明码 最通俗的海明码计算方法,不需记公式,套步骤即可(可能都不需要理解) https://www.bilibili.com/video/BV1tL4y1h7Fd/ 接上一海明码视频(海明码的纠错) https://www.bilibili.com/video/BV1tf4y1A7NX/…

[保姆级教程]uniapp实现底部导航栏

文章目录 前置准备工作安装HBuilder-X新建uniapp项目教程使用HBuilder-X启动uniapp项目教程 实现底部导航栏package.json中配置导航栏详细配置内容 前置准备工作 安装HBuilder-X 详细步骤可看上文》》 新建uniapp项目教程 详细步骤可看上文》》 使用HBuilder-X启动uniapp项…

ElementUI框架搭建及组件使用+登录界面精美模版分享

目录 如何在项目中使用ElementUI组件? ① 通过npm 安装 ② 完整引入 Element ③ 导入组件测试 登录界面搭建 注意事项 ▐ 前言: 本篇文章将详解基于Vue-cli脚手架搭建的项目如何使用ElementUI ?所以在学习本篇文章内容之前建议您先学习…

【ajax核心01】ajax底层原理

目录 一:XMLHttpRequest对象 二:如何使用XHR 步骤: 注意: 三:XMLHttpRequest-请求参数 1 定义: 2 案例练习 前端HTML结构: JS代码 四:XMLHttpRequest-数据提交 核心 五:如…

实现一个查找算法

/实现一个查找算法 public class Test_35 {public static int linearSearch(int[] arr, int target) {for (int i 0; i < arr.length; i) {if (arr[i] target) {return i; // 返回目标元素的索引}}return -1; // 如果未找到目标元素&#xff0c;则返回-1}public static vo…

Spring Boot基础入门

引言 Spring Boot是一个开源的Java框架&#xff0c;旨在简化Spring应用程序的创建和部署过程。它提供了一种快速和简便的方式来创建独立的、生产级别的基于Spring的应用程序。本文将介绍Spring Boot的基础知识&#xff0c;包括其核心特性、如何开始使用Spring Boot以及构建你的…