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

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

3天内不再提示

Google Brain和DeepMind联手发布可以分布式训练模型的框架

中科院长春光机所 来源:reddit 作者:reddit 2021-06-26 15:42 次阅读

【导读】AI模型进入大数据时代,单机早已不能满足训练模型的要求,最近Google Brain和DeepMind联手发布了一个可以分布式训练模型的框架Launchpad,堪称AI界的MapReduce。

正如吴恩达所言,当代机器学习算法的成功很大程度上是由于模型和数据集大小的增加,在大规模数据下进行分布式训练也逐渐变得普遍,而如何在大规模数据、大模型的情况下进行计算,还是一个挑战。

分布式学习过程也会使实现过程复杂化,这对于许多不熟悉分布式系统机制的机器学习从业者来说是个问题,尤其是那些具有复杂通信拓扑结构的机器学习从业者。

在arxiv上一篇新论文中,来自 DeepMind 和 Google Brain 的研究团队用 Launchpad 解决了这个问题,Launchpad 是一种编程模型,它简化了定义和启动分布式计算实例的过程。

论文的第一作者是来自DeepMind的华人Yang Fan,毕业于香港中文大学。

Launchpad 将分布式系统的拓扑描述为一个图形数据结构,这样图中的每个节点都代表一个服务,即研究人员正在运行的基本计算单元。

将句柄构造为节点的引用,将客户端表示为尚未构造的服务。

图的边表示两个服务之间的通信,并在构建时将与一个节点相关联的句柄给予另一个节点时创建。

通过这种方式,Launchpad 可以通过传递节点句柄来定义跨服务通信。Launchpad 的计算构建块由不同的服务类型表示,每种服务类型由特定于该类型的节点和句柄类表示。

8bf59634-d5af-11eb-9e57-12bb97331649.png

论文中提出的 Launchpad 的生命周期可以分为三个阶段: 设置、启动和执行。设置阶段构造程序数据结构; 在启动阶段,处理这个数据结构以分配资源、地址等,并启动指定服务; 然后执行阶段运行服务,例如为服务通信创建客户端。

Launchpad 是用流行的编程语言 Python 实现的,它简化了定义程序和节点数据结构以及为单个平台启动的过程。Launchpad 框架还可以很容易地用任何其他宿主语言实现,包括 c/c + + 等低级编程语言。

8cd0f1fc-d5af-11eb-9e57-12bb97331649.png

Launchpad 编程模型非常丰富,足以容纳各种各样的分布式系统,包括参数服务器、 MapReduce和 Evolution Strategies。

研究人员用简洁的代码详细描述了如何将 Launchpad 应用到这些常见的分布式系统范例中,并说明了该框架在简化本研究领域常用机器学习算法和组件的设计过程方面的能力。

总的来说,Launchpad 是一个实用的、用户友好的、表达性强的框架,用于机器学习研究人员和实践者详细说明分布式系统,作者表示,这个框架能够处理日益复杂的机器学习模型。其他框架

2020年,DeepMind 发布过一个强化学习优化框架Acme,可以让AI驱动的智能体在不同的执行规模上运行,从而简化强化学习算法的开发过程。

强化学习可以让智能体与环境互动,生成他们自己的训练数据,这在电子游戏、机器人技术、自动驾驶机器人出租车等领域取得了突破。

随着所使用的训练数据量的增加,这促使设计了一个系统,使智能体与环境实例相互作用,迅速积累经验。DeepMind 断言,将算法的单进程原型扩展到分布式系统通常需要重新实现相关的智能体,这就是 Acme 框架的用武之地。

DeepMind研究员写道,「Acme 是一个用于构建可读、高效、面向研究的 RL 算法的框架。Acme 的核心是设计用于简单描述 RL 智能体,这些智能体可以在不同规模的执行中运行,包括分布式智能体。」

Determined AI也是一个深度学习神器。Determined使深度学习工程师可以集中精力大规模构建和训练模型,而无需担心DevOps,或者为常见任务(如容错或实验跟踪)编写代码。更快的分布式训练,智能的超参优化,实验跟踪和可视化。

一万亿模型要来了?谷歌大脑和DeepMind联手发布分布式训练框架Launchpad

Determined主要运用了Horovod,以Horovod为起点,研究人员运用了多年的专业知识和经验,使得整个训练过程比库存配置要快得多。

Horovod 是一套面向TensorFlow 的分布式训练框架,由Uber 构建并开源,目前已经运行于Uber 的Michelangelo 机器学习即服务平台上。Horovod 能够简化并加速分布式深度学习项目的启动与运行。当数据较多或者模型较大时,为提高机器学习模型训练效率,一般采用多 GPU 的分布式训练。TensorFlow 集群存在诸多缺点,如概念太多、学习曲线陡峭、修改的代码量大、性能损失较大等,而 Horovod 则让深度学习变得更加美好,随着规模增大,Horovod 性能基本是线性增加的,损失远小于 TensorFlow。

2019年,字节跳动AI lab开源了一款高性能分布式框架BytePS,在性能上颠覆了过去几年allreduce流派一直占据上风的局面,超出目前其他所有分布式训练框架一倍以上的性能,且同时能够支持Tensorflow、PyTorch、MXNet等开源库。

