8月1日 , WMT2019国际机器翻译 大赛研讨会在意大利佛罗伦萨召开 。 本届大赛 , 百度机器翻译团队在中文-英文翻译任务上获得冠军 。
图1 人工评价结果
WMT全称是Workshop on Machine Translation , 是业界公认的国际顶级机器翻译比赛之一 , 其中中文-英文翻译任务是历年参赛队伍最多 、 竞争最为激烈的机器翻译任务之一 。 今年中英方向参赛队伍有来自微软 、 字节跳动 、 金山 、 爱丁堡大学 、 东北大学 、 日本情报通信研究院等国内外知名机器翻译团队 。 本届大赛 , 百度翻译团队凭借在数据处理 、 模型架构 、 数据增强 、 模型集成等方面的创新性突破 , 最终力压群雄 , 取得第一 。
本次大会的评审专家对于百度参评系统给予高度评价 , “ This is a very solid system paper describing a strong system in the shared evaluation ” , “ The techniques employed are cutting-edge ” 。 本文对主要技术进行介绍 。
图2 百度翻译参赛系统架构图
如上图所示 , 数据处理模块通过数据筛选 、 噪音去除 、 数据增强等 , 产生训练数据 ; 对于翻译模型 , 从预训练 、 网络结构等方面进行改进 , 使模型学到更多维度 、 更深层次的信息 。 在训练和模型集成阶段 , 凭借百度强大的机器学习平台和海量的计算资源 , 从上百个模型中选择不同的模型组合集成 。 最终 , 结合统计特征和深度学习模型的特征 , 通过Re-ranking算法从多个译文候选中选择最优的翻译结果 。
接下来将从数据预处理 、 翻译模型改进 、 训练数据增强 、 模型集成和重排序等方面介绍百度翻译团队的参赛系统 。
一 、 数据处理
神经网络翻译模型对训练数据尤为敏感 , 不仅要求数据规模大 , 还要求数据质量高 。 因此 , 数据处理对于提升翻译质量至关重要 。 针对组委会提供的双语数据 , 通过fast_align进行数据清洗 , fast_align可以衡量两个句子互为翻译的概率 , 从而根据翻译概率去除低质数据 。 以翻译自动评价指标BLEU衡量 , 清洗后的数据训练模型提高了1.1个百分点 。
相比双语数据 , 主办方提供了更多的单语数据 。 采用Back Translation技术利用英语单语数据提升模型的翻译质量 。 具体做法是 , 先用中英双语数据训练一个英中的翻译系统 , 由英中模型将英文句子翻译成对应的中文句子 , 将模型生成的中文句子和英文句子组合成双语句对 , 并和真实的中英双语句对混合作为中英模型的训练数据 。 此技术可以提升翻译质量(BLEU)0.8个百分点 。
二 、 翻译模型
目前 , 主流的神经网络翻译模型是Transformer , 根据模型参数的大小可以分成base Transformer和big Transformer 。 其中 , big Transformer具有更多的参数和更好的翻译效果 。 在本次比赛中 , 我们基于Transformer模型 , 创新性地提出了三种改进的模型 , 显著提升了翻译质量 , 成为比赛决胜的关键点之一 。 此次改进的模型包括 :
Pre-trained Transformer: 在大规模单语语料上训练语言模型 , 并以此作为翻译模型的编码器 。
Deeper Transformer: 加深编码器的层数 , 提取更多维度特征 。
Bigger Transformer: 增大前向网络的隐藏节点 。
图3 改进的翻译模型
Pre-trained Transformer
最近的研究表明 , 在大规模语料上训练的语言模型 , 对其下游任务有很显著的提升 。 我们在中文数据上训练出一个24层的Transformer语言模型 , 采用自编码的训练方法 , 即随机将句子中的词变为masked标签 , 并经过24层的Transformer进行编码 , 最后预测masked位置的实际的词 。 以预训练的语言模型作为翻译模型的编码器 , 在中英双语数据上继续训练翻译模型 。 在使用双语数据训练阶段 , 预训练语言模型 ( 编码器 ) 的参数在前10000步保持不变 , 只更新解码器的参数 , 之后编码器和解码器都会更新参数 。
Pre-trained Transformer相比标准的big Transformer拥有更深的encoder ( 从6层扩展到24层 ) , 并且经过在超大规模的中文单语数据上预训练 , 可以对源语言 ( 中文 ) 句子提取更多的有效特征 , 从而有效的提高模型的翻译质量 。 从自动评价指标BLEU上看 , Pre-trained Transformer相比big Transformer , 显著提升了1个百分点 。
Deeper Transformer
更深的编码器可以提取更多的特征 , 但是对于翻译模型的训练而言 , 仅加深编码器的层数 , 通常会遇到梯度消失的问题 , 导致模型无法正常收敛 。 我们提出Deeper Transformer, 在更深的编码器中 , 通过增加残差连接 , 即前面所有层都作为下一层的输入 , 避免了梯度消失 , 实现了端到端的翻译训练 。 标准的base Transformer和big Transformer模型 , 编码器和解码器都是6层的 。 而对于采用deeper Transformer的模型, base Transformer的编码器可以扩展到30层 , big Transformer的编码器可以扩展到15层 。
Deeper Transformer相比标准的big Transformer性能提升较少 , 但是在模型集成阶段 , 加入Deeper Transformer可以显著提升整个系统的翻译质量 , 在本文后面的模型集成部分会有更详细的介绍 。
Bigger Transformer
此外 , 我们提出了Bigger Transformer , 在宽度的维度上增强模型 。 探索了增大前向网络节点和隐藏层节点对翻译质量的影响 , 发现增大前向网络节点可以显著提升翻译质量 。 Bigger Transformer的前向网络节点数是15000 , 而标准的big Transformer的前向网络节点数是4096 。 但是 , 更多的参数更容易在训练过程中出现过拟合问题 。 通过增大dropout的比率和label smoothing的参数避免了过拟合 。 相比big Transformer, Bigger Transformer提升了0.8 BLEU 。
三 、 数据增强
对于单语数据 , 采用联合训练方法增强back translation生成的译文 , 构造更高质量的 “ 伪 ” 双语数据 。 首先使用中英双语数据分别训练中英和英中翻译模型 , 中英模型将中文单语数据翻译成英文 , 英中模型将英文单语数据翻译成中文 。 中英模型在英中模型产生的 “ 伪 ” 的双语数据上继续训练 , 英中模型在中英模型生成的 “ 伪 ” 的双语数据上继续训练 , 中英和英中模型的性能都得到提升 。 在下一轮中 , 翻译效果更好的中英 、 英中模型可以生成质量更高的伪数据 , 用来进一步提升翻译模型 。
对于双语数据的目标端 ( 英文 ) , 通过英-中翻译模型生成源端 ( 中文 ) 译文 , 将 “ 生成 ” 的中文和 “ 真实 ” 的英文作为增强的数据混入双语数据共同训练中英模型 。
图4 联合训练流程图
对于双语数据的源端 ( 中文 ) , 采用知识蒸馏的方法 , 以R2L翻译模型(从右到左的翻译顺序)和异构模型(不同结构的模型)作为 “ Teacher ” , 生成目标端 ( 英文 ) 译文 , 再将 “ 真实 ” 的中文和 “ 生成 ” 的英文作为增强数据 , 指导模型学习更多的知识 。 R2L翻译模型作为 “ Teacher ” , 由于翻译模型解码的特性 , 生成的英文译文的后部分翻译的通常比前部分更好 , 通过知识蒸馏方法可以让翻译模型 ( L2R ) 学习到更多的句子后部信息 。 不同结构的翻译模型具有不同的翻译特性 , 例如 , Deeper Transformer和Bigger Transformer可以作为Pre-trained Transformer的 “ Teacher ” , 指导Pre-trained Transformer学习Deeper Transformer和Bigger Transformer的特性 。 如下图所示 , D’表示模型生成的双语句对 , 多个不同的D’组合作为模型的训练语料 。
图5 知识蒸馏流程图
多种数据增强方法 , 不仅可以增强模型的鲁棒性 , 还指导模型学习其他模型特有的知识 , 从而进一步提升翻译效果 。
四 、 模型集成
模型集成解码可以显著提升翻译效果 。 我们使用不同的模型 , 在不同的数据上采用不同的策略训练出上百个翻译模型 , 以探索不同的模型集成对翻译质量的影响 。 经过大量的实验发现 , 相同结构的模型进行集成 , 即使性能都很强 , 但是集成的翻译效果收益较小 ; 而集成不同结构的模型 , 翻译的效果得到了非常显著的提升 , 相比最强的单系统提升了1.4 BLEU 。
五 、 重排序
集成模型生成k个候选译文 , 通过k-best MIRA算法学习各个特征的权重 , 从而对候选译文进一步排序 , 选择最好的译文 。 设计了4种特征 , 可以有效的提高翻译质量 :
1.翻译模型特征 : 集成模型生成译文的得分和R2L模型对译文的打分 。
2.语言模型特征 : 多个语言模型和后向语言模型对译文的打分 。
3.长度特征 : 译文和原文的长度比和长度差 。
4.加权投票特征 : 计算每个译文和其他候选译文的BLEU , 并计算其平均值 。
通过以上技术创新 , 相比于基线系统 , 我们获得了6-7个百分点的大幅提升 。 作为国内最早的互联网机器翻译系统之一 , 百度翻译在技术和产品上一直处于业界领先 。 早在2015年 , 百度翻译就发布了全球首个神经网络翻译系统 , 并于同年获得国家科技进步二等奖 。 通过不断的技术创新 , 翻译质量保持业界领先 。 在刚刚过去的百度开发者大会上 , 发布了业界首个端到端的同传翻译小程序 , 为用户提供沉浸式同传体验 。 随着技术的不断进步与发展 , 机器翻译将在跨越语言鸿沟中发挥越来越大的作用 。
百度自然语言处理 ( Natural Language Processing , NLP ) 以‘理解语言 , 拥有智能 , 改变世界’为使命 , 研发自然语言处理核心技术 , 打造领先的技术平台和创新产品 , 服务全球用户 , 让复杂的世界更简单 。