FlowSeq、mBART、BERT-fused、mRASP、mRASP2...你都掌握了吗?一文总结机器翻译必备经典模型(3)

本文涉及的产品
交互式建模 PAI-DSW,5000CU*H 3个月
简介: FlowSeq、mBART、BERT-fused、mRASP、mRASP2...你都掌握了吗?一文总结机器翻译必备经典模型

mRASP


RASP是一种预训练通用多语言神经机器翻译模型的方法,mRASP的关键思路是随机对齐替换技术(random aligned substitution),它使具有相似含义的多语言的单词和短语在表征空间中更加接近。作者在32个语言对上联合训练一个mRASP模型,只用公共数据集。然后在下游语言对上对该模型进行微调,以获得专门的MT模型。

mRASP采用标准的Transformer-large架构,有6层的编码器和6层的解码器。模型维度为16个头的1,024。引入GeLU代替ReLU作为前馈网络的激活函数。还使用了学习的位置嵌入。具体架构见图5。

一个多语言神经机器翻译模型学习一个多对多的映射函数f,将一种语言翻译成另一种语言。定义L={L_1,. . . , L_M},其中,L是在预训练阶段涉及的语言的集合。D_i,j表示(Li, Lj )的平行数据集,E表示平行数据集的集合,其中,N为双语对的数目。然后,训练损失定义为:



图5. mRASP方法。"Tok "表示令牌嵌入,"Pos "表示位置嵌入。在预训练阶段,使用翻译损失同时训练多语言的平行句子对与它们的替换句子。随机替换源语言和目标语言中具有相同含义的词。在微调阶段,在下游语言对中进一步训练该模型,以获得专门的MT模型



此外,添加了两个人工语言标记来表示源语言和目标语言。例如,将下面这个En→Fr句子 "How are you? → Comment vas tu? "转换为 “ <en> How are you? → <fr>Comment vas tu?”

受constructive learning的启发,引入随机对齐替代(Random Aligned Substitution,RAS)来弥补不同语言之间的语义差距。给定一个平行句子(x_i, x_j),将(x_t)^i中的一个源词随机替换为不同的随机语言L_k,其中,t是单词索引。采用一种无监督的单词对齐方法MUSE,它可以将(x_t)^i翻译成语言L_k中的d_i,k(x_it),其中,d_i,k(-)是字典翻译函数。通过字典替换,原始双语对将构建一个编码转换的句子对(C(x_i), x_j)。由于采用了随机抽样,翻译集有可能出现在同一上下文中。由于单词的表征取决于上下文,不同语言中含义相似的单词可以共享相似的表征。


当前 SOTA!平台收录 mRASP 共 1 个模型实现资源。

项目 SOTA!平台项目详情页
mRASP 前往SOTA!模型平台获取实现资源:https://sota.jiqizhixin.com/project/mrasp


mRASP 2


现有的多语言机器翻译方法主要聚焦于以英语为中心的方向,而非英语方向仍然落后。这项工作的目的是建立一个多对多的翻译系统,重点强调非英语语言。该方法基于这样的假设:一个通用的跨语言表述能够带来更好的多语言翻译性能。mRASP2是一种获得统一的多语言翻译模型的训练方法。具体包括:a) 对比性学习方案,以缩小不同语言表述之间的差距。b) 在多个平行和单语数据上进行数据扩充,以进一步调整标记表示。对于以英语为中心的方向,mRASP2超过了现有的最佳统一模型,并在几十个WMT的翻译方向上取得了有竞争力的甚至比预训练和微调的模型mBART更好的性能。对于非英语方向,与多语种Transformer基线相比,mRASP2取得了平均10+BLEU的改进。mRASP2将平行语料和单语语料与对比学习统一起来。整体框架如图6所示。


图6. mRASP2采用一对平行的句子(或增强的伪对),用一个多语言的编码器-解码器计算正常的交叉熵损失。此外,计算对齐的一对(正样本)和随机选择的非对齐的一对(负样本)的表征的对比损失

