RAG 与微调在大模型应用中如何抉择

大模型内容分享(五):知识图谱与大模型:微调 Vs. RAG 大型语言模型 (LLM) 的第一波炒作来自 ChatGPT 和类似的基于网络的聊天机器人,相信在座的各位都并不陌生了,甚至不少人也已经以不同的方式试用过它的功能,这些模型非常擅长理解和生成文本,但是也存在一些问题。LLM 的一大问题是所谓的知识截止。知识截止术语表明大模型不知道训练后发生的任何事件。例如,如果我们向 ChatGPT 询问 2023 年的事件,我们将得到以下响应。如果我们向大模型询问其训练数据集中不存在的事件,也会出现同样的问题。 阅读详情

随着大型语言模型热度的不断升温,越来越多的开发者和企业投身于基于这些大模型的应用程序开发中。然而,面对预训练基座模型未能达到预期的表现时,如何提升应用程序的性能就成为了一个迫在眉睫的问题。我们终将会问自己:为了优化结果,RAG (检索增强生成) 和 Fine-Tuning (微调) 怎么选?本文将探讨 RAG 和微调在各个维度之间的微妙差别,发掘它们的适用场景。

RAG 和 Finetuning 方法介绍

RAG 技术

RAG (Retrieval-Augmented Generation, 检索增强生成) 是一种结合了检索和生成能力的 NLP 技术。它首先从一个大型的文档数据库中检索出与输入查询最相关的文档,然后利用这些检索到的文档作为额外的上下文信息,辅助生成模型生成更准确、更丰富的回答。RAG 模型通过这种方式结合了 Retrieval (检索) 的精确性和 Generation (生成) 模型的创造性,旨在改善模型对复杂查询的回答能力,特别是在需要广泛背景知识进行回答的场景中。RAG 使得模型不仅依赖于其内部知识,还能动态地利用外部信息源来增强其回答的准确度和相关性。

rag1.png

Fine-Tuning 技术

Fine-Tuning (微调) 是机器学习和 NLP 领域的一个核心概念,指的是在一个已经预训练好的模型基础上进行微调,使其更好地适应特定任务或数据集的过程。这种方法在大语言模型中十分常见,因为它允许开发者利用在大量数据上预训练的模型 (如BERT、GPT等) 的通用知识,通过在特定任务的较小数据集上进行进一步训练,来快速提高模型在这个任务上的性能。通过微调,可以根据我们的数据调整模型的权重,使其更适合我们应用程序的独特需求。

fineturning.png

抉择方法论

做出合理抉择的重要性

RAG和微调都是增强基于 LLM 应用性能的强大技术,但它们解决优化过程的不同方面,所以做出合理的抉择至关重要。RAG和微调之间的细微差别涵盖了模型架构、数据需求、计算复杂性等方面,忽视这些细节可能会使项目进度和预算脱轨。

方法选择错误可能会导致:

  • 在特定任务的场景中,由于模型性能不佳,导致输出结果与理想结果相去甚远。
  • 如果使用的技术没有对使用情况进行针对性优化,模型训练和推断的计算成本会大幅增加。
  • 如果后续转向不同的技术,需要额外的开发和迭代时间。
  • 如果选择过于复杂的适应方法,模型的可解释性会受到影响。
  • 由于大小或计算约束,将模型部署到生产环境中存在困难。

灵魂六问

1. 用例需要访问外部数据源吗?

面对一个大模型在判断选择微调还是使用 RAG 时,一个关键考虑因素是应用程序是否需要访问外部数据源。如果答案是肯定的,那么 RAG 可能是更好的选择。

RAG 旨在通过从知识来源检索相关信息,然后生成响应来增强大模型的能力。这使得这种技术非常适用于需要查询数据库、文档或其他结构化和非结构化数据存储库的应用程序。检索器和生成器组件可以优化以利用这些外部来源。

