【mT5模型】mT5: A Massively Multilingual Pre-trained Text-to-Text Transformer

【mT5模型】mT5: A Massively Multilingual Pre-trained Text-to-Text Transformer

  • 论文信息
      • 阅读评价
  • Abstract
  • Introduction
  • Background on T5 and C4
  • mC4 and mT5
    • mC4
    • mT5
    • Comparison to related models
  • Experiments
  • Zero-shot generation
    • Illegal predictions
    • Preventing accidental translation
  • Conclusion

论文信息

名称内容
论文标题mT5: A Massively Multilingual Pre-trained Text-to-Text Transformer
论文地址https://aclanthology.org/2021.naacl-main.41/
发表时间2021-03-11
研究领域NLP, mT5, LLM, multi-language
提出模型mT5

阅读评价

  mT5是在T5基础上的多语言版本,现在终于可以炼自己的翻译模型了!并且从这篇论文中也能学到一些多语言数据集采样的tirck!


  以下是对论文每个部分的简单介绍。

Abstract

  本文介绍了mT5模型是如何在T5的基础上训练的。还着重介绍了mT5模型输出不合法的现象与解决方案。

Introduction

  回顾T5模型在迁移学习领域卓越效果,提出T5的缺点是数据集几乎全是英文,没法支持多语言。

  于是论文介绍了2种解决多语言的思路:

  1、一种方法是同时发布数种不同语言的模型。如BERT模型,有英文版(bert-base)、中文版(bert-chinese)、日文版(bert-japanese)等等。

  2、另一种方法是直接训练多语言模型。如mBERT模型,直接在不同语言数据集上训练,这样词表会比较大。

  mT5模型选择的是第2种方法。mT5在T5模型的结构基础上,使用了C4数据集的多语言变体mC4。

Background on T5 and C4

  对T5模型和C4数据集的简单回顾。

【注】这里篇幅较少,建议去看原论文。
——————————————————
T5原论文:https://dl.acm.org/doi/10.5555/3455716.3455856
——————————————————
T5论文阅读博客:【T5模型】Exploring the Limits of Transfer Learning with a Unified Text-to-Text Transformer

mC4 and mT5

  mT5的目标是创建一个尽可能遵循T5结构的大型多语言模型。为此开发了一个涵盖101种语言的C4预训练数据集的扩展版本mC4,并对T5进行了更改以更好地适应多语言环境。

mC4

  只有英语的C4数据集将会丢弃任何langdetect判定为至少99%可能性的非英语页面。

【注】Langdetect是用来识别文本语种的库,通常使用 n-gram 模型来识别文本的语言。

  在处理mC4数据集时,作者采用了cld3工具来识别100多种语言,并利用了Common Crawl至今发布的所有71个月度网络抓取数据。

【注】CLD 是另一种语言检测工具,它也是由 Google 开发的。CLD 可以快速地识别文本的语言,并且通常比其他语言检测工具更准确。它可以检测多种语言,包括一些稀有语言。

  最后,作者使用cld3检测每个页面的主要语言,并删除置信度低于70%的页面。然后按语言对剩余的页面进行分组,并在语料库中收集所有具有10000或更多页面的语言,之后产生cld3定义的107种“语言”的文本。但是,其中六个只是同一种口语的文字变体。

在这里插入图片描述

图1 mC4语言构成

  如图1所示,mC4的多语言构成相当复杂, α \alpha α是介于0-1之间的采样超参数,下面会介绍。

mT5

  首先,mT5在T5模型的架构不变的基础上,做出了如下改进:

  1、使用了GeGLU代替Transformer前馈网络部分里面的ReLU或者GELU激活函数。

【注】他们还专门放出了一篇补充论文,介绍GEGLU:GLU Variants Improve Transformer。

  2、缩放dmodel和dff,而不仅仅是dff。
  3、在无监督预训练时,不用dropout。
  4、预训练多语言模型的一个主要因素是如何从每种语言中采样数据。最终,这种选择是一个零和游戏:如果低资源语言的采样过于频繁,模型可能会过度拟合;如果高资源语言没有得到足够的训练,模型就会不适应。因此通过一个采样公式来确定预训练时对每种语言的采用概率:

