这个文章讲的是关于单语数据在翻译模型中的应用。火山引擎提出了一个叫MGNMT的方案,用来解决低资源环境下翻译模型“数据饥渴”的问题。现在的机器翻译主要依靠双语平行数据,数据越多,模型表现越好。但现实中,很多小语种之间的翻译数据很少,有时候甚至只有几句或者几十句。这个时候,每一句双语数据都非常宝贵,任何浪费都可能导致性能受限制。所以有人提出了一个问题:能不能把海量的非平行单语数据也利用起来呢?火山引擎的MGNMT方案给出了答案。 这个方案有三个关键点。首先,让翻译和语言模型共享同一套隐变量。这样源语和目标语就可以互相校准,提高翻译质量。其次,数据利用升级,把单语数据也纳入训练过程。源语单句可以帮助正向模型提升表达能力,目标语单句可以帮助反向模型避免直译陷阱。最后是解码协同机制,引入反向校验来减少错误。 这个方案在火山引擎的翻译项目中已经落地了。在印地语到泰语这种数据少的场景里,只用了100句双语种子数据加上各自领域5万条单语数据,就能把英文到泰语的BLEU值从18.3提升到24.7。在小说文本翻译中,利用10万条英文单语和5万条中文单语,中文到英文的BLEU值也提升了2.4个点。这个方案得到了ICLR审稿人的高度评价,他们给了满分4.9分。在2020大数据产业创新技术突破榜评选中,MGNMT也入选了榜单及奖项。线上实验显示,MGNMT在低资源方向平均降低了20%的BLEU差距所需的双语数据量。 这次项目由火山引擎AI Lab牵头,核心成员来自字节跳动AI Lab和南京大学自然语言处理实验室。带队负责人郑在翔(南京大学博士生)和周浩(字节跳动研究员)在ICLR、TACL、EMNLP等顶会发表过多篇神经机器翻译论文。还有李磊等资深工程师负责模型压缩、部署和线上A/B实验。MGNMT作为火山引擎翻译服务的底层框架,已经开放给全网低资源场景调用。 总之,MGNMT通过共享隐变量设计把语言模型和翻译模型结合起来,让单语数据也成为推动翻译性能提升的隐形推手。这样小众语向和垂直领域就不再被数据稀缺困扰了。