自以 BERT 为代表的预训练语言模型诞生起,关于其跨语言版本的探索研究就从未停止过。2020 年 4 月,Google 发布了 XTREME 基准,迅速成为跨语言预训练模型的黄金评测集。
XTREME 包含文本分类、序列标注、句子召回、问答四个大类共九个子任务,参评模型需要在英文训练数据上进行调优,然后在其他 12 个语系的 40 种语言的各自测试集上进行推理预测。
得分越高,意味着模型能更好地将从优势语种(英文)中学习到的知识,迁移到小语种应用上。
随着各大互联网公司在出海业务上的争夺,越来越多的成熟业务需要快速部署小语种版本。火热的应用需求带动了跨语言预训练模型的研究,XREME 的 SOTA 被不断推高。
作为 2020 年的冠军,微软的 T-ULRv2 模型的佳纪录只保持了不到 2 个月便被打破。仅仅 2021 年第一季度,已有百度 (ERNIE-M)、阿里巴巴(VECO)和字节跳动(Polyglot)等巨头相继发布了自研模型,一版更比一版强。
那么,为什么预训练语言模型能够实现知识迁移呢?如何打通不同语言间的通道呢?
01“对齐”的起源
跨语言任务一直是 NLP 的经典问题。只不过,在预训练语言模型尚未被发明时,它属于“机器翻译”的研究范畴。
机器翻译的核心概念,叫做“对齐”,指的是为源语言中的某个词或短语,找到其在目标语言中的匹配。比如,我们可以说“中国”是对齐到“China”的,也可以说这两个词是互相对齐的。
经典机器翻译模型,依赖于大量的平行语料(原文-译文组成的句对)来建立这种对齐关系。然而,对于一些小语种,相关数据的收集非常困难。
为了打破这种约束,无监督机器翻译(UNMT)技术不断生长发展,终于在 2018 年实现了历史性的突破。这一年,FAIR(Facebook AI Research) 将“词对齐”拓展到了“词向量对齐”,开源了无监督词级别翻译模型 MUSE,并以此为基础,终实现了“句向量对齐”。
UNMT 的相关研究向我们证明了,所有语种是可以共享同一个语义空间(latent space)的。即两个来自不同语种的语义相近的句子,在经过编码后,其表示向量可以互相对齐。
如果模型能够高质量地建模这一层级的对齐关系,就能拉近两种语言各自表示空间的距离,把源语言句子无障碍地 转换为目标语言。
然而,剥离了平行语料的支持,仅依靠单语数据,模型要从哪里入手去找到抽象的语义对齐关系呢?
MUSE 混合了两种语言的词表,并使用相同的 BPE 规则进行 subword 的切割。作者认为,这是模型能够成功的一个关键点。标点、数字等各语种共享的符号,以及相同的 subwords,为对齐提供了初始的锚点。此外,两种语言的单语数据虽然未严格对齐,但同样来自维基百科。
词向量建模的一个关键假设是,“上下文相似的词,语义相似”。相同的文本来源,提供了相似的词语统计分布,进而强化了语义表示空间的交汇。
自 BERT 起,预训练语言模型作为一种强大的 NLP 工具,将 UNMT 的性能推上了一个新的台阶。这意味着,跨语种间的对齐关系,得到了更准确的刻画。那么,跨语言预训练模型,如何完成这种对齐建模呢?
02 朴素的mBERT
在 2018 年11月,BERT 官方发布了两个重量级的新版本:中文 BERT 和 支持 102 种语言的 Multilingual BERT。后者简称 mBERT,被后续无数的跨语言预训练模型作为 baseline。
严格来说,mBERT 并不能算是一个彻彻底底的跨语言模型。除了预训练使用的是混合语种的语料外,它与 BERT 没有丝毫的不同。无论是模型结构或是优化目标,都没有为跨语言迁移任务进行任何的定制。
mBERT 的两个强基线,“Translate-Train”和“Translate-Test”均借助了外部机器翻译系统进行跨语言辅助。前者将训练数据(finetune)译为目标语言,后者将测试数据译为目标语言。这样一来,训练和测试就能在同一语种下进行。
mBERT 对训练和测试执行了严格的语种隔离,是真正的“zero-shot”迁移方式。它在跨语言任务上的迁移效果,自然是不如基线模型的。然而,仅仅是简单地替换训练数据,没有显式的外部对齐,就赋予了 BERT 模型跨语言迁移知识的能力,这一点足以让人惊叹了。
03 谁影响了跨语言对齐?
围绕 mBERT 的内部机制,在 2019-2020 涌现了一大批的顶会分析文章。比较有代表性的是:
根据 UNMT 的经验,mBERT 可能是从共享的 wordpiece 中找到了一些语种“对齐”的线索。然而,相关论文的分析已经达成了某种“反直觉”的共识 - 跨语言迁移能力的学习和词表重叠无关。即使词表零重叠,mBERT 仍然能够通过 xtreme 测试。
在相似语种间的确更适合进行 zero-shot 迁移,但这种助力并非来自表层的“词相似”,更有价值的是深层结构语义(比如主谓宾的顺序等)。
模型的容量,对跨语言迁移任务影响也很大。其中重要的是网络深度;增加网络宽度和自注意力头数带来的增益有限。大模型对应着大数据量,单语种20W的效果,远远不如单语种100w数据。
尽管在预训练数据没有对语种做明确的标志,但实验证实,这并不影响迁移效果。mBERT 网络的每一层输出,都天然包含着语种信息(可能是拜 Mask-LM 所赐)。
04 如何提高跨语言迁移性能?
前面提到,mBERT 仅仅是一个替换了训练语料的 BERT,并非真正为了“跨语言迁移”而设计的“预训练语言模型”。站在它的肩膀上,后继者们把 xreme 榜越刷越高。
既然 mBERT 是只能依靠单语数据进行学习的 zero-shot 模型,那么核心优化思路自然是为模型提供尽可能多的显式对齐线索。具体来说,需要引入跨语言数据(平行语料),并增加跨语言预训练任务。主要的实现方式如下:
1. TLM(Translation Language Modeling):Mask-LM 任务的扩展版本。将平行语料的原文和译文拼接后输入 BERT,作为一个整体进行 Mask-LM 训练。在预测被遮蔽的词时,模型不仅可以利用自身语种的上下文信息,同业也可以从另一语种的翻译信息中进行学习。T-ULRv、 ERNIE-M 和 XLM 中都能找到 TLM 影子。无论它被叫做什么名字,实质上都是同一个东西。
2. 句向量对齐:强制拉近原文句子与译文句子在向量表示空间的距离。FILTER 使用了 KL 距离作为两个句向量的相似性度量,T-ULRv2 则是自定义了公式进行互信息大化。
3. 伪数据:使用外部机器翻译系统,用单语数据生成“伪”平行语料,即“回译(Back Translation)”。有标注的平行语料数量有限,借助回译可以大幅度提升数据量。这是来自机器翻译领域的传统刷榜操作。FILTER 和 ERNIE-M 都使用了该技术。
05 结语
伴随着业务出海,从资源丰富的英语,到热门的日语韩语,再到泰语印尼语等东南亚小语种,文本算法需要快速进行新语种的功能适配。
在语种爆炸和资源受限的情况下,按照中文处理的开发模式进行复制变得不切实际。跨语言预训练模型的诞生恰好解决了这一困境。
在实际应用中,使用大规模的预训练模型和平行数据实现基础迁移,再配合少量的目标语言业务数据微调,可以实现更好的跨语言迁移效果。借助这一技术,易盾能够将中文内容检测能力迅速扩展到其他语种,全方位拦截垃圾文本。点击免费试用易盾文本检测服务