0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

Facebook展示了如何让机器翻译速度变快,同时又能扩展应用的方法

zhKF_jqr_AI 来源:未知 作者:李倩 2018-09-24 09:40 次阅读

编者按:机器翻译是人工智能在实际应用中的一个重要领域。在这篇文章中,Facebook的研究人员们展示了他们是如何让机器翻译速度变快,同时又能扩展应用的方法。

我们希望,用户能用自己的母语体验他们的产品,从而将全世界各地的用户联系起来。为了这一目的,我们用神经机器翻译(NMT)自动翻译文章和评论的文字。此前有关这项工作的成果已经在fairseq上开源,这是一种序列到序列的学习库,可以让任何人训练NMT、进行文本摘要总结或者其他文本生成任务。

随着NMT在学习大型单一语种数据上的能力逐渐提高,追求更快的训练速度成为了研究重点。为了这一目的,我们必须找到一种方法能显著减少训练时间。直到目前,在一台机器上训练这种类型的NMT模型都需要好几周时间,这种速度显然比较慢。

现在,经过对模型精确度和训练设置的多种改变,我们可以在32分钟内训练一个强大的NMT模型,速度比之前快了45倍。论文地址:arxiv.org/abs/1808.09381

加速训练

首先,我们的重点在如何减少模型的训练时间,最终仅用了一个NVIDIA DGX-1和8个Volta GPUs就将之前将近24个小时的训练时间减少到了5小时以下。神经网络通常含有数百万个参数,可以在训练时进行调整。这些参数通常会储存在32位浮点数中。第一步,我们将训练从32位转换成16位,从而减少GPU内存,并且能使用经过优化的NVIDIA Tensor Cores。用精度降低的浮点训练有时会导致模型质量的降低,因为浮点的“溢出”。在我们的工作中,我们应用了一种常见的用于自动检测和放置过载的技术,将训练时间减少到了8.25个小时,速度快了2.9倍并且没有使模型质量损失。

接下来,我们通过所谓的“累积更新(cumulative upgrade)”来延迟模型的更新。我们对模型进行同步训练,从而每个GPU保留着和模型一样的副本,但处理训练数据不同的部分。处理需要反向传播,反向传播在网络上分为前向传递和后向传递,以计算训练模型所需的统计数据。处理完每个mini-batch后,GPU会将结果(梯度)同步互相传递。这种方法会导致潜在的低效:首先,在GPU之间传输数据会消耗时间;第二,速度快的单元要等待速度慢的单元才能继续训练。

后者是文本处理模型一个重要的挑战,不同长度的句子会让问题更严重,这一点在计算机视觉领域是体会不到的,因为训练的图像通常大小相同。针对上面提到的两个问题,我们的解决方法是拖延同步点,将多个mini-batch的结果聚集起来再传播到各个处理单元中。这将训练时间减少到了7.5个小时,没有损失模型质量。

累积更新同样增加了高效训练的量,或者用于每个步骤训练的数据。在我们的设置中,batch的大小增加了16倍,这是我们将学习率提高了一倍,从而让训练时间减少到了5.2小时。

在多个步骤间进行梯度聚集

最终,我们用多余的GPU内存进一步扩大了batch的大小。通过将每个处理单元从原来的3500单词增加到5000个单词,我们能将整体的训练时间减少到4.9小时,是原来的4.9倍。

在多个机器上训练

我们在单一机器上的训练优化同样可以应用在多机器训练中(即分布式训练)。将原本在单独DGX-1机器上的训练扩展到16个机器上时(有128个GPU),我们发现只需37分钟就能训练相同的模型,这是原来的38.6倍。

在多个机器上训练时,另一种优化会使GPU交流和反向传递重叠。反向传递之后,我们获得了在其他处理单元中交流所需要的信息。通常来说,反向和交流是接连出现的,但是我们可以让二者重叠从而节省时间。特别的,我们可以当反向步骤一在某个神经网络的子集中完成,就在多个处理单元中对梯度进行同步。GPU交流之后就会和反向传递重合。这就进一步减少了训练时间,即达到了32分钟。

反向传播中的反向传递(back pass)可以和梯度同步重叠进行,从而提高训练速度

每次模型优化后训练时间的减少

在更多未翻译的数据上训练

将模型的训练时间缩短后,我们又开始研究如何训练模型在更大的数据集上工作。通常来讲,训练NMT模型需要有对应翻译版本的数据,即双语数据。但是这种资源十分有限,可用数据大多只有一种语言。在我们的第二篇论文中(地址:arxiv.org/abs/1808.09381),我们展示了如何让模型在这种情况下工作,同时用大量数据训练可以让精确度有所提升。

其中提高NMT在单一语言数据上效率的技术之一就是反向翻译(back-translation)。如果我们的目的是训练一个英译德的翻译模型,那么我们首先要训练一个德译英的模型,然后用它来训练所有单一德语的数据。之后把英译德模型在现有和新数据上进行训练。我们的论文表明,数据如何翻译是很重要的,在采样过程中并不总是选择最佳翻译版本是很有用的。

反向翻译过程

如果我们在现有的500万条句子中加入2.26亿条反向翻译的句子,那么模型翻译质量会得到显著提高。下方的表格就展示了系统的精确度在不同数据上的表现。

更快的翻译

我们同样改善了翻译速度,模型一经训练好,fairseq就能翻译出来。尤其是我们使用了智能缓存,或者从计算中算出了一经完成的句子,并且分批处理单词数量而不是句子。这将翻译速度提高了将近60%。下方图表就展示了各种方法的对比。