相比之下,虽然可以对大模型进行微调以学习一些外部知识,但这需要一个大型的标记数据集,其中包含来自目标领域的问答对。随着基础数据的变化,这个数据集必须进行更新,这使得它在数据源频繁变化的情况下变得不切实际,微调过程也没有明确地对涉及查询外部知识的检索和推理步骤进行建模。

因此,如果应用程序需要利用外部数据源,使用RAG 技术可能比仅仅通过微调来“内置”所需的知识更有效和可扩展。

2. 需要修改模型的行为、写作风格或领域特定知识吗?

另一个非常重要的考虑因素是需要模型调整其行为、写作风格或为特定领域的应用量身定制回答的程度。微调在使大模型适应特定细微差别、语调或术语方面表现出色,如果希望模型听起来更像金融专业人士,或者以鲁迅风格写作,或者使用特定行业的专用术语进行表达,那么在这些数据基础上进行定制可以实现更好的效果,影响模型行为的能力对于需要与特定风格或领域专业知识保持一致的应用程序至关重要。

RAG 技术虽然在整合外部知识方面很强大,但主要专注于信息检索,并不会根据检索到的信息固有地调整其语言风格或领域特定性。它会从外部数据源中提取相关内容,但可能不会展现出经过精细调整的模型所能提供的定制细微差别或领域专业知识。

因此,如果应用程序需要专业的写作风格或与特定领域的术语和惯例深度契合,微调提供了更直接的实现途径。它通过定制化确保与特定受众或专业领域真正共鸣,确保生成内容的真实感。

3. 对于 “幻觉” 的容忍程度如何?

大模型的一个缺点是在使用过程中产生不可控的 “幻觉”,即编造没有现实基础的事实或细节。在精确性和真实性至关重要的应用场景中,这可能会带来比较严重的问题。

微调可以通过将模型基于特定领域的训练数据来一定程度上减少幻觉。然而,当面对不熟悉的输入时,模型仍可能会制造虚假的回应。需要重新训练以持续减少幻觉回复。

相比之下,RAG 由其特性决定天生更不容易产生幻觉,因为相关回答会基于检索到的依据。检索器在生成器构建答案之前从外部知识源中识别相关事实。这一检索步骤充当事实核查机制,降低了大模型产生虚构内容的可能,生成器会一定程度受限于合成受检索上下文支持的回应。

因此,在面对幻觉限制严格的应用场景中,RAG 系统提供了内置机制来最小化幻觉。

4. 可供使用的标记后训练数据有多少?

在选择 RAG 和微调之间时,还需要考虑手头拥有的领域或任务特定的标记训练数据的数量。

对大模型进行微调时,严重依赖于可用的标记数据的质量和数量。丰富的数据集可以帮助模型深入理解特定领域的内涵、复杂性和独特模式,从而使其能够生成更准确和与上下文相关的响应。然而,如果使用的是有限的数据集,微调可能带来的改进可能是微不足道的。在某些情况下,内容有限的数据集甚至可能导致过拟合,即模型在训练数据上表现良好,但丧失了原本具有的通用能力。

相反,RAG 与训练数据无关,因为利用的是外部知识源来检索相关信息。即使没有大量标记的数据集,RAG 仍然可以通过访问和整合来自外部数据源的见解来展现出色表现。检索和生成的结合确保系统保持了解,即使场景特定的训练数据很少。

在实际中,如果拥有大量从场景获取到的复杂性标记数据,微调可以提供更贴合和精细的模型行为。但在数据有限的情况下,RAG 提供了一个强大的替代方案,通过其检索能力确保应用程序保持数据驱动和上下文语境。

5. 数据是静态的还是动态的?

在选择 RAG 和微调之间时,还有一个需要考虑的基础方面是数据的动态性,数据更新频率如何,模型保持最新状态有多重要?

在特定数据集上微调模型意味着模型的知识范围变成了训练时数据的静态快照。如果数据经常更新、改变或扩展,很快就会使模型过时。为了在这样动态的环境中保持模型的时效性,就需要经常重新训练它,这个过程可能既耗时又资源密集。此外每次迭代都需要详细测试,以确保更新后的模型在不同场景下仍然表现良好,并且没有产生新的偏见或理解上的偏差。

