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

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

3天内不再提示

GPipe是什么,效果如何?为什么要对跨加速器的模型进行分区?

DPVg_AI_era 来源:lp 2019-03-06 09:04 次阅读

加速DNN模型训练速度方法中,数据并行受到单个加速器可支持模型大小的限制;而模型并行因为DNN顺序性导致大量算力浪费。目前Google推出GPipe,将两种方法的优势进行结合,解决了两者的劣势,成功提升训练速度。

深度神经网络(DNN)已经推动了许多机器学习任务,比如语音识别,视觉识别和语言处理。

BigGan、Bert和GPT2.0的最新进展表明,越大的DNN模型,越能带来更好的性能。

而视觉识别任务的过去进展也表明,模型大小和分类准确性之间,存在很强的相关性。

例如2014年ImageNet视觉识别挑战赛中,获胜者GoogleNet使用400万参数,精确度达到了74.8%。

而2017年ImageNet挑战赛的获胜者Squeeze-and-Excitation Networks,使用1.5亿参数,精确度达到了82.7%。

仅仅3年,数据处理能力翻了36番。而在同一时期,GPU内存仅增加了约3倍。

当前最先进的图像模型,已经达到了云TPUv2内存的可用上限。因此,迫切需要一种更高效、可扩展的基础设施,以实现大规模深度学习,并克服当前加速器的内存限制。

ImageNet精度和模型大小之间的强相关性

基于以上目的,Google推出了GPipe。

GPipe是什么,效果如何?

GPipe是一个分布式机器学习、可扩展的管道并行库,可以学习巨型深度神经网络。

使用同步随机梯度下降和管道并行性进行训练,适用于由多个连续层组成的任何DNN。

GPipe允许研究人员轻松部署更多加速器来训练更大的模型,并在不调整超参数的情况下,达到提升性能的效果。

GPipe将跨加速器和管道执行的网络层进行分区,以便实现对硬件更高的利用率,同时利用重新计算来将激活的内存使用降至最低。

例如,使用8个加速器的分区,GPipe就可以训练25倍大神经网络。

而GPipe也几乎实现了线性加速。使用4倍数量的加速器,处理同一个模型的速度提升了3.5倍;16倍加速器速度提升11倍。

同时它也要保证计算的梯度和分区的数量保持一致,从而在不对模型的参数做任何改动的前提下,都能保持线性加速。

目前,核心GPipe库已在Lingvo框架下开源。

为什么要对跨加速器的模型进行分区?

有两种标准方法可以加速DNN模型:

数据并行方法,使用更多的机器并将输入数据分开

模型并行性。将模型移动到如GPU或TPU等具有加速模型训练的特殊硬件

然而加速器的内存、与主机的通信带宽均有限。因此模型并行性就需要将模型进行分割,将不同的分区分配给不通过的加速器。

可是由于由于DNN的顺序性,这种朴素的策略可能导致在计算期间,只有一个加速器处于激活状态,导致大量算力的浪费。

而标准数据并行方法是允许在多个加速器上,同时训练不同输入数据的相同模型,但每个加速器可支持模型大小又有限制。

GPipe的做法是将模型分割,并划分给不同的加速器,自动将小Batch拆分为更小的微Batch,这样就实现了跨多个加速器的高效训练。

此外,因为梯度一直在微批次中累积,所以分区数量不会影响模型质量。

Time部分:由于网络的连续性,幼稚模型并行策略导致严重的未充分利用。 一次只有一个加速器处于活动状态

Bubble部分:GPipe将输入小批量分成较小的微批次,使不同的加速器可以同时在单独的微批次上工作

使用GPipe和不使用,之间的差异有多大?

一个TPUv2有8个加速器核心和64GB内存(每个加速器8GB),由于内存限制,单个加速器可以训练的参数量上限是8200万。

借助反向传播和批量分割中的重新计算,GPipe将中间激活内存从6.26GB减少到3.46GB,将单个加速器参数处理上限提升至3.18亿个。

我们还看到,通过管道并行性,最大模型大小与分区数成正比,如预期的那样。

通过GPipe,AmoebaNet能够在云TPUv2的8个加速器上加入18亿个参数,比没有GPipe的情况下多25倍。

Google测量了GPipe对AmoebaNet-D模型吞吐量的影响。效率和加速器的数量几乎是呈线性加速,8个加速器+8个分区,比2个加速器+2个分区快2.5倍。

TPUv3效果更好。在1024个令牌句子上启用了80亿个参数Transformer语言模型,16个加速器将速度提升了11倍

使用GPipe加速AmoebaNet-D,这种模型不适合一个加速器

基线naive-2是将模型拆分为两个分区时本机分区方法的性能

Pipeline-k指的是GPipe的性能,它将模型分成带有k个加速器的k个分区

GPipe还可以通过使用更多加速器来扩展训练,而无需更改超参数。因此,它可以与数据并行性相结合,以互补的方式使用更多的加速器来扩展神经网络训练。

GPipe精确度能达到多少?

前面我们提到,处理的数据量越大,获得的精度就越高。

Google在ImageNet ILSVRC-2012数据集上,使用Cloud TPUv2训练了一个有5.57亿参数、480 x 480输入图像尺寸的AmoebaNet-B模型。

该网络被分成4个分区,这个巨型模型在多个流行数据集上表现良好,在没有任何外部数据的情况下,精度达到了最先进的84.3% top-1,以及97% top-5的single-crop验证准确度。

大型神经网络不仅适用于ImageNet等数据集,还通过迁移学习,与其他数据集息息相关。

