前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >学界 | 反超GPU:微软提出在CPU上高效解码的神经机器翻译模型

学界 | 反超GPU:微软提出在CPU上高效解码的神经机器翻译模型

作者头像
机器之心
发布2018-05-07 16:09:04
7590
发布2018-05-07 16:09:04
举报
文章被收录于专栏:机器之心机器之心

选自arXiv

机器之心编译

参与:黄玉胜、李泽南

在最近一次机器学习热潮中,GPU 一直是承担神经网络模型训练和处理的主要计算设备,大多数模型都是针对 GPU 进行优化的。最近,微软研究院的 Jacob Devlin 等人发展了另一条路线,他们在神经机器翻译任务中选择 CPU 作为解码的主要计算芯片,并实现了超过 GPU 效能的结果。这或许能为我们优化模型性能带来新的思路。

论文:Sharp Models on Dull Hardware: Fast and Accurate Neural Machine Translation Decoding on the CPU

论文链接:http://cn.arxiv.org/abs/1705.01991

摘要:含有注意力机制的 sequence-to-sequence 模型近年来已经成为了机器翻译领域的新标准,但与基于短语的系统相比,这个模型也面临一个挑战——那就是训练和解码成本显著增加。这里我们专注于研究高效的解码,旨在精确度上与现有的神经翻译模型接近,同时在 CPU 解码速度和吞吐量上与短语解码器接近。

我们从两个角度来处理这个问题:首先,我们描述了用于加速 NMT 波束搜索解码器的几种技术,其在非改变解码器输出的情况下在非常有效的基线解码器上获得 4.4 倍的加速。其次,我们提出了一个简单而强大的网络架构,它在底层使用 RNN(GRU/LSTM)层,随后在每个时间步上应用一系列堆叠的完全连接的层。这种架构在少量训练和解码成本的情况下可以获得与深度循环模型相近的精度。通过结合这些技术,我们最好的系统在 2014 年的 WMT 英语-法语新闻测试集上达到了 38.3 BLEU——非常有竞争力的准确性分数,而在单线程 CPU 上达到 100 字/秒的解码速度。我们认为这是目前已发布的准确率和速度平衡上达到最佳的 NMT 系统。

图 1. 单线程 16 位定点矩阵乘法与英特尔 MKL 的 32 位浮点的对比,结果为 1000 词乘法的平均,二者都使用了 AVX2 指令集。

表 1. 在 Intel E5-2660 CPU 上单独处理每个句子时的解码速度

表 2. 利用 3 层 512 维的 Bi-GRU 模型在 2014 年的 WMT 英语-法语新闻测试集的结果。使用的 GPU 是英特尔 Haswell E5-2660。

尽管微软研究人员在论文中将整体与单个模型作比较,但是仍然得出了整体(E1)比单模型(S7)解码速度快 3 倍的结论。此外,研究人员还发现,在模型训练中,CPU(S4)的运算速度比同能耗的 GPU(S7)要快接近 3 倍,所以整体(E1)也比单个模型(S7)的训练速度要快 1.5 倍。

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

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

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

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

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