比较而言,RAG 在动态数据环境中具有优势。它的检索机制不断查询外部来源,确保生成响应所使用的信息是最新的。随着外部知识库或数据库的更新,RAG 可以无缝集成这些变化,保持其相关性,而无需频繁重新训练模型。

如果当前正在应对快速发展的数据格局,RAG 提供了一种传统微调很难实现的灵活性。通过始终与最新数据保持连接,RAG 确保生成的响应与当前信息状态保持一致,使其成为动态数据场景的理想选择。

6. 对大模型在应用过程中的可解释性要求如何?

大模型虽然能力强大,但操作方式类似黑匣子,其响应背后的推理决策难以理解。仅着眼于模型内部吸收数据集的信息,很难确定每个响应的确切来源或推理过程。这可能会让开发人员或用户难以信任模型的输出,特别是在理解答案背后的“为什么”至关重要的关键应用中。

另一方面,RAG 系统提供了一定程度的透明度,这种透明度通常不会出现在微调后的模型中。考虑到 RAG 的两步性质 “先检索后生成” ,用户可以窥视这个过程。检索组件允许检查选择哪些外部文档或数据点相关。这提供了一系列有形的证据或参考资料,可以对其进行评估,从而理解构建回应的基础。在需要高度可靠性的应用程序中,或者在需要验证生成内容的准确性时,追溯模型对特定数据源的回答的能力是非常宝贵的。

如果透明度和解释模型响应基础是优先考虑的话,RAG 提供了明显的优势。通过将响应生成分解为不同阶段,并允许洞察其数据检索,RAG 促进了对其输出的更大信任和理解。

抉择总结

参考指标RAG微调
外部数据源✅❌
修改模型行为❌✅
应对 “幻觉”✅❌
庞大的训练数据❌✅
数据偏动态✅❌
数据可解释✅❌

额外补充

可扩展性

随着模型应用的深入和需求的演变,可扩展性方面也值得关注。鉴于 RAG 的模块化特性,尤其是在知识库增长的情况下,可能会提供更直接的可扩展性。另一方面,经常微调模型以满足不断扩大的数据集可能会对计算能力提出要求。

时效性

如果应用程序要求实时或接近实时的响应反馈,那么就需要考虑不同技术引入的延迟因素。与基于内部知识生成响应的微调相比,会在生成响应之前检索数据的 RAG 可能会导致更多延迟。

可集成性

如果企业已经建立了某些基础性设施,无论是数据库、云服务还是用户界面,RAG 或微调与现有组件的兼容性都可能影响选择。

可维护性

可维护性角度需要结合应用程序的定位和企业的布局考虑,RAG 可能需要对数据库和检索机制进行维护,而微调则需要持续的训练工作,特别是如果数据或需求发生变化时候。

可靠性

虽然 RAG 可以从外部数据来源获取信息,并且可以应对各种问题,但经过高质量微调的大模型在某些领域可能提供更有效的结果。

用户友好性

企业需要考虑最终用户及其需求,如果他们需要详细的、有参考支持的答案,RAG 可能更有效;如果他们重视速度和领域专业知识,那么一个经过微调的大模型可能更合适。

投入成本

微调可能花销更大,特别是对于大参数的模型而言。但在过去的几个月里,由于 QLoRA 等微调技术的出现,成本已经显著下降。建立 RAG 可能需要较大的初始投资,包括集成、数据库访问,甚至可能还有对外部知识库的定期维护等等。

合规性

存储和从外部数据库检索数据可能会引发隐私问题,特别是对于敏感数据。另一方面,一个经过高质量微调的大模型,虽然不会查询实时数据库,但仍可能根据其训练数据产生输出,这可能会引起其自身的道德问题。

RAG 与微调的未来

其实 RAG 与微调技术并不是两个对立面,它们既可以独立使用,也可以共同工作,特别是在企业计划塑造独有标签的应用程序的时候。