BytePS 提供了 TensorFlow、PyTorch、 MXNet 以及Keras的插件,用户只要在代码中引用BytePS的插件,就可以获得高性能的分布式训练。BytePS的核心逻辑,则实现在BytePS core里。具体的通信细节,完全由BytePS完成,用户完全不需要操心。

编辑:jq

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

    关注

    27

    文章

    4403

    浏览量

    126569
  • 开源
    +关注

    关注

    3

    文章

    2982

    浏览量

    41697
  • 分布式
    +关注

    关注

    1

    文章

    750

    浏览量

    74050
  • 机器学习
    +关注

    关注

    66

    文章

    8096

    浏览量

    130520
  • pytorch
    +关注

    关注

    2

    文章

    759

    浏览量

    12822
收藏 人收藏

    评论

    相关推荐

    分布式IO工业自动化数据采集与分析的核心

    随着工业自动化技术的不断发展,分布式IO在工业自动化领域的应用越来越广泛。作为一种先进的控制技术,分布式IO能够实现设备的分布式控制和监测,提高生产效率、降低能耗和减少故障率。 分布式
    发表于 12-28 14:47

    鸿蒙原生应用开发——分布式数据对象

    01、什么是分布式数据对象 在可信组网环境下,多个相互组网认证的设备将各自创建的对象加入同一个 sessionId,使得加入的多个数据对象之间可以同步数据,也就是说,当某一数据对象属性发生
    发表于 12-08 10:01

    分布式系统硬件资源池原理和接入实践

    启动,表明相机外设已经纳入资源池管理,成为分布式相机。 从下述截图也可以看到分布式硬件其他相关进程,dhardware 就是分布式硬件资源池管理框架
    发表于 12-06 10:02

    spring分布式框架有哪些

    Spring分布式框架是一套基于Spring框架的解决方案,用于构建分布式系统。它提供了一系列的组件和模块,可以帮助开发人员轻松地构建可扩展
    的头像 发表于 11-16 10:58 339次阅读

    基于PyTorch的模型并行分布式训练Megatron解析

    NVIDIA Megatron 是一个基于 PyTorch 的分布式训练框架,用来训练超大Transformer语言模型,其通过综合应用了数
    的头像 发表于 10-23 11:01 958次阅读
    基于PyTorch的<b class='flag-5'>模型</b>并行<b class='flag-5'>分布式</b><b class='flag-5'>训练</b>Megatron解析

    基于ZigBee的分布式井盖监控系统

    随着我国现代经济发展水平的不断提高,城市井盖数目逐渐增加。由于较多井盖被盗,致使路面形成陷阱,危害到过往车辆和行人安全。本文提出了一种基于 ZigBee无线网络的智能安全监控系统,解决分布式布控困难
    发表于 09-18 08:46

    OpenHarmony 分布式硬件关键技术

    应用使用,应用开发者只需要调用上层服务的API就可以使用,达到软件定义硬件的效果。 分布式硬件池化架构 第二,分布式硬件平台还提供了统一的设备发现和认证框架。支持设备间通过碰、扫、靠
    发表于 08-24 17:25

    模型分布式训练并行技术(一)-概述

    数据并行是最常见的并行形式,因为它很简单。在数据并行训练中,数据集被分割成几个碎片,每个碎片被分配到一个设备上。这相当于沿批次(Batch)维度对训练过程进行并行化。每个设备将持有一个完整的模型副本,并在分配的数据集碎片上进行
    的头像 发表于 08-24 15:17 628次阅读
    大<b class='flag-5'>模型</b><b class='flag-5'>分布式</b><b class='flag-5'>训练</b>并行技术(一)-概述

    过程语言(2)#分布式数据

    分布式数据
    未来加油dz
    发布于 :2023年07月03日 23:00:52

    过程语言(1)#分布式数据

    分布式数据
    未来加油dz
    发布于 :2023年07月03日 23:00:11

    #分布式数据

    分布式数据
    未来加油dz
    发布于 :2023年07月03日 22:58:32

    聚合函数(1)#分布式数据

    分布式数据
    未来加油dz
    发布于 :2023年07月03日 22:57:57

    如何使用分布式存储系统促进AI模型训练

    这凸显了分布式存储在人工智能(AI)领域的重要性。JuiceFS 是一个开源、高性能的分布式文件系统,为这个问题提供了解决方案。
    发表于 06-12 09:28 343次阅读
    如何使用<b class='flag-5'>分布式</b>存储系统促进AI<b class='flag-5'>模型</b><b class='flag-5'>训练</b>

    大敌当前,Google BrainDeepMind合并!

    Google 旗下的 Brain 团队和 DeepMind 都是各自研究各自的 AI,基本没有什么紧密合作。DeepMind 也只是提供一些技术来帮助
    的头像 发表于 04-27 14:56 603次阅读

    谷歌合并BrainDeepMind,加速人工智能技术研究

    电子发烧友网报道(文/李弯弯)日前,谷歌母公司Alphabet表示合并旗下两个主要的人工智能研究部门——Google Brain(谷歌大脑)和DeepMind。新部门名为Google
    的头像 发表于 04-26 01:10 1477次阅读