p ( L ) ∝ ∣ L ∣ α p(L) ∝ |L|^\alpha p(L)Lα

  其中, α \alpha α是介于0-1之间的超参数, ∣ L ∣ |L| L是每种语言的样本数,这个公式就相对于开根号,大的样本数会变得更小,小的样本数变小的幅度会稍微好一些。

  mBERT的α = 0.7、XLM-R的α = 0.3和MMNMT的α = 0.2。最终mT5取α = 0.3。

Comparison to related models

  论文简单介绍了一些对比模型:mBERT、XLM、XLM-R、mBART、MAGRE。

Experiments

在这里插入图片描述

图2 对比模型实验结果

  如图2所示,论文采用了三种训练方式:zero-shot;translate-train;inlanguage multitask。结果证明都是mT5-XXL更胜一筹。

在这里插入图片描述

图3 模型大小不同对不同训练方式的影响

  如图3所示,对于最小的模型,目标数据集(inlanguage multitask)上的训练比使用弱监督数据(translate-train)或纯英语数据(zero-shot)获得了更好的性能,而对于最大的模型,这三种设置之间的差距要小得多。

  对于两个最大的模型,zero-shot和translatetrain的性能几乎相同,表明随着模型容量的增加,单语数据集的机器翻译带来的回报越来越少。

在这里插入图片描述

图4 消融实验结果

  如图4所示,六项消融实验分别是:

  (1)将dropout增加到0.1。baseline为0。
  (2)将序列长度减少到512,baseline为1024。
  (3)将预训练目标中的平均噪声跨度长度增加到10,baseline为3。
  (4)将语言采样指数α调整为{0.2,0.7},baseline为0.3。
  (5)关闭mC4数据管道中的“线长过滤器”。
  (6)用来自103种语言的维基百科数据补充mC4。

  最终的效果当然是baseline最好。

Zero-shot generation

  由于mT5是一个生成模型,它可以以自由形式输出任意文本预测。作者发现,预测过程中缺乏约束导致mT5有时难以用微调期间看不到的语言生成格式良好的预测。发现其中许多错误是由于“意外翻译”成微调语言(英语)造成的。本节描述了这种行为的特征,并证明可以通过在微调阶段混合少量多语言预训练任务来抵消这种行为。

在这里插入图片描述

图5 错误示例

Illegal predictions

  mT5错误的重要部分实际上是非法跨度。通过检查,我们发现这些非法预测主要分为三类:(一)归一化,(二)语法调整,(三)意外翻译。

  (一)归一化,表示预测是合法的,但“等效”Unicode字符已被替换,因此可以通过Unicode NFKC正常化恢复合法范围。这在泰语、汉语和印地语中尤为常见,在这些语言中,大多数mT5-XXL非法预测都是通过归一化来解决的,如图6所示。

在这里插入图片描述

图6 使用归一化解决不合法输出

  (二)语法调整,包括对原文的细微形态变化。经常观察到这些调整在当目标跨度本身不能作为一个格式良好的答案时出现。例如,mT5-XXL在阿拉伯语和俄语预测被母语人士判断为对所提出的XQuAD问题的正确和合乎语法的答案,而任务目标被判断为不合语法的答案。这种类型的非法预测在具有大量语法大小写标记的语言中最常见,如俄语、土耳其语和德语。

  (三)意外翻译,涉及将部分或全部上下文跨度翻译成英语(所有微调数据的语言)的模型。值得注意的是,尽管从未看到并行训练数据,但mT5执行了“自发”翻译。

Preventing accidental translation

  避免意外翻译最简单的做法是设计一种特定于任务的微调机制,限制模型在合法范围内进行排名,从而完全消除非法预测的可能性。但是这样就和T5模型的“大一统”初衷违背了!

  作者认为出现疑问翻译的原因是:当给定非英语测试输入时,模型输出英语的原因是它在微调期间从未观察到非英语目标。随着纯英语微调的进行,该模型分配到非英语单词的可能性可能会降低,最终达到英语成为任何问题最有可能的答案的程度。

  作者提出的解决方案是:在微调过程中混合无监督多语言预训练任务,将语言采样参数α从0.3减少到0.1,产生近乎均匀的语言分布,鼓励模型同等对待所有语言。结果证明能够高效降低意外翻译现象。

Conclusion

  本文介绍了mT5和mC4:T5模型和C4数据集的大型多语言变体。证明了T5结构直接适用于多语言环境,并在各种基准测试中取得了优异的性能。还描述了在多语言预训练生成模型的zero-shot评估中可能出现的非法预测,并描述了一种避免此问题的简单技术。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/591948.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于SpringBoot+uniapp的同城活动报名系统开发找搭子软件

