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

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

3天内不再提示

Microsoft开源了零冗余优化器版本2(ZeRO-2)

倩倩 来源:文财网 2020-07-22 15:12 次阅读

Microsoft开源了零冗余优化器版本2(ZeRO-2),这是一种分布式深度学习优化算法,可根据集群大小进行超线性扩展。与以前的分布式学习技术相比,Microsoft使用ZeRO-2培训了10倍的1000亿参数自然语言处理(NLP)模型。

程序经理Rangan Majumder和杰出的工程师Wang Junhua在博客中写道,描述了该算法及其实验。ZeRO-2是Microsoft开源DeepSpeed库的一部分,用于深度学习培训优化。ZeRO-2优化了训练过程中的内存消耗,允许对多达1,700亿个参数的模型进行分布式训练。该算法还减少了分布式集群中工作节点之间的通信,实现了超线性并行加速,从而将培训时间减少了多达10倍。DeepSpeed团队在1,024个GPU的集群上使用ZeRO-2,达到了创纪录的44分钟的时间来训练BERT自然语言模型,比NVIDIA的结果提高了30%以上。

NLP研究的最新趋势表明,通过在较大数据集上训练的较大模型,可以提高准确性。OpenAI提出了一套“缩放定律”,表明模型精度与模型大小具有幂律关系,并且最近通过创建具有1750亿个参数的GPT-3模型对该想法进行了测试。由于这些模型太大而无法容纳单个GPU的内存,因此对其进行训练需要一堆机器和模型并行训练技术,以在整个集群中分配参数。有几种实现有效的模型并行性的开源框架,包括GPipe和NVIDIA的Megatron,但是由于集群节点之间的通信开销,它们具有次线性加速,并且使用框架通常需要模型重构。

ZeRO-2使用以下三种策略来减少训练所需的内存:减少模型状态内存需求,将层激活卸载到CPU以及减少内存碎片。ZeRO-2可以通过在并行进程之间划分梯度和参数,将模型状态内存需求减少多达8倍。层激活值是从前向训练过程中保存的,以便稍后在后向过程中使用,但是ZeRO-2将它们暂时从GPU的内存移动到主机CPU的内存。最后,即使可用内存不连续,即使内存可用,内存分配也可能失败。ZeRO-2通过为连续用途(例如激活和渐变)预先分配连续的内存块来减少碎片。

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

    关注

    73

    文章

    5224

    浏览量

    119866
  • 自然语言处理

    关注

    1

    文章

    507

    浏览量

    13096
  • nlp
    nlp
    +关注

    关注

    1

    文章

    463

    浏览量

    21812
收藏 人收藏

    评论

    相关推荐

    快速上手Banana Pi BPI-M4 Zero 全志科技H618开源硬件开发开发板

    快速上手Banana Pi BPI-M4 Zero 全志科技H618开源硬件开发开发板
    的头像 发表于 11-30 14:42 378次阅读
    快速上手Banana Pi BPI-M4 <b class='flag-5'>Zero</b> 全志科技H618<b class='flag-5'>开源</b>硬件开发开发板

    VisionFive 2成功集成Android开源项目(AOSP)!

    的开创性合作(https://github.com/android-risc-v, Peter Yoon)。 赛昉团队利用AOSP的开源性质定制软件,与VisionFive 2的硬件功能保持一致
    发表于 10-16 13:11

    树莓派开源原理图汇总

    树莓派开源原理图汇总,包括3B和3B+型号,ZeroZero W型号,以及USB,SPI,DPI,BCM2835,BCM2836 cpu架构资料
    发表于 09-25 07:19

    Orange Pi Zero用户手册

    电脑使用全志 H2 系统级芯片,同时拥有 512MB 或者 256MB DDR3 内存。2. Orange Pi zero 的用途 我们可以用它搭建:  一台计算机  一个无线网络服务
    发表于 09-19 06:54

    优化重复冗余代码的8种方式

    日常开发中,我们经常会遇到一些重复冗余的代码 。大家都知道重复代码不好 ,它主要有这些缺点:可维护性差、可读性差、增加错误风险 等等。最近呢,我优化了一些系统中的重复代码,用了好几种的方式,感觉挺有用的。所以本文给大家讲讲优化
    的头像 发表于 09-11 09:47 345次阅读

    ARM编译优化版本1.0

    ARM编译armcc可以优化您的代码以实现小代码和高性能。 本教程介绍编译执行的主要优化技术,并解释了如何控制编译
    发表于 08-28 07:11

    ARM Cortex-X2核心软件优化指南

    )·嵌入式跟踪扩展(ETE)·跟踪缓冲区扩展(TRBE)·可选嵌入式逻辑分析(ELA)本文档描述影响软件性能的Cortex-X2核心微体系结构的元素,以便相应地优化软件和编译
    发表于 08-28 06:52

    Arm Neoverse™ V2核心软件优化指南

    本文档描述影响软件性能的Neoverse V2核心微体系结构的各个方面。 微体系结构细节仅限于对软件优化有用的细节。 文档仅涉及Neoverse V2核心的软件可见行为,而不涉及该行
    发表于 08-24 06:29

    Microsoft SQL Server联机事务与大规模集成电路优化MegaRAID CacheCade软件

    电子发烧友网站提供《Microsoft SQL Server联机事务与大规模集成电路优化MegaRAID CacheCade软件.pdf》资料免费下载
    发表于 08-22 15:08 0次下载
    <b class='flag-5'>Microsoft</b> SQL Server联机事务与大规模集成电路<b class='flag-5'>优化</b>MegaRAID CacheCade软件

    无法使用Microsoft Visual Studio 2017为Windows 10构建开源OpenVINO怎么解决?

    无法使用 Microsoft Visual Studio 2017 为 Windows 10 构建开源OpenVINO™。
    发表于 08-15 06:43

    Banana Pi M2 Zero 运行 openHAB 回顾

    Pi Zero W 相比,Banana Pi BPI-M2 Zero 具有令人印象深刻的规格。以下是与 openHAB 相关的规格。 特征 BPI-M2
    发表于 07-29 12:45

    Banana Pi BPI-P2 Zero 开源硬件物联网开发板基准测试和评论

    的 RAM 导致一些滞后,这低于其中一些模拟所需的 1 GB 规格。 将 Banana Pi BPi-P2 与Raspberry Pi Zero
    发表于 07-29 12:44

    DeepSpeed里面和Zero相关技术教程

    概述 训练环境 开启Zero优化 训练一个1.5B参数的GPT2模型 训练一个10b的GPT-2模型 使用ZeRO-Infinity训练万亿级别的模型 使用ZeRO-Infinity将
    的头像 发表于 06-12 10:25 2005次阅读
    DeepSpeed里面和<b class='flag-5'>Zero</b>相关技术教程

    中科院发布“香山”与“傲来”两项开源处理芯片

    中科院计算技术研究所副所长包云岗介绍目前全球性能最高的开源高性能RISC-V处理核项目“香山”。他指出,计算技术研究所对标ARM Cortex-A72,已于2021年成功研制出第一代“香山
    发表于 05-28 08:43

    LIMIT linear range is less than zero. [U2_OUT1_CL1]

    大佬们,我在进行proteus仿真时候,一直显示CLIMIT linear range is less than zero. [U2_OUT1_CL1],是指电容限制小于0,应该怎么改啊,单片机控制正常,用示波器查看示波器也一直没有显示。
    发表于 05-10 13:51