大语言模型-RetroMAE-检索预训练模型

一、背景信息:

RetroMAE是2022年10月由北邮和华为提出的一种密集检索预训练策略。

RetroMAE主要应用于检索模型的预训练,模型架构为非对称的Encoder-Decode结构。

二、整体结构:

RetroMAE的模型架构为非对称的Encoder-Decode结构。

Encoder部分: 是由类似于BERT的Encoder组成(12层Transformer的Encoder),用于生成句向量。
Decoder部分: 仅有由一层类似于Transformer的Decoder构成,用于重建句子。

bash 复制代码
1、token级别的预训练:比如MLM或者Seq2Seq,难以获得高质量句向量。
2、对比学习:受限于数据增强的质量,需要大量负样本。
3、自重建方法:不受数据增强跟负样本采样策略的影响,但对对编码质量要求高,训练数据也要求被充分利用到。

RetroMAE中的掩码

在Encoder阶段,对sentence进行15%~30%的mask,通过Encoder得到句子向量的表示(这里用Encoder的CLS token表示)。

在Decoder阶段,句子被进一步加大噪音,mask的比例为50%~70%,通过增加mask的比例来提升任务的复杂性。

而整个预训练的任务则为:在encoder阶段,对被掩码的部分进行重构,也就是MLM(Masked Language Modeling),在decoder阶段对整个句子进行重构,整体loss函数为:

三、Encoder模块

假设,句子输入为X;Encoder部分随机mask(15%~30%)后为 X ~ e n c \tilde{X} {enc} X~enc;Encoder编码器用 Φ e n c ( ) \Phi{enc}() Φenc()表示。

因此经过Encoder后得到的句子向量: h X ~ ← Φ e n c ( X ~ e n c ) {h} {\tilde{X}} \gets \Phi{enc}(\tilde{X} _{enc}) hX~←Φenc(X~enc)

四、Decoder模块

相比于Transformer中的Decoder结构,RetroMAE做了一些改进,并将其称为Enhanced-Decoder。

Enhanced-Decoder的核心想法,为以下两点:

  • 可以从输入数据中获取更多信息
  • 可以根据不同来源的数据训练模型

因此,Enhanced-Decoder在attention模块同时使用了两个输入流 H 1 、 H 2 H_{1}、H_{2} H1、H2;输入流 H 1 H_{1} H1保留了较多输入数据的信息。
H 1 ← h X \~ + p 0 , . . . , h X \~ + p N H 2 ← h X \~ , e x 1 + p 0 , . . . , e x N + p N \begin{matrix} H_{1} \gets h_{\\tilde{X}}+p_{0},...,h_{\\tilde{X}}+p_{N} \\H_{2} \gets h_{\\tilde{X}}, e_{x_{1}}+p_{0},...,e_{x_{N}}+p_{N} \end{matrix} H1←hX\~+p0,...,hX\~+pNH2←hX\~,ex1+p0,...,exN+pN

其中,句子输入为X;Decoder部分随机mask(50%~70%)后为 X ~ d e c \tilde{X} {dec} X~dec; e x i e{x_{i}} exi表示没有掩码过的词向量; p i p_{i} pi表示对应的位置向量;

此外,因为Transformer中的attention的掩码矩阵是一个的下三角矩阵优势在于增强模型生成能力,而检索通常更关注于模型的表示能力需要看到上下文,因此这里引入了Position-Specific Attention Mask。

继而Enhanced-Decoder的attention层为以下形式:

Q = H 1 W Q Q = H_{1}W_{Q} Q=H1WQ , K = H 2 W K K=H_{2}W_{K} K=H2WK , V = H 2 W V V=H_{2}W_{V} V=H2WV

M i j = { 0 , a t t e n d e d − ∞ , m a s k e d M_{ij}=\left\{\begin{matrix}0,attended \\-∞,masked \end{matrix}\right. Mij={0,attended−∞,masked

A = s o f t m a x ( Q T K d + M ) V A = softmax(\frac{Q^{T}K}{\sqrt{d}}+M) V A=softmax(d QTK+M)V

最终RetroMAE的损失由encoder部分的MLM损失,deocder部分自重建的交叉熵损失两部分相加得到。
L d e c = ∑ x i ∈ X C E ( X i ∣ Φ d e c ( X ~ d e c ) ) L_{dec} = \sum_{x_{i}\in X}^{} CE(X_{i}| \Phi_{dec}(\tilde{X} {dec})) Ldec=∑xi∈XCE(Xi∣Φdec(X~dec))
L = L e n c + L d e c L = L
{enc}+L_{dec} L=Lenc+Ldec

其中, L e n c L_{enc} Lenc为由encoder部分的损失, L d e c L_{dec} Ldec为由deocder部分的损失,CE为交叉熵损失函数。

Reference

RetroMAE: Pre-Training Retrieval-oriented Language Models Via Masked Auto-Encoder

相关推荐
大刚测试开发实战9 小时前
TestHub V0.2.2版本发布,附更新指南
人工智能
冬奇Lab11 小时前
Agent 系列(21):Harness 测试工程——45 个测试怎么设计,以及它发现了什么 bug
人工智能·llm·agent
冬奇Lab11 小时前
每日一个开源项目(第133篇):EchoBird - 把 AI 工具的安装和部署做成傻瓜操作
人工智能·开源·资讯
IT_陈寒12 小时前
Redis的SETNX并发问题让我加了三天班
前端·人工智能·后端
用户51914958484514 小时前
Windows 渗透测试载荷加载器 POC 工具集
人工智能·aigc
大树8814 小时前
金刚石散热越强,管路越先见顶
大数据·运维·服务器·人工智能·ai
通信小呆呆14 小时前
当算法有了“五感”:多模态数据融合如何向人体感官协同学习?
人工智能·学习·算法·机器学习·机器人
施小赞14 小时前
普通 RAG vs GraphRAG 核心对比
人工智能·ai
EAIReport14 小时前
RuoYi-AI 企业级AI开发平台实战详解
人工智能
HelloWorld__来都来了14 小时前
【每日学术速报】2026-06-15
人工智能·具身智能