目前我们已知ImageNet模型越好,迁移就越好。Google在CIFAR10和CIFAR100数据集上进行了迁移学习实验,将最佳公布的CIFAR-10精度提高到99%,将CIFAR-100精度提高到91.3%。

哪里能获取到GPipe?

Github:

https://github.com/tensorflow/lingvo/blob/master/lingvo/core/gpipe.py

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

    关注

    2

    文章

    795

    浏览量

    37827
  • 神经网络
    +关注

    关注

    42

    文章

    4767

    浏览量

    100663
  • 机器学习
    +关注

    关注

    66

    文章

    8397

    浏览量

    132514

原文标题:谷歌开源效率怪兽GPipe,速度提升25倍,CIFAR-10精度达到99%

文章出处:【微信号:AI_era,微信公众号:新智元】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    从版本控制到全流程支持:揭秘Helix Core如何成为您的创意加速器

    加速器
    龙智DevSecOps
    发布于 :2024年11月26日 13:42:47

    IBM将在云平台部署AMD加速器

    IBM与AMD近期宣布了一项重要合作协议,根据协议,IBM将在其云平台上部署AMD Instinct MI300X加速器。这一举措旨在提升企业客户在生成式AI模型方面的性能和能效,进一步推动AI技术的创新与应用。
    的头像 发表于 11-19 16:24 187次阅读

    深度学习GPU加速效果如

    图形处理(GPU)凭借其强大的并行计算能力,成为加速深度学习任务的理想选择。
    的头像 发表于 10-17 10:07 173次阅读

    利用边沿速率加速器和自动感应电平转换

    电子发烧友网站提供《利用边沿速率加速器和自动感应电平转换.pdf》资料免费下载
    发表于 09-02 11:58 1次下载
    利用边沿速率<b class='flag-5'>加速器</b>和自动感应电平转换<b class='flag-5'>器</b>

    什么是神经网络加速器?它有哪些特点?

    神经网络加速器是一种专门设计用于提高神经网络计算效率的硬件设备。随着深度学习技术的快速发展和广泛应用,神经网络模型的复杂度和计算量急剧增加,对计算性能的要求也越来越高。传统的通用处理(CPU
    的头像 发表于 07-11 10:40 461次阅读

    “白地板”方案,智算中心加速器

    明德源能白地板方案,智算中心加速器
    的头像 发表于 06-21 11:54 766次阅读

    瑞萨发布下一代动态可重构人工智能处理加速器

    瑞萨最新发布的动态可重构人工智能处理(DRP-AI)加速器,在业界引起了广泛关注。这款加速器拥有卓越的10 TOPS/W高功率效率,相比传统技术,效率提升了惊人的10倍。其独特之处在于,它能在低功耗的传统嵌入式处理
    的头像 发表于 03-08 13:45 747次阅读

    SD-WAN专线加速效果如何?企业如何选择SD-WAN加速专线方案?

    在数字化时代,企业的网络需求日益增长,对于网络性能和安全性的要求也越来越高。SD-WAN专线加速技术应运而生,成为企业提升网络效率和保障数据安全的重要工具。本文将探讨SD-WAN专线加速效果,以及
    的头像 发表于 02-28 15:31 367次阅读

    家居智能化,推动AI加速器的发展

    提高了系统的运算能力和数据处理能力,还为用户带来了更加智能化、个性化的生活体验。   AI 加速器的发展   在人工智能和机器学习任务变得日益复杂和密集之前,传统的CPU和GPU已经足以处理这些任务。然而,随着深度学习模型的出现,对计算能力的需求急剧增加,
    的头像 发表于 02-23 00:18 4560次阅读

    回旋加速器原理 回旋加速器的影响因素

    回旋加速器(Cyclotron)是一种用于加速带电粒子的可再生粒子加速器。它的工作原理基于带电粒子在恒定强磁场中的运动。本文将详细介绍回旋加速器的原理以及影响因素。 一、回旋
    的头像 发表于 01-30 10:02 3806次阅读

    回旋加速器中粒子的最大动能与什么有关

    回旋加速器是一种用于加速粒子的装置,通过不断变化的磁场和电场来不断加速粒子,使其达到极高的速度和能量。粒子的最大动能取决于几个关键因素。 首先,回旋加速器的设计和性能对粒子的最大动能有
    的头像 发表于 01-18 10:42 3083次阅读

    Wakefield激光加速器 - 能量里程碑

    由The University of Texas at Austin物理学副教授比约恩·“曼努埃尔”·赫格利希(Bjorn “Manuel” Hegelich)领导的国际研究小组最近展示了一种长度不到20米的小型粒子加速器,该加速器产生的电子束能量为100亿电子伏特(10
    的头像 发表于 01-14 09:38 1032次阅读
    Wakefield激光<b class='flag-5'>加速器</b> - 能量里程碑

    adxl加速度mems测量低频振动的效果如何?

    之前选用了adxl372 和adxl345,我想请问一下,这些mems对低频振动的检测效果如何 目前项目需求测量0.5Hz-1000kHz频率的振动,量程大概在±20g 以上两种mems是否满足。
    发表于 12-28 07:09

    linux系统如何进行磁盘分区

    linux系统如何进行磁盘分区? 磁盘分区是在Linux系统中进行硬盘划分的一种方法,它可以将一个物理硬盘划分为多个逻辑分区,每个
    的头像 发表于 12-19 11:35 1021次阅读

    粒子加速器加速原理是啥呢?

    粒子加速器加速原理是啥呢? 粒子加速器是一种重要的实验设备,用于研究粒子物理学、核物理学等领域。其主要原理是通过电场和磁场的作用,对带电粒子进行
    的头像 发表于 12-18 13:52 2030次阅读