前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >学界 | 基于Apache MXNet,亚马逊NMT开源框架Sockeye论文介绍

学界 | 基于Apache MXNet,亚马逊NMT开源框架Sockeye论文介绍

作者头像
机器之心
发布2018-05-11 11:13:06
5540
发布2018-05-11 11:13:06
举报
文章被收录于专栏:机器之心机器之心

选自arXiv

作者:Felix Hieber等

机器之心编译

参与:黄小天、李亚洲、刘晓坤

今年 7 月份,作为 MXNet 的支持者,亚马逊开源了自己的 NMT 框架 Sockeye。近日,亚马逊在 arXiv 放出了介绍 Sockeye 的论文,让我们能更细致的了解该开源工具的技术细节。机器之心对此论文做了摘要介绍,更多详细内容请查看原论文。

过去两年深度学习革命为机器翻译带来了快速而巨大的变化。相较于基于短语的传统系统,基于神经网络的新模型可以持续地为用户提供更高质量的翻译。神经机器翻译(NMT)同时为研究者打开了一幅激动人心的新局面,其中训练通道已简化,统一的模型也可直接从数据中得到训练。这种打破统计机器翻译(SMT)限制的希望使社区大受鼓舞,使得近期工作几乎全部聚焦在 NMT 上,并且看起来似乎每几个月就会有新突破。

在取得上述成果的同时,NMT 也面临着一系列新挑战。尽管流行的编码器-解码器模型之简单令人心动,近期文献及共享评估任务的结果表明,为了同时在翻译质量与计算效率上取得「生产就绪」的性能,还需要做大量的工程学工作。在 SMT 的流行趋势中,即使最强大的 NMT 系统也受益于微妙的架构调整、超参数调节和实证上有效的启发式技术。与 SMT 不同,NMT 没有「事实上」的工具包来吸引绝大部分的社区注意力,因此未能涵盖来自最近文献的所有最佳想法。相反,很多独立工具包的存在使该领域更加多元化,同时也使得由不同工具包实现的架构和算法提升变的难以对比。

为了解决这些挑战,我们引入了 SOCKEYE,一个由 Python 编写,通过 Apache MXNET4[Chen et al., 2015] 构建的神经序列到序列工具包。据我们所知,SOCKEYE 是唯一一个包含所有三大主流神经翻译架构实现的工具包:注意力循环神经网络 [Schwenk, 2012, Kalchbrenner and Blunsom, 2013, Sutskever et al., 2014, Bahdanau et al., 2014, Luong et al., 2015]、自注意力变换器 [Vaswani et al., 2017]、全卷积网络 [Gehring et al., 2017]。这些实现由分布广泛、持续更新且反映最近文献中的最佳想法的功能所支持。用户可根据最新研究轻松训练模型,对比不同架构,并通过添加代码扩展它们。SOCKEYE 仍在积极开发之中,研究和生产软件都遵循最佳实践,包括清晰的编码和文档指南、全面的自动测试以及代码贡献的同行评审。

图 1:不同编码器架构的计算相关性的原理图可视化。

表 1:Sockeye 中的 RNN 注意力类型。

表 2:无/有词汇选择机制(K=100)的 RNN 模型的 EN→DE 解码速率和 BLEU 分数。其中较小的模型使用 1 个编码器层和 1 个解码器层,而较大的模型使用 4 个编码器层和 8 个解码器层。

表 3:训练集(表格上部)、开发集(表格中部)和测试集的数据构成。所有的统计数据都是在标记化(tokenization)和长度过滤(length filtering)之后计算的。长度过滤通过行计数删除了大约 0.5% 的数据,通过词计数删除了 1.3% 的数据。

表 4:Groundhog RNN 模型在 newstest2017 数据集上的 BLEU 分数。

表 5:EN→DE Groundhog 模型的训练速率(每秒的更新次数)和吞吐量(如工具包中所报告的,转换为每秒的源语句平均数量)。

表 6:最佳设置的 RNN 模型在 newstest2017 数据集上的 BLEU 分数。Layers 列展示了编码器层和解码器层的数量。需要注意的是在不同的框架中,层的结构复杂度是有差异的。

表 7:在 newstest 2017 上变换器模型的 BLEU 得分。Marian 的更新分别为 41.5 万 14.5 万。

表 8 :在英翻德数据上,用 2 个 Volta P100 的训练速度。两个模型都是 100 万的更新/batch,Marian 使用了 4 个 Volta P100,且只有 41.5 万个更新。解码速度是在 WMT’17 英翻德测试集上测量的,使用了单个 Volta P100,batch size 为 16。输入长度被分拣为相似长度的 batch 语句。

表 9:在英翻德任务上,4 个 Volta P100 的训练速度如上图。解码速度是在 WMT'17 英翻德测试机上,beam size 为 5、batch size 为 16 的情况下测定的。

表 10:CNN 模型在 newstest 2017 上的 BLEU 得分

论文:SOCKEYE: A Toolkit for Neural Machine Translation

论文链接:https://arxiv.org/abs/1712.05690

摘要:我们在这里介绍 Sockeye(1.12 版),这是一个用于神经机器翻译(NMT)的开源序列到序列工具包。Sockeye 是一个生产就绪的框架,可为研究者提供针对训练、应用模型的实验性平台。该工具包由 Python 编写,建立在 MXNet 上,为三种最重要的编码器-解码器架构提供可扩展的训练和推断,分别是注意力循环神经网络(attentional recurrent neural networks)、自注意力转换器(self-attentional transformers)和全卷积网络(fully convolutional networks)。Sockeye 还支持多种优化器以及归一化、正则化技术,并利用当前的 NMT 文献提升了推断能力。用户可以很轻松地运行标准的训练流程、探索不同的模型设置,并结合新的想法。在这篇论文中,我们重点介绍了 Sockeye 的特征,并将 Sockeye 和其它的 NMT 工具包在 2017 年机器翻译会议(WMT)的两种语言翻译基准测试上进行了对比,分别是英语翻德语、拉脱维亚语翻英语。我们在三种架构上都得到了有竞争力的 BLEU 分数,其中在 Sockeye 的转换器实现上取得了综合最佳的分数。我们发布了所有在实验中使用的训练脚本和系统输出,以促进更详尽的对比。Sockeye 工具包是遵从 Apache 2.0 开源协议的免费软件。

本文为机器之心编译,转载请联系本公众号获得授权。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-12-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 机器之心 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
机器翻译
机器翻译(Tencent Machine Translation,TMT)结合了神经机器翻译和统计机器翻译的优点,从大规模双语语料库自动学习翻译知识,实现从源语言文本到目标语言文本的自动翻译,目前可支持十余种语言的互译。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档