新智元报道
来源:google
编辑:白峰
前几天,Facebook发了一个百种语言互译的模型M2M-100,这边谷歌着急了,翻译可是我的老本行啊。
刚刚,谷歌也放出了一个名为 mT5的模型,在一系列英语自然处理任务上制服了各种SOTA。
你发,我也发,你支持100种,我支持101种!(虽然多这一种没有多大意义,但气势上不能输)
mT5是谷歌 T5模型的多语种变体,训练的数据集涵盖了101种语言,包含3亿至130亿个参数,从参数量来看,的确是一个超大模型。
想把通用的AI能力,迁移到一个小语种上,几乎相当于从头再来,有点得不偿失。
所以跨语种成为了AI能力迁移的重要桥梁。
多语言人工智能模型设计的目标就是建立一个能够理解世界上大部分语言的模型。
多语言人工智能模型可以在相似的语言之间共享信息,降低对数据和资源的依赖,并且允许少样本或零样本学习。随着模型规模的扩大,往往需要更大的数据集。
C4是从公共网站获得的大约750gb 的英文文本的集合,mC4是 C4的一个变体,C4数据集主要为英语任务设计,mC4搜集了过去71个月的网页数据,涵盖了107种语言,这比 C4使用的源数据要多得多。
mC4中各种语言的网页数量
有证据表明,语言模型会放大数据集中存在的偏差。
虽然一些研究人员声称,目前的机器学习技术难以避免「有毒」的输出,但是谷歌的研究人员一直在试图减轻 mT5的偏见,比如过滤数据中含有偏激语言的页面,使用 cld3检测页面的语言,将置信度低于70% 的页面直接删除。
mT5的模型架构和训练过程与T5十分相似,mT5基于T5中的一些技巧,比如使用GeGLU的非线性(Shazeer,2020年),在较大模型中缩放dmodel而不是dff来对T5进行改进,并且仅对未标记的数据进行预训练而不会出现信息丢失。
训练多语言模型的最重要的一点是如何从每种语言中采样数据。
但是,这种选择是零和博弈:如果对低资源语言的采样过于频繁,则该模型可能会过拟合;如果对高资源语言的训练不够充分,则模型的通用性会受限。
因此,研究团队采用Devlin和Arivazhagan等人使用的方法,并根据概率p(L)∝ | L |^α,对资源较少的语言进行采样。其中p(L)是在预训练期间从给定语言中采样的概率,| L |是该语言中样本的数量,α是个超参数,谷歌经过实验发现α取0.3的效果最好。
为了适应更多的语言,mT5将词汇量增加到250,000个单词。与T5一样,使用SentencePiece和wordPiece来训练模型。
Sentencepiece示意
那采样之后有的字符没覆盖到怎么办?
研究团队为了适应具有大字符集的语言(比如中文),使用了0.99999的字符覆盖率,但还启用了SentencePiece的「字节后退」功能,以确保可以唯一编码任何字符串。
为了让结果更直观,研究人员与现有的大规模多语言预训练语言模型进行了简要比较,主要是支持数十种语言的模型。
截至2020年10月,实验中最大 mT5模型拥有130亿个参数,超过了所有测试基准,包括来自 XTREME 多语言基准测试的5个任务,涵盖14种语言的 XNLI 衍生任务,分别有10种、7种和11种语言的 XQuAD、 MLQA 和 TyDi QA/阅读理解基准测试,以及有7种语言的 PAWS-X 释义识别。
实验结果可以看到,在阅读理解、机器问答等各项基准测试中mT5模型都优于之前的预训练语言模型。
至于基准测试能否充分反映模型在生产环境中的表现,就另当别论了。
对预训练语言模型最直白的测试方法就是开放域问答,看训练后的模型能否回答没见过的新问题,目前来看,即使强如GPT-3,也经常答非所问。
但是谷歌的研究人员断言,mT5是向功能强大的模型迈出的一步,而这些模型不需要复杂的建模技术。
总的来说,mT5展示出了跨语言表征学习中的重要性,并表明了通过过滤、并行数据或其他一些调优技巧,实现跨语言能力迁移是可行的。
这个源自T5的模型,完全适用于多语言环境。
参考链接:
https://arxiv.org/pdf/2010.11934.pdf