专栏首页量子位Google开源模块化多任务训练库T2T,最近重要论文的模型全在里面

Google开源模块化多任务训练库T2T,最近重要论文的模型全在里面

陈桦 编译自 Google Research Blog 量子位 报道 | 公众号 QbitAI

Google Brain团队昨天发布的“一个模型学会一切”论文背后,有一个用来训练MultiModel模型的模块化多任务训练库:Tensor2Tensor。

今天,Google Brain高级研究员Łukasz Kaiser就在官方博客上发文,详细介绍了新开源的T2T库。

以下内容编译自Google Research的官方博客:

深度学习推动了许多技术的快速发展,例如机器翻译、语音识别和对象检测。在科研领域,人们可以查找作者开源的代码,从而复现他们的研究成果,推动深度学习技术的进一步发展。

然而,这些深度学习系统大部分都采用了独特配置,需要大量的工程开发,并且可能只适用于特定的问题或架构,导致很难尝试新的实验并比较结果。

今天,我们很高兴发布Tensor2Tensor (T2T),一个用于在TensorFlow中训练深度学习模型的开源系统。

T2T有助于开发顶尖水平的模型,并适用各类机器学习应用,例如翻译、分析和图像标注等。这意味着,对各种不同想法的探索要比以往快得多。

此次发布的这个版本还提供了由数据集和模型构成的库文件,包括近期几篇论文中最优秀的模型(文末列举了这几篇论文),从而推动你自己的深度学习研究。

为了证明T2T可以带来的改进,我们将库文件应用于机器翻译。正如上表所显示的,两个不同的T2T模型,SliceNet和Transformer,超过了此前表现最好的系统GNMT+MoE。

我们最优秀的T2T模型Transformer,比标准GNMT模型高出3.8分,而GNMT自身要比作为基准的翻译系统MOSES高出4分。

值得注意的是,通过T2T,你可以使用单个GPU,在一天时间里获得此前最漂亮的结果:小规模Transformer模型基于单个GPU在一天的训练后获得了24.9 BLEU。

目前,所有拥有GPU的研究者都可以自行探索最强大的翻译模型。我们在Github上介绍了如何去做。

模块化的多任务训练

T2T库利用TensorFlow工具来开发,定义了一个深度学习系统中需要的多个部分:数据集、模型架构、优化工具、学习速率衰减计划,以及超参数等等。

最重要的是,T2T在所有这些部分之间实现了标准接口,并配置了当前机器学习的最佳行为方式。

因此,你可以选择任意数据集、模型、优化工具,以及一套超参数,随后运行训练,看看效果如何。

我们实现了架构的模块化,因此输入数据和预期输出结果之间所有部分都是张量到张量的函数。

如果你对模型的架构有新想法,那么不需要替换所有设置。你可以保留嵌入的部分,用自己的函数来替换模型体。这样的函数以张量为输入,并返回张量。

这意味着T2T很灵活,训练不再局限于特定模型或数据集。

这也非常简单,例如知名的LSTM序列到序列模型可以用几十行代码来定义。你也可以用不同类型的多任务来训练单个模型。在一定的限制下,单个模型甚至可以使用所有数据集来训练。

例如,我们的MultiModel模型用这种方式在T2T中进行了训练,在许多任务中取得了良好的结果。这一模型使用的训练数据集包括ImageNet(图像分类)、MS COCO(图像标注)、WSJ(语音识别)、WMT(翻译),以及Penn Treebank分析语料库。

这是首次证明,单个模型能同时执行所有这些任务。

内置的最佳行为方式

在最初版本中,我们还提供了脚本,用于生成在研究领域广泛使用的数据集,少量模型,大量的超参数配置,以及其他一些技巧的配置。

考虑一下这样的任务:将英语语句解析为语法选区树。这个问题的研究已有几十年历史,并诞生了许多有竞争力的解决办法。这可以被视为一个序列到序列问题,并使用神经网络来解决。不过,这需要大量的调节优化。通过T2T,我们只需几天时间,就可以添加解析数据集生成器,并调整我们的注意力转换模型,针对这个问题来训练。惊喜的是,我们在一周时间里就取得了很好的结果。

相关资源

Tensor2Tensor GitHub: https://github.com/tensorflow/tensor2tensor

Google Research Blog原文: https://research.googleblog.com/2017/06/accelerating-deep-learning-research.html

文中提到“近期几篇论文中最优秀的模型”,这几篇论文分别是:

Attention Is All You Need https://arxiv.org/abs/1706.03762

Depthwise Separable Convolutions for Neural Machine Translation https://arxiv.org/abs/1706.03059

One Model to Learn Them All https://arxiv.org/abs/1706.05137

本文分享自微信公众号 - 量子位(QbitAI)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2017-06-20

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 一文看尽飞桨PaddlePaddle最新升级:5大优势,更低门槛使用深度学习

    从Paddle Fluid v1.0以来,飞桨致力于打造更好的用户体验,趁着百度开发者大会,也为用户精心准备了一份大礼,在开发、训练及部署全流程上进行了全新升级...

    量子位
  • 无人车路测在北京or去加州?不比不知道

    李根 发自 北清路 量子位 报道 | 公众号 QbitAI 12月18日会是载中国无人车发展史的一天。 北京率先出炉了《北京市关于加快推进自动驾驶车辆道路测试...

    量子位
  • 细思极恐!只需54块钱,你也能让AI伪造一系列联合国发言

    最近,有研究人员真就搞出了一个。手握这个生成器,你就可以无限生成逼真的联合国演讲风格的内容。

    量子位
  • 一个模型库学习所有:谷歌开源模块化深度学习系统Tensor2Tensor

    选自Google.research 机器之心编译 参与:黄小天、李泽南 在谷歌提交热点论文《Attention Is All You Need》和《One Mo...

    机器之心
  • 海淘党必备!这 4 款小程序,告诉你去哪花钱最划算

    以前每次要查汇率的时候,都很头大。只知道 1 美元大概换 6.xx 人民币,却不知道具体数额,只得老老实实用百度查。

    知晓君
  • 动态|谷歌开源T2T模型库,深度学习系统进入模块化时代!

    AI 科技评论按:6月19日,谷歌发布了T2T(Tensor2Tensor)深度学习开源系统,这个系统的一大优点是模块化,这也就意味着系统更加灵活,适应性更强。...

    AI科技评论
  • 理解这九个基本概念,你就初步入门了机器学习

    AI、机器学习、深度学习……你天天都听说这些术语。但是这些东西究竟是什么意思?如何才能让自己看起来像个专家乃至于大师?光来回念这几个名词肯定是不行的,不过你只需...

    刀刀老高
  • MYSQL 塞进去的吐不出来,磁盘空间浪费了吗?

    问题是这样产生的,有一个同学问一次性操作(big transaction)对数据库有什么不好的地方,当然可以从很多地方来切入,某些BT 对数据库的操作中的影响...

    AustinDatabases
  • 9,模型的评估

    在sklearn.metrics模块针对不同的问题类型提供了各种评估指标并且可以创建用户自定义的评估指标,

    lyhue1991
  • KFold交叉验证

    from sklearn.model_selection import KFold

    润森

扫码关注云+社区

领取腾讯云代金券