结语

继续提升自动翻译技术仍然是我们的研究重点,希望未来有更多发现能让训练速度更快,这样就可以推动实验的迭代次数,让NMT模型的发展更快。我们还希望未来能用无标记数据解决翻译之外的问题,例如问答或文本总结。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • Facebook
    +关注

    关注

    3

    文章

    1427

    浏览量

    54024
  • 人工智能
    +关注

    关注

    1775

    文章

    43723

    浏览量

    230506
  • 机器翻译
    +关注

    关注

    0

    文章

    138

    浏览量

    14793

原文标题:数据集更大、训练速度更快,Facebook改善机器翻译的秘诀有哪些?

文章出处:【微信号:jqr_AI,微信公众号:论智】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    机器翻译三大核心技术原理 | AI知识科普

    ` 本帖最后由 讯飞开放平台 于 2018-7-6 10:39 编辑 机器翻译技术发展了80多年,巴别塔的传说已经成为过去,上天是不可能上天的了,但是你优雅地和全世界讨论世界杯,不再手舞足蹈
    发表于 07-06 10:30

    机器翻译三大核心技术原理 | AI知识科普 2

    是端到端序列生成模型,是将输入序列变换到输出序列的一种框架和方法。其核心部分有两点,一是如何表征输入序列(编码),二是如何获得输出序列(解码)。对于机器翻译而言不仅包括了编码和解码两个部分,还引入
    发表于 07-06 10:46

    神经机器翻译方法有哪些?

    目前,神经机器翻译(NMT)已经成为在学术界和工业界最先进的机器翻译方法。最初的这种基于编码器-解码器架构的机器翻译系统都针对单个语言对进行翻译
    发表于 11-23 12:14

    从冷战到深度学习_机器翻译历史不简单

    实现高质量机器翻译的梦想已经存在了很多年,很多科学家都为这一梦想贡献了自己的时间和心力。从早期的基于规则的机器翻译到如今广泛应用的神经机器翻译机器翻译的水平不断提升,已经能满足很多场
    发表于 06-01 14:47 1037次阅读
    从冷战到深度学习_<b class='flag-5'>机器翻译</b>历史不简单

    阿里巴巴机器翻译在跨境电商场景下的应用和实践

    摘要:  本文将与大家分享机器翻译相关背景知识,再深入介绍机器翻译在阿里生态中的具体应用实践,介绍基于机器翻译技术搭建的一套完善的电商多语言解决方案,最后将会从技术角度介绍阿里机器翻译
    发表于 07-31 17:22 220次阅读
    阿里巴巴<b class='flag-5'>机器翻译</b>在跨境电商场景下的应用和实践

    从冷战到深度学习,机器翻译历史不简单!

    深度学习机器翻译 实现高质量机器翻译的梦想已经存在了很多年,很多科学家都为这一梦想贡献了自己的时间和心力。从早期的基于规则的机器翻译到如今广泛应用的神经机器翻译
    发表于 09-17 09:23 307次阅读

    换个角度来聊机器翻译

    同时期国内科技企业在机器翻译上的进展也非常迅速,以语音和语义理解见长的科大讯飞在2014年国际口语翻译大赛IWSLT上获得中英和英中两个翻译方向的全球第一名,在2015年又在由美国国家
    的头像 发表于 04-24 13:55 3213次阅读
    换个角度来聊<b class='flag-5'>机器翻译</b>

    机器翻译走红的背后是什么

    未来需要新的算法和语义层面的综合性突破,促进机器翻译产品的迭代和产业全面升级。
    发表于 07-14 10:02 922次阅读

    多语言翻译新范式的工作:机器翻译界的BERT

    思想就是打造“机器翻译界的BERT”,通过预训练技术再在具体语种上微调即可达到领先的翻译效果,其在32个语种上预训练出的统一模型在47个翻译测试集上取得了全面显著的提升。 目录 机器翻译
    的头像 发表于 03-31 17:24 2637次阅读
    多语言<b class='flag-5'>翻译</b>新范式的工作:<b class='flag-5'>机器翻译</b>界的BERT

    基于模板驱动的神经机器翻译模型综述

    基于模板驱动的神经机器翻译模型综述
    发表于 06-24 15:31 16次下载

    基于DNN与规则学习的机器翻译算法综述

    基于DNN与规则学习的机器翻译算法综述
    发表于 06-29 15:44 33次下载

    基于句子级上下文的神经机器翻译综述

    基于句子级上下文的神经机器翻译综述
    发表于 06-29 16:26 64次下载

    Google遵循AI原则减少机器翻译的性别偏见

    得益于神经机器翻译 (NMT) 的进步,译文更加自然流畅,但与此同时,这些译文也反映出训练数据存在社会偏见和刻板印象。因此,Google 持续致力于遵循 AI 原则,开发创新技术,减少机器翻译
    的头像 发表于 08-24 10:14 2551次阅读

    PyTorch教程10.5之机器翻译和数据集

    电子发烧友网站提供《PyTorch教程10.5之机器翻译和数据集.pdf》资料免费下载
    发表于 06-05 15:14 0次下载
    PyTorch教程10.5之<b class='flag-5'>机器翻译</b>和数据集

    机器翻译研究进展

    机器翻译使用计算机将一种语言翻译成另一种语言,具有低成本、高效率和高翻译质量等优势,在语音翻译、同声传译自动化等许多领域得到广泛应用。 随着双语语料库的不断建设和完善,基于语料库的
    的头像 发表于 07-06 11:19 409次阅读
    <b class='flag-5'>机器翻译</b>研究进展