模型微调还是RAG?使用LLM需要考虑的决策点

引言 模型微调(Fine-Tuning)和检索增强生成(Retrieval-Augmented Generation,简称RAG)是两种不同的技术,它们都用于提升语言模型的性能,但各自采用的方法和侧重点有所不同。本文基于微软的论文对其进行了比较。

模型微调(Fine-Tuning)

模型微调是一种在预训练的语言模型基础上进行进一步训练的方法。在这个阶段,模型会使用特定任务的数据集进行训练,以便更好地适应该任务。微调过程中,模型的所有参数都会被更新,以最小化在特定任务上的损失函数。这种方法通常需要大量的标注数据,以便模型能够学习到任务相关的特征和模式。微调可以使模型在特定任务上表现得更好,但同时也可能导致模型过于专注于训练数据中的特定模式,而忽略了其他可能的用法。

检索增强生成(RAG)

RAG是一种结合了检索和生成的方法。它不仅使用预训练的语言模型,还结合了一个检索系统,用于从大量数据中检索与输入问题相关的信息。这些检索到的信息作为上下文信息被送入语言模型,帮助模型生成更准确、更丰富的回答。RAG不需要对整个数据集进行标注,而是利用现有的数据资源,通过检索来增强模型的知识和理解能力。这种方 法使得模型能够在回答问题时考虑到更广泛的信息,提高了生成内容的相关性和准确性。

选择时需要考虑的因素

需要考虑的因素有很多:

  • 成本:在数据设计和开发上投入的资金是否能够带来所需的效益?要考虑人力、技术和流程方面的成本。模型微调需要大量显卡,但是RAG不用。
  • 可用数据:有哪些专有数据可用,以及它们的格式是什么?RAG的优势在于它不像微调那样不透明,即具有较好的可解释性,并且在技术上更易于实施。
  • 可用模型:有哪些模型可被选用?不同的模型在微调和RAG方面的表现各异。有些模型通过微调可能带来的性能提升不容忽视。
  • 微调数据:微调需要大量的标注数据,而RAG依赖于检索系统来获取相关信息,不一定需要标注。
  • 模型独立性:微调相对简单,主要是对现有模型进行再训练;RAG则需要构建或集成一个检索系统,技术实现相对复杂。
  • 持续维护:由于RAG的性质不像微调那样不透明,因此进行持续的更新和数据维护变得更加容易。
  • 可观察性和可检查性:用户输入的prompt可以轻松地与检索到的上下文参考数据以及LLM生成的响应配对。这种配对能够更容易地理解模型是如何生成特定回答的,从而提高了模型的透明度和可信度。通过观察和检查生成的回答与上下文数据之间的关系,可以更好地评估模型的性能,并在必要时进行调整和优化。

微软的实验结果

微软的一项论文对于RAG和微调进行了实验性的比较。结论是RAG相比微调具有显著优势。微调相比基础模型确实能提升效果,但它没赶上RAG方法的有效性。

论文中认为这种差异可能由如下因素造成:

  1. RAG不仅用知识丰富了模型,还结合了与问题相关的上下文,这是微调所缺乏的能力。
  2. 由于一种被称为灾难性遗忘的现象,微调可能会对模型的其他方面产生不利影响。
  3. 无监督微调的模型通过监督微调可以获得额外的对齐优势,正如Orca2相比基础的Llama2性能显著提升所展示的那样。

实验结果如下图所示:

同样有趣的是:RAG与微调结合并不总是胜过单一的RAG或微调方法。

相关推荐
irislinAmelia11 分钟前
缺陷检测AI关键点在哪
人工智能·嵌入式硬件·1024程序员节
Ai-_Man14 分钟前
Meta Muse还是不可以导出左侧所有对话,只能点进去单条内容导出,方法不对吗?
开发语言·人工智能·ai·小程序·c#·1024程序员节
安托智造16 分钟前
MBD:从二维图纸到三维模型的制造革命(下)
大数据·人工智能·制造·mbd
火山引擎开发者社区16 分钟前
VeOps 深度调查:让 AI 排障从“能用”走向“可靠”
人工智能
梓豪csd17 分钟前
消息订阅中心:谁该收到哪条通知
java·开发语言·人工智能·低代码·自动化·1024程序员节
王中阳Go22 分钟前
两个入口答案不一致先别调模型:6 行入口口径对账表(附脚本)
人工智能·后端·python·大语言模型·1024程序员节
武天旭35 分钟前
AI安全--AI大模型的隐私保护与法律法规
人工智能·安全
Solange__42 分钟前
影视预演怎么用AI生成3D场景?从分镜、Blockout到镜头交付的完整流程
人工智能·游戏·3d·ai·自然语言处理·aigc·游戏策划
冬奇Lab1 小时前
一次 Skill 评测的复盘:我推翻了一份现成的模型选型结论,然后自己造了个评测平台
人工智能·llm·agent
不脱发的程序猿2 小时前
纳指ETF量化策略
数据库·人工智能·1024程序员节