前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >谷歌发布 TensorFlow Fold,支持动态计算图,GPU 增速 100 倍

谷歌发布 TensorFlow Fold,支持动态计算图,GPU 增速 100 倍

作者头像
新智元
发布2018-03-27 11:56:41
8440
发布2018-03-27 11:56:41
举报
文章被收录于专栏:新智元

【新智元导读】谷歌官方博客最新发布TensorFlow Fold,通过为每个输入构建单独的计算图解决由于输入的大小和结构不同导致的问题。此外,通过动态批处理,实现了在 CPU上增速10倍以上,在GPU上增速100倍。同时发布的论文详解了该新功能的技术细节,论文地址:https://openreview.net/pdf?id=ryrGawqex

大多数机器学习中,用于训练和推理的数据需要经过预处理步骤,其中大量的输入(例如图像)被缩放到相同的尺寸,然后分批存储。这样,高性能深度学习库如 TensorFlow 等就可以并行地运行批存储中所有输入的相同计算图(computation graph)。批处理利用现代 GPU 和多核 CPU 的单指令多数据流(SIMD)性能来加快执行速度。然而,由于输入数据的大小和结构不同,例如自然语言理解中的分析树(parse trees),源代码中的抽象语法树(abstract syntax tree),网页的 DOM 树(DOM trees)等,这个过程存在许多问题。在这种情况下,计算图不同的输入不能直接地一起进行批处理,这导致处理器,存储器和缓存使用率不佳。

谷歌今天发布的 TensorFlow Fold 旨在解决这些挑战。TensorFlow Fold 使得处理不同数据大小和结构的深度学习模型更容易实现。此外,TensorFlow Fold 带来的好处是对这些模型进行批处理,与其他可替代的实现相比,在 CPU 上的速度提高了10倍以上,在 GPU 上的速度提高 100 倍。这是通过动态批处理(dynamic batching)实现的,具体请参阅我们的论文:Deep Learning with Dynamic Computation Graphs.

上面的动图显示了使用动态批处理运行的递归神经网络。相同颜色的操作被分为批,使得 TensorFlow 能够更快地运行它们。Embed 操作将词(words)转变为向量表示(vector representations)。完全连接(FC)操作将词向量(word vectors)组合形成短语向量表示。网络的输出是一个完整句子的向量表示。尽管上图只显示了句子的一个分析树(parse tree),但相同一个网络可以在任意形状或大小的多个分析树上运行及进行批处理操作。

TensorFlow Fold 库首先为每个输入构建成单独的计算图(computation graph)。因为每个输入可能具有不同的大小和结构,所以计算图也可能如此。动态批处理随后自动地组合这些流图,以利用机会在输入内和输入间进行批处理,并插入附加指令以在批处理操作之间移动数据。(具体技术细节请参阅论文)

我们希望 TensorFlow Fold 对在 TensorFlow 中使用动态计算图实现神经网络的研究人员和从业者有所帮助。了解更多:https://github.com/tensorflow/fold

论文:Deep Learning with Dynamic Computation Graphs

论文摘要:

在自然语言处理(分析树),化学信息学(分子图)等多个领域中,在图结构上进行计算的神经网络适合解决许多问题。然而,由于对每个输入,计算题具有不同的形状和大小,这样的网络不能直接支持批训练或推理。它们也难以在流行的深度学习库中实现,因为这些苦一般是基于静态数据流图的。我们提出一种称为动态批处理(Dynamic Batching)的技术,该技术不仅能在不同形状的输入图之间进行批处理,而且在同一输入图的不同节点之间也能批处理。该技术使得我们能够创建静态图,使用流行的库来模拟任意形状和大小的动态计算图。我们进一步提出了一个组成区块的高级库,以简化动态图模型的创建过程。使用这个库,我们证明了前人文献中的多种模型的简洁、并行的批处理实现。

原文地址:https://research.googleblog.com/2017/02/announcing-tensorflow-fold-deep.html

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

本文分享自 新智元 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
GPU 云服务器
GPU 云服务器(Cloud GPU Service,GPU)是提供 GPU 算力的弹性计算服务,具有超强的并行计算能力,作为 IaaS 层的尖兵利器,服务于生成式AI,自动驾驶,深度学习训练、科学计算、图形图像处理、视频编解码等场景。腾讯云随时提供触手可得的算力,有效缓解您的计算压力,提升业务效率与竞争力。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档