一个多语言神经机器翻译模型学习一个多对多的映射函数f,将一种语言翻译成另一种语言。为了区分不同的语言,我们在每个句子前面添加一个额外的语言识别标记,对于源语言和目标语言都是如此。mRASP2的基本架构是最先进的Transformer。与以前的工作有些不同,mRASP2选择了一个更大的设置,用12层的编码器和12层的解码器来增加模型容量。模型的维度是1024的16个头。为了简化深度模型的训练,对单词嵌入采用了层规范化处理,对编码器和解码器采用了预规范化的残差连接(pre-norm residual connection)处理。因此,该多语言NMT基线要比Transformer-large模型强得多。

定义L = {L_1, .... L_M},其中,L是在训练阶段涉及的M种语言的集合。D_i,j表示(Li, Lj)的平行数据集,D表示所有的平行数据集。训练损失是交叉熵函数,定义为:



其中,x^i代表Li语言中的一个句子,θ是多语言转化器模型的参数。多语言转换器能够隐性地学习不同语言的共享表示。mRASP2引入了对比性损失,明确地将不同语言映射到一个共享的语义空间。对比学习的关键思想是最小化相似句子的表示差距,最大化不相关句子的表示差距。形式上,给定一个双语翻译对(x_i, x_j)∈D,对于正样本(x_i, x_j),从语言L_j中随机选择一个句子y_j来形成负样本(x_i, x_j)。对比学习的目标是使以下损失最小化:



其中,sim(-)计算不同句子的相似度。+和-分别表示正样本和负样本。R(s)表示任意句子的平均编码输出。τ是温度,它控制区分正负样本的难度。两个句子的相似度是用平均编码输出的余弦相似度来计算的。为了简化实施,负样本从同一训练批次中取样。通过最大化softmax项sim+(R(x_i), R(x_j)),对比损失使它们的语义表征投射在彼此之间。同时,softmax函数也将非匹配对sim-(R(x_i), R(y_j))最小化。在mRASP2的训练过程中,可以通过联合最小化对比训练损失和翻译损失来优化该模型。




文中还介绍了mRASP2 的数据增强方法,包括引入有噪声的平行双语和有噪声的单语数据。具体的数据增强方式如图7所示。



图7. 通过替换同义词词典中含义相同的词,对平行双语和单语数据进行对齐扩增。方式包括:创建一个伪平行的样本(左),创建一个伪自平行的样本(右)


当前 SOTA!平台收录 mRASP2 共 1模型实现资源。

项目 SOTA!平台项目详情页
mRASP2 前往SOTA!模型平台获取实现资源:https://sota.jiqizhixin.com/project/mrasp2


CeMAT


CeMAT是一个在多种语言的大规模双语和单语语料上预训练的条件掩码语言模型。具体来说,该模型由编码器上的MLM(masked language model)和解码器上的条件MLM( Conditional MLM,CMLM)联合训练,并采用多种语言的大规模单语和双语文本。此外,还介绍了两种简单而有效的方法来加强CeMAT,即对齐的代码切换和掩码(aligned code-switching & masking)以及动态双掩码(dynamic dual-masking)方法。


图8 CeMAT框架,它由一个编码器和一个双向解码器组成。


"Mono "表示单语,"Para "表示双语。在预训练期间(左图),增强多语言的原始单语和双语输入(用具有相同语义的新词或"[mask]"代替)并输入模型。最后,分别预测源语言和目标语言中的所有"[mask]"词。为了进行微调(右图),CeMAT为AT和NAT提供了统一的初始参数集


图9. 两步掩码细节


首先通过查询跨语言词典(标记为1.Aligned)从原始输入中获得对齐的对集Λ = {("dance", "tanzen"),...}(标记为→),然后从其中随机选择一个子集(标记为 "dance "→ "tanzen",红色),在图的左下方。对于子集中的每个元素,通过F_m((x_m)^i)选择一个新词,并分别执行CSR替换源片段("danse "标记为红色)和CSM替换目标片段("[mask]"标记为红色)。最后,进行DM处理,分别掩码源和目标的内容("[mask]"标记为浅蓝色)

CeMAT的完整架构如图25所示。训练数据由M个语言对D={D_1, D_2, ..., D_M}组成。D_k(m, n)是L_m和L_n语言的句子对的集合。在下面的描述中,将一个句子对表示为(X_m, Y_n)∈D_k(m,n),其中,X_m是语言L_m中的源文本,Y_n是语言L_n中的目标文本。对于单语语料库,通过复制句子创建伪双语文本,即X_m=Y_n。