项目背景 随着移动互联网的飞速发展,人们的社交方式也在不断变化。在这个大背景下,同城活动报名系统应运而生,成为了连接人与人、活动与人之间的桥梁,深受广大年轻人的喜爱。在这个充满机遇与挑战的时代,同城活动报名…

【华为OD机试】山脉的个数、攀登者【C卷|100分】

【华为OD机试】-真题 !!点这里!! 【华为OD机试】真题考点分类 !!点这里 !! 题目描述 攀登者喜欢寻找各种地图,并且尝试攀登到最高的山峰。 地图表示为一维数组,数组的索引代表水平位置,数组的元素代表相对海拔高度。 其中数组元素0代表地面。 例如: [0,1,2,4,3,1,0,0,1,…

Dockerfile详解构建镜像

Dockerfile构建企业级镜像 在服务器上可以通过源码或rpm方式部署Nginx服务,但不利于大规模的部署。为提高效率,可以通过Dockerfile的方式将Nginx服务封装到镜像中,然后Docker基于镜像快速启动容器,实现服务的快速部署。 Dockerf…

clickhouse MPPDB数据库--新特性使用示例

clickhouse 新特性: 从clickhouse 22.3至最新的版本24.3.2.23,clickhouse在快速发展中,每个版本都增加了一些新的特性,在数据写入、查询方面都有性能加速。 本文根据clickhouse blog中的clickhouse release blog中,学…

黑马java-JavaWeb-Maven

1.Maven是专门用于管理和构建java项目的工具,它的主要功能有: 提供了一套标准化的项目结构提供了一套标准化的构建流程提供了一套依赖管理机制(管理项目所依赖的第三方资源) 2.Maven仓库 本地仓库:自己计算机上的一个目…

基于深度学习的植物病害检测系统(网页版+YOLOv8/v7/v6/v5代码+训练数据集)

摘要:本文深入研究了基于YOLOv8/v7/v6/v5的植物病害检测系统,核心采用YOLOv8并整合了YOLOv7、YOLOv6、YOLOv5算法,进行性能指标对比;详述了国内外研究现状、数据集处理、算法原理、模型构建与训练代码,及基于Streamlit…

Python打包成.exe可执行文件步骤

操作环境 python 3.7Anaconda Powershell Prompt 1、 安装 pyinstaller pip install pyinstaller 我使用的是anaconda: 2、cd到目标py文件的目录下 3、输入打包命令 pyinstaller -F -w dinosaur.py -F:打包后只生成单个exe格式文件;-D&am…

(免费分享)基于springboot,vue房屋租赁管理系统

功能说明: * 普通用户角色: 1. 寻找房源功能--提供了两种寻找房源的功能,一种是普通用户在平台上搜索、筛选主动寻找房源的功能,另一种是用户填写征集房源的条件,系统会持续将最新符合条件的房源推送给用户。 2. …

Vue tree自定义滚动条位置

贴一张效果图,我的效果不方便贴出来 实现支持: 1、懒加载 2、普通加载 下面贴关键思想: document有一个获取element元素的方法。 let element document.getElementById(tree); let arr document.querySelectorAll(".nodelModel&quo…

51单片机实验01-点亮LED小灯

目录 一,软件下载 二,单片机概述 1,单片机内部资源 1)flash 2)ram 3)sfr 2,51单片机 3,单片机最小系统 三,点亮最右边的小灯 1,指出满足小灯点亮的有…

VsCode配置c++环境(详细)

这里写目录标题 1. 下载 MinGW添加环境变量 2. 配置VsCode3. 下载插件4. 测试5. 注意事项 1. 下载 MinGW MinGW 是 Minimalistic GNU for Windows 的缩写,相当于win版的gcc。 到MinGW官网下载。 也可以使用迅雷白嫖笔者下载好的 MinGW from 迅雷 提取码&#xff1a…

Redis 的主从复制、哨兵

目录 一. Redis 主从复制 1. 介绍 2. 作用 3. 流程 4. 搭建 Redis 主从复制 安装redis 修改 master 的Redis配置文件 修改 slave 的Redis配置文件 验证主从效果 二. Redis 哨兵模式 1. 介绍 2. 原理 3. 哨兵模式的作用 4. 工作流程 4.1 故障转移机制 4.2 主节…