通过微调可以确保对客交互终端与企业的品牌、常用语及业务知识保持一致,处理大多数典型的客户问答场景。然后,RAG 可以作为一个补充支持,用于更具动态性或特定的查询场景,确保终端可以从最新的企业文件或数据库中获取信息,从而最大程度地减少错误。通过整合这两种方法,企业可以提供全面、及时和品牌一致的客户认可体验。

融合发展.png

结语

在 RAG 和微调之间抉择需要对特定应用程序的独特需求和优先事项进行谨慎评估,并不存在一种适合所有情况的解决方案,成功之道是将优化方法与任务的具体要求相匹配。需要注意的是避免先入为主的假设和思维定式,像任何其他技术一样,它们的适用性取决于具体的工作,手段和目标的不匹配会阻碍项目进展。通过评估 “灵魂六问” 中的关键标准,组织可以就最佳实践进行决策。在某些情况下,利用 RAG 和微调的混合方法可能是更好的选择。

​

如何学习大模型

现在社会上大模型越来越普及了,已经有很多人都想往这里面扎,但是却找不到适合的方法去学习。

作为一名资深码农,初入大模型时也吃了很多亏,踩了无数坑。现在我想把我的经验和知识分享给你们,帮助你们学习AI大模型,能够解决你们学习中的困难。

我已将重要的AI大模型资料包括市面上AI大模型各大白皮书、AGI大模型系统学习路线、AI大模型视频教程、实战学习,等录播视频免费分享出来,需要的小伙伴可以扫取。

一、AGI大模型系统学习路线

很多人学习大模型的时候没有方向,东学一点西学一点,像只无头苍蝇乱撞,我下面分享的这个学习路线希望能够帮助到你们学习AI大模型。

在这里插入图片描述

二、AI大模型视频教程

在这里插入图片描述

三、AI大模型各大学习书籍

在这里插入图片描述

四、AI大模型各大场景实战案例

在这里插入图片描述

五、结束语

学习AI大模型是当前科技发展的趋势,它不仅能够为我们提供更多的机会和挑战,还能够让我们更好地理解和应用人工智能技术。通过学习AI大模型,我们可以深入了解深度学习、神经网络等核心概念,并将其应用于自然语言处理、计算机视觉、语音识别等领域。同时,掌握AI大模型还能够为我们的职业发展增添竞争力,成为未来技术领域的领导者。

再者,学习AI大模型也能为我们自己创造更多的价值,提供更多的岗位以及副业创收,让自己的生活更上一层楼。

因此,学习AI大模型是一项有前景且值得投入的时间和精力的重要选择。

避坑指南:STM32CubeMX配置USB虚拟串口时Heap Size设置的那些坑 本文深入剖析了使用STM32CubeMX配置USB虚拟串口时,因Heap Size设置不当导致设备无法识别的常见问题。文章从故障现象出发,详细解释了堆内存不足如何影响USB枚举过程,并提供了从内存布局分析、动态监控到系统化调试的完整解决方案,帮助开发者从根本上避免这一配置陷阱。 阅读详情

相关推荐

NFS共享速度慢?麒麟系统性能调优5个关键参数实测对比

本文针对银河麒麟服务器系统上NFS共享速度慢的问题,通过实测对比分析了五个关键调优参数。重点探讨了rsize/wsize传输块大小、TCP/UDP协议选择、sync/async模式权衡等,并结合麒麟系统特性提供了具体的优化建议与配置示例,旨在帮助用户有效提升国产化环境下的文件共享性能。

weixin_29254029的博客 335

大模型的微调和RAG的分别是什么?

通用大模型存在一定的幻觉问题,通过把企业私有的领域数据知识喂给通用大模型,从而降低了大模型的幻觉,这就是所谓的企业私有大模型,从技术层面来讲,实现企业私有大模型有2个技术手段:微调(Fine-tuning)、RAG(Retrieval Augmented Generation)检索增强生成。Fine-tuning 是什么?‍‍‍‍RAG是什么?‍‍‍‍‍‍‍两者有什么区别?‍‍‍‍‍‍‍‍。

