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

    文章

    1429

    浏览量

    54604
  • 人工智能
    +关注

    关注

    1789

    文章

    46576

    浏览量

    236899
  • 机器翻译
    +关注

    关注

    0

    文章

    139

    浏览量

    14860

原文标题:数据集更大、训练速度更快,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

    一种全新的无监督机器翻译方法,在BLUE基准测试上取得了10分以上提升

    Facebook无监督机器翻译方法,首先是系统学习双语词典,将一个词与其他语言对应的多种翻译联系起来。举个例子,就好比
    的头像 发表于 09-02 09:10 5977次阅读

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

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

    换个角度来聊机器翻译

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

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

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

    MIT和谷歌开发失传语言的机器翻译系统

    注释数据库和机器从中学习的技术语言学习发生了革命性变化,这使得机器翻译变得越来越普遍。
    发表于 07-17 10:56 608次阅读

    未来机器翻译会取代人工翻译

    所谓机器翻译,就是利用计算机将一种自然语言(源语言)转换为另一种自然语言(目标语言)的过程。它是计算语言学的一个分支,是人工智能的终极目标之一,具有重要的科学研究价值。而且机器翻译又具有重要
    的头像 发表于 12-29 10:12 4957次阅读

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

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

    机器翻译研究进展

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