CMLM预测被掩码的标记(y_n)^mask,给定一个源句子X_m和剩余的目标句子Y_n/(y_n)^mask,每个(y_n)^j∈(y_n)^mask的概率是独立计算的:




CMLM可以直接用于训练一个标准的Seq2Seq模型,该模型有一个双向编码器、一个单向解码器和一个交叉注意力。然而,由于掩码词之间的独立性,它并不局限于解码器一侧的自回归特征。因此,按照NAT的做法,使用CMLM来预训练一个具有双向解码器的Seq2Seq模型,如上图25所示。

尽管双语句子对可以直接用于与传统的CMLM一起训练模型,但对于从单语语料库中创建的句子对来说,由于源句和目标句完全相同,这有很大难度。因此,引入了一个两步掩码策略,以加强对双语和单语语料的模型训练。使用对齐的代码切换和掩码策略,用另一种语言的新词替换源词或短语,然后掩码相应的目标词。与以往的编码转换方法不同的是,该方法包括三个步骤,其中源词总是随机选择并直接替换。


  1. 对齐(Aligning)。利用多语言翻译词典来获得源X_m和目标Y_n之间的一组对齐词Λ={- - - ,((x_m)^i, (y_n)^j), - - - }。词对((x_m)^i, (y_n)^j) 表示X_m中的第i个词和Y_n中的第j个词是彼此的翻译。对于从单语语料库中创建的句子对,对齐的词对中的词是相同的。
  2. 代码切换替代(Code-Switching Replace,CSR)。给定一个词对((x_m)^i, (y_n)^j)∈Λ,首先在语言L_k中选择一个新词(xˆ_k)^i,用来替换源X_m中的(x_m)^i。
  3. 代码切换掩码(Code-Switching Masking,CSM)。如果对齐的一对((x_m)^i, (y_n)^j)中的源词(x_m)^i被(xˆ_k)^i取代,我们也通过用一个通用的掩码标记取代Y_n中的(y_n)^j来掩码。然后,训练CeMAT来预测它在双向解码器的输出层。

对于对齐和CSR,只使用MUSE提供的可用多语言翻译词典。图26显示了对齐后的代码切换和掩码的过程。根据给定的词典,"dance "和 "tanzen "被对齐,然后选择一个新的法语单词 "danse "来代替 "dance",而 "tanzen "则被"[mask]"代替(标记为红色)。在训练期间,句子中最多有15%的词会由CSR和CSM来完成。对于单语数据,将这个比例设定为30%。(CSR(Xm), CSM(Yn))表示对齐代码切换和掩码后的新句子对,将进一步动态地随机进行双重掩码处理。


受词典的限制,对齐的词对比例通常很小。事实上,在双语语料库中,平均只能为6%的标记匹配对齐的词对。为了进一步提高训练效率,对双语和单语数据都进行了动态双掩码(dual masking,DM)处理。

  • 双语数据。首先从[0.2, 0.5]之间的均匀分布中抽取一个掩码比率υ,然后随机选择一个目标词子集,用"[mask]"代替。同样地,在源文本上选择一个子集,并在[0.1, 0.2]的范围内用一个比率μ对其进行掩码。图26显示了一个在双语数据上进行动态双掩码的例子。设置υ≥μ,以令双向解码器从编码器那里获得更多的信息。
  • 单语数据。由于源语言和目标语言在掩码前是相同的,从[0.3, 0.4]的范围内取样υ =µ,并屏蔽双方相同的词子集。这将避免解码器直接复制源语言的标记。

遵循预先训练好的语言模型的做法,10%被选中的掩码词保持不变,10%用随机标记代替。被对齐的代码切换和掩码所取代的词将不会被选中,以防止跨语言信息的损失。(DM(CSR(Xm)), DM(CSM(Yn)))表示动态双掩码后的新句子对,使用该新句子对进行预训练。

在MLM和CMLM任务上联合训练编码器和解码器。给定句子对如下:

最终的训练目标函数表述如下:

当前 SOTA!平台收录 CeMAT 共 1 个模型实现资源。

项目 SOTA!平台项目详情页
CeMAT 前往SOTA!模型平台获取实现资源:https://sota.jiqizhixin.com/project/cemat

前往 SOTA!模型资源站(sota.jiqizhixin.com)即可获取本文中包含的模型实现代码、预训练模型及API等资源。