m0_59164520的博客 2410

Hypermesh静力学仿真分析与模态分析-02

hypermesh中对较复杂实体进行静力学分析和模态分析,包含材料属性添加,载荷设置等等

Look_forward_的博客 6777

RAG与微调:大模型落地的最佳路径选择(文末赠书)

自2022年底ChatGPT掀起AI革命以来,大语言模型(LLM)技术快速迭代发展,从GPT-4到Claude 2,从文心一言到通义千问,大模型技术以惊人的速度发展。然而,在企业实际应用场景中,在企业探索大模型技术落地的过程中,和成为了两大主要技术方案。到底应该如何有成本和预算可控的情况下,又能基于当前的技术成熟度和应用边界来选择和确定一套可行的大模型技术验证方案,成为技术决策者面临的重要课题。

FrenzyTechAI的博客 1629

【Unity3D渲染】Unity3d实现Photoshop的各种图层混合模式

Adobe Photoshop图层混合原理、Unity ShaderLab图层混合实现

a310989583的专栏 2435

hive get_json_object解析json结果为null咋办?

最近一位开发的同学在使用get_json_object函数对json数据解析的时候,出现了结果为null的问题,问题原因是sql语法导致的,那么今天就来详细介绍一下解析json函数的用法!最后还是提醒小伙伴们,在开发过程中,一定要注意sql语法格式的书写,避免一些意想不到的结果!

笑看风云路的博客 2308

大模型落地必备:一文读懂 RAG(检索增强生成)技术原理与实现方案

大模型落地必备:一文读懂 RAG(检索增强生成)技术原理与实现方案

python12345_的博客 1825

车辆重识别/再辨识数据集: Vehicle Re-ID Datasets Collection

车辆数据库 1.VERI-Wild: A Large Dataset and a New Method for Vehicle Re-Identification in the Wild (2019-CVPR) 数据库名称:VERI-Wild 论文:链接 数据库描述: 车辆图像由一个包含174个摄像机,拍摄范围覆盖超过200平方公里的市区CCTV系统拍摄。摄像机是24小时连续拍摄30天,其长时间的...

AI炼丹师 6857

大模型微调与RAG检索增强有何区别?从基础原理到案例分析全面详解

大模型很多技术干货,都可以共享给你们,如果你肯花时间沉下心去学习,它们一定能帮到你!

2401_85325726的博客 2030

人工蜂群优化算法(ABC)详解:原理、实现与应用

人工蜂群算法(Artificial Bee Colony, ABC)是Karaboga于2005年提出的一种群体智能优化算法,其灵感来源于蜜蜂群体在自然界中高效的采蜜行为。该算法通过模拟雇佣蜂、观察蜂和侦察蜂三种角色的分工协作来寻找最优解。在ABC算法中,每个潜在的解决方案被视为一个“食物源”,其质量由适应度函数评估。雇佣蜂负责在已知优质食物源附近进行局部开采;观察蜂根据雇佣蜂分享的信息,以一定概率选择并跟进优质食物源;侦察蜂则随机探索新区域,防止种群陷入局部最优。

qq_42212808的博客 393

从误检率30%到99.7%:YOLOv8/v9工业零件缺陷检测实战(附产线部署全流程与参数调优秘籍)

工业场景YOLO实战:从实验室到车间的关键调优策略 本文针对工业缺陷检测的特殊性,系统总结了YOLOv8/v9在工业应用中的实战经验。通过齿轮厂缺陷检测案例,揭示了实验室模型与工业场景的三点本质差异:小目标特性(0.2-1mm缺陷)、复杂背景干扰(油污/反光)和数据量不足问题。重点提出了工业级解决方案:1)数据采集需覆盖极端工况(不同光照/污染/角度);2)标注采用LabelStudio+预标注提升效率;3)定制工业增强策略(反光模拟/缺陷复制粘贴)。文章还提供了完整的参数调优记录和TensorRT加速部署

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 1734

