文章目录
前言
论文链接:https://arxiv.org/abs/1907.05019v1
背景介绍
多语言机器翻译虽然能够1. 减少计算、部署成本;2. 对低、零资源语言产生正向迁移,但也存在容量不足、参数干扰的问题。
从映射的角度看,m2o翻译是multi-domain问题;o2m翻译是multi-task问题。考虑一个语种,在一个多语言模型中,该语种受两个力的影响:1. transfer:相似语种之间的正向迁移;2. interference:模型容量、参数干扰带来的负面影响。低资源语种往往1>2,高资源语种往往2>1,目标是transfer-interference trade-off。
本文探讨了从学习、词表、模型、评估等方面达到trade-off的可能性。
实验设置
数据:本文考虑en->any + any->en的共204种语言对,包含250亿的句子对。不同语言对的句子数量呈现长尾(power-law)。
模型:模型部分参考原文。
评估:an in-house implementation of mteval-v13a.pl for BLEU
学习(learn)
迁移和干扰
考虑两种采样策略:
- i 按照原本的数据分布随机采样
- ii 对低资源进行上采样,使得高低资源被分配相同的概率
【发现】:
- 策略i保留了高资源语种更多的表现,损失了低资源语种
- 策略ii最大化了低资源语种所受到的正向迁移,却对高资源有较大负面影响
- any->en的方向损失-获利更加明显
对抗干扰
基准做法:balanced sampling
进一步使用Temperature based data sampling 。T=1表示按原来的数据分布;T=5在一定程度上降低了高资源的被采样概率,提高了…;T=100使得高低资源被分配相同的概率。
【发现】:
- T=5保证低资源正向迁移同时,提高了高资源的性能
开放问题
- 对于多语和单语,我们是否应该使用相同的学习策略?
- 当语种数量极端大时,我们是否还能依靠采样?
任务调度:上述采样,以及和相关语种共同训练的方法属于静态调度;而动态调度随训练过程改变不同任务的比例(RL agent、adaptive scheduler等)
多任务学习的优化:优化算法、正则化、损失函数、元学习
理解迁移:en->any(multi-task)、any->en(multi-domain)、any->any(zero-shot)
考虑两种多语言模型设置,并分别观察他们在en->any和any->en任务上的性能:
- en->any(multi-task)
- any->en(multi-domain)
【发现】
- any->en设置比en->any设置相比于baseline(水平线)的提升了很多,表明:多语言模型更容易做multi-domain任务
- 一方面,对于multi-task,虽然en->any设置能够让模型看到更多source端的english语料,但target/decoder/task端很难发生迁移。
- 另一方面,对于multi-domain,source端更容易发生不同语种的迁移,而target端的输出分布不变,只需要训练一个更加强大的english语言模型,较难出现参数干扰
【发现】
- 一些比较相关的语种的zero-shot表现不错(Be->Ru、Yi->De)
- 更多的语种能够提升zero-shot表现。表明:在相同的容量下,更多的语种起到了正则化的作用。
预处理&词表(Pre-processing and Vocabularies)
- OOV问题(解决:high character_coverage option for SPMs)
- 序列长度问题:如果词表中的子词普遍短(合并次数不够),一句话经过分词,得到的序列长度会很长,会增加计算复杂度和优化难度(增大词表大小: 增加词表大小能让所有资源的句子经过分词过后的平均序列长度变短)
- 语种偏袒问题:如果按照原始的数据分布对句子进行采样,训练词表,会导致偏袒(balanced sampling:平衡采样的方法都能让a. 高资源的语种句子经过分词过后的平均序列长度增大,b. 低资源…。这里选T=5)
考虑32K和64K两种词表大小。
【发现】
- 普遍来说,增大词表提升翻译性能
- 特别的,词表更小,子词更短(合并次数少),可能增加泛化能力,使得低资源语种共用子词?更加对齐?(32k Vocab Low 25)
考虑T=1\5\100。
【发现】
- 平衡采样有利于低资源的原因可能是:
- 平衡采样,高资源语种被合并的次数少,子词更短,低资源语种更有可能共用子词?
- 平衡采样提高了低资源语种的character coverage
模型
考虑:
- 400M的transformer-BIG
- 1.3B的deep model
- 1.3B的wide model
【发现】
- deep模型远远好,也会有以下问题:decoding latency\computational footprint\trainability concerns(vanishing\exploding gradients,early divergence…)
评估
指标:不同语言适合不同的评估指标,还有分词的问题。(embedding based approaches)
评估数据:同一个模型在不同的域、甚至是不同的句子,表现差异很大。(使用某一语种数据,把它翻译到其它语种,用于多语言评估)
开放挑战
数据和监督:预训练语言模型、多模态、从meta-data中学习
学习:本文的采样策略只考虑了数据量,还可以:任务相关性、课程学习、自动课程学习、元学习
容量: trainability challenges
架构:shared and task-specific capacity or learning network structure in order to maximally exploit task relatedness
词表:character、byte、bit vocabulary带来的长序列问题;大词表、大模型的训练、速度问题
参考
Massively multilingual neural machine translation in the wild: Findings and challenges