互联网分析:谷歌的分布式计算系统在不到半小时内就可以训练出ResNet-50

导读 互联网是高科技的产物,是历史发展、社会进步、人类智慧的结晶;是人类迄今所拥有的容量最大、内容最广、传递速度最快的信息中心。全球每天
互联网是高科技的产物,是历史发展、社会进步、人类智慧的结晶;是人类迄今所拥有的容量最大、内容最广、传递速度最快的信息中心。全球每天有四亿人使用互联网,上网人数占世界人口的百分之6.互联网为我们了解时事、学习知识、与人沟通、休闲娱乐等提供了便捷的条件,接下来这篇文章给大家说说互联网科技的一角。

谷歌的分布式计算系统在不到半小时内就可以训练出ResNet-50

在机器学习中尽可能精确是更好的,不管它需要多长时间,还是在很短的时间内相当精确? 谷歌的分布式计算系统在不到半小时内就可以训练出ResNet-50

对于DeepMind研究人员PeterBuchlovsky和他的同事来说,选择是为了学习的速度而不是理论的准确性。

本周披露了一项名为“TF-Replicator”的新技术,研究人员表示,他们能够在不到半小时的时间内在熟悉的Image Net竞争中达到顶级基准结果的准确性,使用了Google的Tensor处理单元芯片中的32种并行操作。复制器的首次亮相是在谷歌本周预览2.0版本的TensorFlow。 谷歌的分布式计算系统在不到半小时内就可以训练出ResNet-50

作者声称,使用TF-复制器的结果接近其他一些项目的最佳结果,这些项目使用了更多的GPU,包括以前的工作,使用了英伟达的“特斯拉P100”GPU中的1,024个。

TF-复制器项目的含义是,GPU的这种史诗工程现在可以通过几行Python代码来实现,这些代码还没有被专门针对任何特定的硬件配置进行调整。 谷歌的分布式计算系统在不到半小时内就可以训练出ResNet-50

TF-复制器可以使多个“工人”共享一个计算图,如在左边,或有单独的计算图,如在右边。

诀窍基本上是为假人制作并行分布式计算,如果你愿意的话。DeepMind称,Google的TensorFlow框架中增加了一组新功能,通过让研究人员“自然地按照单机设置定义模型和运行循环”,“简化了构建分布式机器学习系统的过程。

该系统比以前的TensorFlow方法更灵活,称为“估计器”,它对模型的构建方式施加了限制。虽然该系统倾向于生产环境,但谷歌的方法是为研发实验室,为制造新型网络,所以它的设计更灵活。

这也意味着编程要比以往的并行尝试简单得多,比如Google的Brain Unit去年推出的“Mesh-TensorFlow”,作为一种单独的语言来指定分布式计算。

这项名为“TF-复制器:研究人员分布式机器学习”的研究被发布在ar Xiv预印服务器上,DeepMind还发布了一篇博客文章。

本文的工作假设是,他们希望快速获得最先进的结果,而不是试图在准确性方面达到极限。正如作者指出的那样,“最近的许多论文没有试图提高分类准确性,而是侧重于减少达到某种性能阈值所需的时间(通常为-75%Top-1准确度)”,使用Image Net基准,并在大多数情况下训练通用的“ResNet-50”神经网络。

这种急于求成的现象被称为“弱缩放”,在这种情况下,网络被训练为“以较少的步骤和非常大的批处理”,将数据分组为多个数千个示例的集合。

因此,需要并行化模型,以便能够同时在多个核心和多个GPU或TPU上工作。

作者开始构建一个分布式计算系统,该系统将处理从分类到通过生成对抗性网络(GANS)制作假图像到强化学习的任务,同时更快地达到胜任性能的阈值。

作者写道,研究者不需要了解任何关于分布式计算的知识。研究人员将他们的神经网络指定为一个“复制品”,一个设计用于在一台计算机上运行的东西。这个副本可以自动乘以多个计算机上并行运行的实例,前提是作者在它们的TensorFlow代码中包含两个Python函数,称为“input_fn”和“step_fn”。第一个调用数据集来填充神经网络的每个“步骤”。这使得在不同的机器上并行处理数据成为可能。另一个函数指定要执行的计算,并可用于在许多机器上并行神经网络操作。

TF-复制器如何在多台机器上构建计算图,在图中留下“占位符”函数,其中通信将需要稍后填写,这里用虚线表示。

作者指出,他们必须克服一些有趣的限制。例如,计算节点之间的通信对于诸如收集发生在多台机器上的所有梯度下降计算等事情来说非常重要。

这对工程师来说是个挑战。如果一个神经网络的单个“图”分布在许多计算机上,这就是所谓的“图内复制”,那么就会出现问题,因为计算图的部分可能还没有构建,这会破坏计算机之间的依赖关系。“一个副本的step_fn可以称为原始的中间图构造,”他们写道,指的是通信原语。“这需要提到来自另一个复制品的数据,而这个复制品本身还有待建立。”

他们的解决方案是在每台机器的计算图中放置“占位符”代码,“一旦所有副本子图都完成,就可以重新编写”。

在不同配置的硬件上,用于Image Net任务的TF-复制器的各种配置的结果。

作者描述了各种基准测试的结果。在ResNet-50Image Net任务中,“我们能够在不到30分钟的训练中匹配公布的75.3%Top-1的准确率”,他们写道,“这些结果是使用标准TF-复制器实现获得的,没有任何针对Image Net分类的系统优化。”

在GAN任务中,生成图像,”我们利用TF-复制器训练比单个GPU更大的批次,并发现这在样本质量方面取得了相当大的进步。

在强化学习领域,他们训练了一个模拟的活动关节“代理”,以导航各种任务。他们写道:“与8个NVLink连接的特斯拉V100GPU相比,单个TPUv2设备(4个芯片共8个核心)提供了具有竞争力的性能。

这种分布式计算对神经网络的未来设计有一些有趣的意义。例如,在强化学习的情况下,而不是构建机器人关节及其“速度”的更高层次的表示,他们写道,“TF-复制器的可伸缩性允许我们完全从像素观测快速解决这些任务。”

“大规模的可扩展性”,作者写道,在一个神经网络中有数百层和数千层,在深度学习中将变得越来越重要。TF-Replicator是谷歌回答的问题,即研究人员如何更快地开发和迭代这些大网络,从他们的工作台笔记本电脑开始,并以最小的麻烦扩展到分布式系统。

免责声明:本文由用户上传,如有侵权请联系删除!

猜你喜欢

最新文章