RAG 与微调在大模型应用中如何抉择,大模型入门到精通,收藏这篇就足够了!

随着大型语言模型热度的不断升温,越来越多的开发者和企业投身于基于这些大模型的应用程序开发中。然而,面对预训练基座模型未能达到预期的表现时,如何提升应用程序的性能就成为了一个迫在眉睫的问题。

2301_81940605的博客 798

UG NX二次开发(C#)-外部模式-批量删除某些图层中的体对象和曲线对象

在 UG NX中,有时需要批量删除某文件夹下多个.prt文件中固定一些图层中的体对象和曲线对象,这时如果采用手动逐个打开模型,并选择针对的图层删除,即耗时也容易遗漏,因此采用外部模式来处理比较方便。本文介绍批量删除某些图层中的体对象和曲线对象。

GimiGimmy 3035

RAG还是微调?为您的大型语言模型找到正确路径

RAG (Retrieval-Augmented Generation, 检索增强生成) 是一种结合了检索和生成能力的 NLP 技术。它首先从一个大型的文档数据库中检索出与输入查询最相关的文档,然后利用这些检索到的文档作为额外的上下文信息,辅助生成模型生成更准确、更丰富的回答。RAG 模型通过这种方式结合了 Retrieval (检索) 的精确性和 Generation (生成) 模型的创造性,旨在改善模型对复杂查询的回答能力,特别是在需要广泛背景知识进行回答的场景中。

2401_84204207的博客 1242

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

RAG还是Fine-tuning?大模型应用的“生死抉择”,选错路,白干一年

微调大语言模型是利用特定任务或领域的定制数据集,对预训练模型进行调整;而检索增强生成(RAG)则将检索系统与生成模型相结合,动态地将外部的、最新的知识融入生成结果中。

m0_59235245的博客 1136

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

RAG检索增强生成和大模型微调的抉择

“ RAG和微调即相似,又不完全相同,它们在能力上是互补的。”前排提示,文末有大模型AGI-优快云独家资料包哦!很多人会奇怪RAG和微调有什么关系,而对RAG和微调了解的人应该都明白为什么会把RAG和微调放在一块讨论。有些人说有了RAG就不需要微调,而另一些人说有了微调就不需要RAG,这到底是怎么回事?RAG和微调之间到底存在什么样的恩恩怨怨?RAG与微调作者在第一次看到RAG和微调的标题时,也是一脸懵逼;RAG和微调有什么关系,它们完全是两种不同的技术,为什么会被放在一块讨论?而随着对大模型了解的加深,

2301_76161259的博客 1222

【AI大模型】RAG检索增强生成和大模型微调的抉择

很多人会奇怪RAG和微调有什么关系,而对RAG和微调了解的人应该都明白为什么会把RAG和微调放在一块讨论。 有些人说有了RAG就不需要微调,而另一些人说有了微调就不需要RAG,这到底是怎么回事?RAG和微调之间到底存在什么样的恩恩怨怨?

2401_85327249的博客 968

【RAG+通用大模型】 or 【RAG+微调大模型】?企业知识库落地方案如何抉择?

当下,企业在做垂直应用方案落地时,会在上难以抉择。有人认为,基于“通用”大模型的RAG 知识库方案就能实现业务场景。而有时会发现,仍然无法满足预期要求,而到底什么时候才应该选择微调,而不是优化我的 RAG 方案?这个界限如何找?“通用”大模型:指的没有做过微调的大模型,比如大家熟知的 gpt-4、Qwen、Baichuan、Llama 等等。的确,这个界限很难找,因为你也不知道,是目前你的 RAG 方案本身问题,还是说应该微调的问题。本文将针对这个困惑给予一些建议,希望对你有帮助。

m0_59235245的博客 875
上一篇: 【大模型】基于 ChatGLM3 和 LangChain 搭建知识库助手
下一篇: 从入门到精通Transformer,掌握NLP技术这本书必看《从零开始构建最先进的NLP模型》
AI_小站
博客等级 码龄3年 6255粉丝 1152原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值