论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
应用中心
搜索
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
账号登录
立即注册
找回密码
用户名
Email
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
qidao123.com技术社区-IT企服评测·应用市场
»
论坛
›
软件与程序人生
›
云原生
›
【大模型基础_毛玉仁】6.2 检索加强生成(RAG)架构 ...
【大模型基础_毛玉仁】6.2 检索加强生成(RAG)架构
大号在练葵花宝典
论坛元老
|
2025-4-22 11:52:39
|
显示全部楼层
|
阅读模式
楼主
主题
1653
|
帖子
1653
|
积分
4959
6.2 检索加强生成(RAG)架构
检索加强生成(RAG)系统
是一个集成了
外部知识库、检索器、生成器等
多个功能模块的软件系统。针对差别的业务场景和需求,可以筹划差别的系统架构来 组合、和谐这些模块,以优化RAG的性能。
.
6.2.1 RAG 架构分类
思量到大语言模型的开源/闭源、微调成本等标题,RAG中的大语言模型可以是参数不可感知/调治的“黑盒”模型,也可以是参数可感知和微调的“白盒”模型。
从是否对大语言模型进行微调的角度出发,将RAG架构分类两大类:
黑盒加强架构
和
白盒加强架构
图6.9: 检索加强架构分类图。
此中含蓝色雪花的模块表示其参数被冻结、带红色 火焰的部分表示微调时其参数被更新。
黑盒加强架构,
根据是否对检索器进行微调分为两类:
无微调、
检索器微调
。
白盒加强架构
,根据是否对检索器进行微调分为两类:
仅微调大语言模型
、
检索器与大语言模型协同微调
(下文简称为协同微调)。
在RAG系统中,除了调整检索器和大语言模型,我们也可对其他功能模块进行调整。调整其他功能模块与黑盒加强和白盒加强的分类是兼容的。
.
6.2.2 黑盒加强架构
某些情况下,无法获取大语言模型的结构和参数大概没有充足的算力对模型进行微调,此时,RAG 必要在黑盒加强架构的基础上构建。
在黑盒加强架构中,仅可对检索器进行策略调整与优化。其可以分为
无微调
架构和
检索器微调
两种架构。
.
1)无微调
无微调架构中,检索器和语言模型经太过别
独立的预练习
后
参数不再更新
,
直接组合使用
。
In-Context RALM
是该框架下的代表性方法。其直接将检索器检索到的文档前置到输入标题前作为上下文。
检索操作时,几个关键参数:
检索步长
:模型在生成文本时,每隔多少个词进行一次检索。直接影响到模型的相应速率和信息的即时性。
检索查询长度
:用于检索的文本片段的长度,常被设为语言模型输入中的末了几个词,以确保检索到的信息与当前的文本生成任务高度相关。
.
2)检索器微调
在检索器微调架构中,大语言模型的
参数保持不变
,仅
用其输出指导检索器的微调
。
REPLUG LSR
是检索器微调框架的代表性方法,它使用大语言模型的狐疑度分数作为监督信号来微调检索器,使其能更有用地检索出可以或许显著降低语言模型狐疑度的文档。
此过程涉及两个关键的概率分布:
检索器输出的文档分布
:检索器在接收到当前上下文后,检索与之相关的文档,并形成一个文档概率分布。
文档对语言模型的贡献分布
:如果某个文档对语言模型生成准确预测特别关键,它会被赋予更高的概率权重。
REPLUG LSR 在微调过程中将语言模型视为黑盒,仅通过模型输出指导检索器练习,避免修改内部结构。同时采用异步索引更新策略,在肯定的练习步调之后才进行更新,降低索引更新频率以减少计算成本。
此外,检索器微调框架中还可以引入代理模型(如小型语言模型)来加强检索器的微调结果,从而在不微调目标语言模型的情况下提拔其在差别任务上的表现。
例如,
AAR
方法通入引入额外小型语言模型,使用它的交叉注意力得分标注偏好文档,以此来微调检索器,使其可以或许在不微调目标语言模型的情况下加强其在差别任务上的表现。
.
6.2.3 白盒加强架构
通常,大语言模型和检索器是独立预练习的,二者可能存在匹配欠佳的情况。白盒加强架构通过微调大语言模型来共同检索器,以提拔 RAG 的结果。
白盒加强架构可根据是否对检索器进行微调分为两类:
仅语言模型微调
、
检索器和语言模型协同微调
。
.
1)仅微调语言模型
仅微调语言模型:
指的是
检索器
作为一个预先练习好的组件其
参数保持不变
,
大语言模型
根据检索器提供的上下文信息,
对自身参数进行微调
。
RETRO
是仅微调语言模型的代表性方法之:
该方法通过修改语言模型的结构,使其在微调过程中可以或许将从知识库中检索到的
文本直接融入到语言模型中间状态
中,从而实现外部知识对大语言模型的加强。
SELF-RAG
:
通过在微调语言模型时
引入反思标记
,使语言模型在生成过程中
动态决定是否必要检索外部文本
,并对生成结果进行自我批驳和优化。
图 6.12: RETRO 模型架构图
以 RETRO 为例,其结构如图:
RETRO 将知识库切块并用 BERT 生成嵌入向量。
在微调模型时的自回归过程中,模型生成一段文本块后,就去知识库中检索出与之最相似的嵌入向量。
然后,这些嵌入向量和模型注意力层的输出一起被送入一个外部的 Transformer 编码器进行编码。
得到的编码向量直接输入给模型的块交叉编码器的键(key)和值(value),以捕捉外部知识的关键信息。
通过交叉编码,模型可以或许结合检索到的相关信息来生成新的文本块。
.
2)检索器和语言模型协同微调
在检索器和语言模型协同微调的架构中,检索器和语言模型的
参数更新同步进行
。
这种微调的方式使得检索器可以或许在检索的同时,学习如何更有用地支持语言模型的需求,而语言模型则可以更好地适应并使用检索到的信息,以进一步提拔 RAG 的性能。
图 6.13: Atlas 模型架构图
Atlas
是检索器和语言模型协同微调的架构的代表性工作,其架构如图所示。
与 REPLUG LSR 类似,其在预练习和微调阶段使用 KL 散度损失函数,来联合练习检索器和语言模型, 以确保检索器输出的文档相关性分布与文档对语言模型的贡献分布雷同等。
差别之处在于,Atlas 在预练习和微调过程中,检索器和语言模型参数同步被更新,检索器学习向语言模型提供最相关的文档,而语言模型则学习如何使用这些文档来 改善其对查询的相应。
为确保检索结果与模型最新状态保持同步,Atlas 同样必要定期更新语料库文档的向量编码,从而维持检索的准确性。
.
6.2.4 对比与分析
黑盒加强架构
:闭源模型的背景下提出,限制了对模型内部参数的直接调整。两种策略如下:
无微调
:简单实用,直接使用预练习的语言模型和检索器,不进行任何更新,适合快速摆设。缺点在于无法对语言模型进行优化以适应新的任务需求。
检索器微调
:调整检索器来适应语言模型输出,无法修改语言模型的情况下,有了提拔性能的可能性。这种方法的结果在很大程度上取决于调整后的检索器的准确性。
白盒加强架构
:使用开源模型优势,答应调整语言模型结构和参数,可更好和谐检索器和大语言模型。两种微调形式:
仅微调语言模型
:根据检索到的信息仅调整语言模型结构和参数,以提拔特定任务上的性能。
检索器和语言模型协同微调
:同步更新检索器和语言模型,使得两者可以或许在练习过程中相互适应,从而进步整体系统的性能。
尽管白盒加强架构可以有用改善 RAG 的性能,但也存在明显缺点。这种架构通常必要大量计算资源和时间来练习,特别是协同微调策略,必要大量的运算资源来实现语言模型和检索器的同步更新。
.
其他参考:【大模型基础_毛玉仁】系列文章
声明:资源可能存在第三方来源,若有侵权请接洽删除!
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
本帖子中包含更多资源
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
回复
使用道具
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
大号在练葵花宝典
论坛元老
这个人很懒什么都没写!
楼主热帖
记一次MySql唯一索引在left join连表查 ...
鸿蒙系统架构分析
C# 使用dataGridView导入导出excel(NPO ...
2021年高教杯数学建模国赛C题的解题过 ...
STM32F1与STM32CubeIDE编程实例-磁簧开 ...
【大话云原生】微服务篇-五星级酒店的 ...
MySQL实战45讲 3
springboot请求参数的方法分享 ...
渗透测试过程参考
GO实现Redis:GO实现内存数据库(3) ...
标签云
渠道
国产数据库
集成商
AI
运维
CIO
存储
服务器
快速回复
返回顶部
返回列表