网页端访问:在浏览器地址栏输入新版站点地址 sota.jiqizhixin.com ,即可前往「SOTA!模型」平台,查看关注的模型是否有新资源收录。


移动端访问:在微信移动端中搜索服务号名称「机器之心SOTA模型」或 ID 「sotaai」,关注 SOTA!模型服务号,即可通过服务号底部菜单栏使用平台功能,更有最新AI技术、开发资源及社区动态定期推送。

相关文章
|
3月前
|
PyTorch 算法框架/工具
Bert Pytorch 源码分析:五、模型架构简图 REV1
Bert Pytorch 源码分析:五、模型架构简图 REV1
33 0
|
3月前
|
机器学习/深度学习 人工智能 开发工具
如何快速部署本地训练的 Bert-VITS2 语音模型到 Hugging Face
Hugging Face是一个机器学习(ML)和数据科学平台和社区,帮助用户构建、部署和训练机器学习模型。它提供基础设施,用于在实时应用中演示、运行和部署人工智能(AI)。用户还可以浏览其他用户上传的模型和数据集。Hugging Face通常被称为机器学习界的GitHub,因为它让开发人员公开分享和测试他们所训练的模型。 本次分享如何快速部署本地训练的 Bert-VITS2 语音模型到 Hugging Face。
如何快速部署本地训练的 Bert-VITS2 语音模型到 Hugging Face
|
3月前
|
PyTorch 算法框架/工具
Bert Pytorch 源码分析:五、模型架构简图
Bert Pytorch 源码分析:五、模型架构简图
27 0
|
5月前
lda模型和bert模型的文本主题情感分类实战
lda模型和bert模型的文本主题情感分类实战
110 0
|
4月前
|
JavaScript
Bert-vits2-v2.2新版本本地训练推理整合包(原神八重神子英文模型miko)
近日,Bert-vits2-v2.2如约更新,该新版本v2.2主要把Emotion 模型换用CLAP多模态模型,推理支持输入text prompt提示词和audio prompt提示语音来进行引导风格化合成,让推理音色更具情感特色,并且推出了新的预处理webuI,操作上更加亲民和接地气。
Bert-vits2-v2.2新版本本地训练推理整合包(原神八重神子英文模型miko)
|
5月前
|
并行计算 API C++
又欲又撩人,基于新版Bert-vits2V2.0.2音色模型雷电将军八重神子一键推理整合包分享
Bert-vits2项目近期炸裂更新,放出了v2.0.2版本的代码,修正了存在于2.0先前版本的重大bug,并且重炼了底模,本次更新是即1.1.1版本后最重大的更新,支持了三语言训练及混合合成,并且做到向下兼容,可以推理老版本的模型,本次我们基于新版V2.0.2来本地推理原神小姐姐们的音色模型。
又欲又撩人,基于新版Bert-vits2V2.0.2音色模型雷电将军八重神子一键推理整合包分享
|
4月前
|
人工智能 语音技术
Bert-vits2新版本V2.1英文模型本地训练以及中英文混合推理(mix)
中英文混合输出是文本转语音(TTS)项目中很常见的需求场景,尤其在技术文章或者技术视频领域里,其中文文本中一定会夹杂着海量的英文单词,我们当然不希望AI口播只会念中文,Bert-vits2老版本(2.0以下版本)并不支持英文训练和推理,但更新了底模之后,V2.0以上版本支持了中英文混合推理(mix)模式。
Bert-vits2新版本V2.1英文模型本地训练以及中英文混合推理(mix)
|
3月前
|
机器学习/深度学习 数据采集 人工智能
【NLP】Datawhale-AI夏令营Day3打卡:Bert模型
【NLP】Datawhale-AI夏令营Day3打卡:Bert模型
|
3月前
|
机器学习/深度学习 自然语言处理 数据格式
训练你自己的自然语言处理深度学习模型,Bert预训练模型下游任务训练:情感二分类
训练你自己的自然语言处理深度学习模型,Bert预训练模型下游任务训练:情感二分类
55 0
|
4月前
|
机器学习/深度学习 自然语言处理 数据挖掘
预训练语言模型中Transfomer模型、自监督学习、BERT模型概述(图文解释)
预训练语言模型中Transfomer模型、自监督学习、BERT模型概述(图文解释)
61 0