RA-DIT: RETRIEVAL-AUGMENTED DUAL INSTRUCTION TUNING

现有方法:
1.对于语言模型预训练进行昂贵的特定检索修改

2.使用了对数据存储器的事后集成,从而导致了次优的性能


改进: RA-DIT:检测增强双指令调优(两部分微调)  对任意LLM加入检索功能

两个微调步骤:
1.更新预训练语言模型,更好地利用检索信息

2.更新检索器,返回更相关的信息


模型:LLaMA+DRAGON+

根据语言模型的prompt进行检索,产生检索块,每个检索块放在prompt前,来自多个块的预测被并行计算并集成以产生最终输出。

指令微调步骤:
1.LM-ft:采用了监督学习的 fine-tuning 方法来训练模型,并在每个 fine-tuning prompt 前加入了一个从外部检索到的“background”字段。

2.检索微调(R-ft):采用了一种名为“generalized LM-Supervised Retrieval (LSR)” 的训练目标来更新查询编码器,该目标结合了监督学习和无监督学习的思想,并计算在监督任务和无监督文本补全任务的组合上

语言模型:LLaMA

检索器:基于双编码器的检索器架构

给定语料库c和查询q进行点积计算:

用DRAGON+初始化检索器(双编码器模块),该模型是通过对比学习目标和大规模数据增强进行训练的。

并行上下文检索增强

通过prompt进行检索获得top-k个检索块,每个块单独加入到prompt前进行训练,并行计算预测,最终结果概率由(每个检索块+prompt)概率混合而成,概率由块相关性分数加权。

o表示序列连接,x=prompt,c检索文本块

  c块的概率

检索文档的概率化用的softmax,如果是做inner product(向量内积)最后的值并不一定在01区间内,也没用概率特性,所以要额外处理一下

语言模型微调: 

加入检索器,进行端到端的微调相当于P(A|D,I,Q)=sum(P(Di|I,Q),P(A|I,Q,Di))   计算i检索块的概率,以及i检索块生成正确答案的loss进行加权,计算总loss进行端到端微调。

FT实例:x=prompt,c检索文本块,y输出段

LOSS:

log(next_p)

在微调期间集成上下文检索增强,通过训练LLM在给出错误检索块时做出正确预测,忽略误导性的检索内容。

检索器微调:

根据第一步微调结果进行检索器的微调,通过计算当前检索进入LLM生成的loss,应让Di的概率越大,LLM的loss越小,进行KL散度

温度系数T,越大的温度则概率分布越平滑。C‘是x检索到的k个检索文本块

表示了在x和y固定的情况下,不同c作为辅助,建模出正确y的概率


LSR技术,以用语言模型本身为检索器微调提供监督最小化Plsr和Pr的KL-divergence(KL散度)希望把 PR(ci检索块的概率)和PLSR(ci预测出正确结果的概率)分布拉进

我们只更新检索器的查询编码器,即编码器部分的E(q)

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值