点上方蓝字计算机视觉联盟获取更多干货

在右上方 ··· 设为星标 ★,与你不见不散

仅作分享,不代表本公众号立场,侵权联系删除

转载于:量子位

AI博士笔记系列推荐

周志华《机器学习》手推笔记正式开源!可打印版本附pdf下载链接

因为通用计算芯片不能满足神经网络运算需求,越来越多的人转而使用GPU和TPU这类专用硬件加速器,加快神经网络训练的速度。

但是,用了更快的GPU和TPU就一定能加速训练吗?

训练流水线的所有操作并不都是在加速器上运行。上游数据处理(如磁盘I/O和数据预处理)就不能在加速器上运行。

随着GPU等加速器越来越快,超过了CPU、磁盘处理数据的速度,上游就逐渐成了训练瓶颈。

在某些情况下,GPU上游的代码花费的时间甚至是GPU本身运行时间的几倍。上游没做完,下游只能空等,浪费了大量时间。

为此,Google AI团队,提出一种简单的数据回波(Data Echoing)方法,可以解决这个问题。该方法最多能将训练速度加速3倍以上,且对模型的精度没有明显影响。

Jeff Dean也在Twitter上转发点赞。

重复数据让GPU不空等

很多情况下,上游花费的时间比加速器更长,使用更快的GPU或TPU根本不会提高训练速度。如果投入大量的工程工作以及额外的计算资源,确实可以加快流水线的速度。

对于非常小的数据集,可以离线预先计算扩增的数据集,并将整个预处理的数据集加载到内存中。

但这种方法不适用于大多数机器学习训练场景,既耗时又分散了改善推理性能的主要目标。

与其等待更多的数据,不如利用已有的数据来使加速器保持忙碌状态。

在加速器空置50%情况下,预处理batch的第一个优化步骤之后,我们可以重复利用该batch再进行一次训练。

如果重复数据与新数据一样有用,训练效率会提高一倍。

实际上,由于重复数据不如新数据有用,因此数据回波提供的加速要小一些,但和加速器处于空闲状态相比,仍然可以提供明显的加速。

通常有几种方法可以在给定的神经网络训练管道中实现数据回波。

Google提出的技术,是将数据复制到训练管道中某个位置的随机缓冲区中,无论在哪个阶段产生瓶颈之后,都可以将缓存数据插入任意位置。

数据回波在样本级别对数据进行混洗,而batch回波则对重复批次的序列进行混洗。另外还可以在数据扩充之前插入缓冲区,以使重复数据的每个副本略有不同,因此不是简单机械重复,而是更接近一个新样本。

加速3倍多,精度无损失

那么数据回波到底多有用呢?

Google在五个神经网络训练管道上尝试了数据回波,涵盖了图像分类、语言建模和目标检测3个不同的任务,并测量了达到特定性能目标所需的新样本数量。

Google发现,数据回波可以用更少的新样本来达到目标性能,这表明重复使用数据对于降低磁盘I/O很有用。在某些情况下,重复数据几乎与新数据一样有用。

在ImageNet的ResNet-50训练任务中,数据回波可以显著提高训练速度,加速了3倍以上。

从云存储中读取一批训练数据所花的时间是使用每一批数据执行训练步骤的6倍。因此数据最多可以重复5次。

我们将回波因子定义为重复每个数据项的次数,对于以上任务,回波因子最大是5。如果重复样本与新样本一样有用,则应该带来6倍加速,而实际上只加速了3.25倍,但也相当可观。

可能有人会担心重复使用数据会损害模型的最终性能,但实验发现,测试的任何工作负载,数据回波都不会降低最终模型的质量。

随着GPU和TPU性能的继续提升,和通用处理器的差距会越来越大,Google期望数据回波和类似策略将成为神经网络培训工具包中越来越重要的一部分。

怎么样,谷歌AI的这项最新研究,是不是也给你训练神经网络带来一些新启发?

论文地址:
https://arxiv.org/abs/1907.05550

博客地址:
https://ai.googleblog.com/2020/05/speeding-up-neural-network-training.html

end

这是我的私人微信,还有少量坑位,可与相关学者研究人员交流学习 

目前开设有人工智能、机器学习、计算机视觉、自动驾驶(含SLAM)、Python、求职面经、综合交流群扫描添加CV联盟微信拉你进群,备注:CV联盟

王博的公众号,欢迎关注,干货多多

王博的系列手推笔记(附高清PDF下载):

博士笔记 | 周志华《机器学习》手推笔记第一章思维导图

博士笔记 | 周志华《机器学习》手推笔记第二章“模型评估与选择”

博士笔记 | 周志华《机器学习》手推笔记第三章“线性模型”

博士笔记 | 周志华《机器学习》手推笔记第四章“决策树”

博士笔记 | 周志华《机器学习》手推笔记第五章“神经网络”

博士笔记 | 周志华《机器学习》手推笔记第六章支持向量机(上)

博士笔记 | 周志华《机器学习》手推笔记第六章支持向量机(下)

博士笔记 | 周志华《机器学习》手推笔记第七章贝叶斯分类(上)

博士笔记 | 周志华《机器学习》手推笔记第七章贝叶斯分类(下)

博士笔记 | 周志华《机器学习》手推笔记第八章(上)

博士笔记 | 周志华《机器学习》手推笔记第八章(下)

博士笔记 | 周志华《机器学习》手推笔记第九章

点个在看支持一下吧

谷歌提出“数据回波”榨干GPU空闲时间,训练速度提升3倍多相关推荐

  1. 为了不让GPU等CPU,谷歌提出“数据回波”榨干GPU空闲时间,训练速度提升3倍多...

    晓查 发自 凹非寺  量子位 报道 | 公众号 QbitAI 因为通用计算芯片不能满足神经网络运算需求,越来越多的人转而使用GPU和TPU这类专用硬件加速器,加快神经网络训练的速度. 但是,用了更快的 ...

  2. 阿里公开自研AI集群细节:64个GPU,百万分类训练速度提升4倍

    点上方蓝字计算机视觉联盟获取更多干货 在右上方 ··· 设为星标 ★,与你不见不散 编辑:Sophia 计算机视觉联盟  报道  | 公众号 CVLianMeng 转载于 :量子位 AI博士笔记系列推 ...

  3. 【深度学习-数据加载优化-训练速度提升一倍】

    1,介绍 数据加载 深度学习的训练,简单的说就是将数据切分成batch,丢入模型中,并计算loss训练.其中比较重要的一环是数据打batch部分(数据加载部分). 训练时间优化: 深度学习训练往往需要 ...

  4. GAN靠「伪造思维」登上Nature子刊:首次合成神经活动数据,脑机接口训练速度提升20倍...

    博雯 梦晨 发自 凹非寺 量子位 报道 | 公众号 QbitAI GAN这回玩了票大的,把手伸向了"人脑思维". 没错,直接就是一个"合成思维"--生成用来喂给 ...

  5. 单机训练速度提升高达640倍,快手开发GPU广告模型训练平台

    作者|廉相如(快手FeDA智能决策实验室 ) 如何有效处理大规模用户数据进行广告推荐?对于互联网企业的发展和进步至关重要.这也是为何快手成立西雅图实验室并实现新一代GPU广告模型训练平台的原因之一.快 ...

  6. 旷视孙剑博士提出LGD,训练速度提升51%,适用于目标检测的知识蒸馏

    来源:新智元 [导读]知识蒸馏已经成了目前常用的模型压缩方法,但相关研究还局限在图像分类任务上.最近旷视孙剑博士联手西安交大发表了一篇论文,提出新模型LGD,无需一个强力的teacher模型也能在目标 ...

  7. AI一分钟 | 李开复:AI创业公司估值今年会降20%~30%;谷歌让搜索结果加载速度提升两倍...

    ▌李开复:AI 创业公司估值今年会降 20%~30% 创新工场创始人李开复的新书<AI·未来>昨天正式全球发售,在发布现场,李开复谈到目前国内 AI 创业企业现状时表示,今年国内 AI 创 ...

  8. 谷歌发布TF新工具:计算速度提升2倍,减少无效参数

    萧箫 发自 凹非寺 量子位 报道 | 公众号 QbitAI 一顿操作后,需要实时模糊背景的视频,看起来流畅了不少: 实时目标检测的延迟也更低了: 这是谷歌特意为移动设备和Web端开发的一系列新工具,可 ...

  9. 谷歌提出新分类损失函数:将噪声对训练结果影响降到最低

    晓查 发自 凹非寺  量子位 报道 | 公众号 QbitAI 训练数据集里的标签通常不会都是正确的,比如图像分类,如果有人错误地把猫标记成狗,将会对训练结果造成不良的影响. 如何在不改变训练样本的情况 ...

最新文章

  1. PHP 使用 Memcached
  2. 直播 | WWW 2021论文解读:强化学习与互信息驱动的子图神经网络
  3. 如何:优化Hive ZooKeeper Lock Manager实施
  4. python导出项目所依赖的所有的库文件以及安装
  5. PHP与JSP的比较
  6. musictools(无损付费音乐免费下载神器) 最新版 v3.7.0
  7. 硬盘坏道检测工具对比(DiskGenius/HdTunePro/MHDD等)
  8. 指纹识别算法c++实现
  9. 第三阶段应用层——1.8 数码相册—在LCD上显示JPG图片
  10. Nicholas C. Zakas:最佳职业生涯建议
  11. 用python解“计算工资”题
  12. uni-app学习:CSS之flex布局居中
  13. 高级防火墙规则-Direct Rules
  14. 【Python黑科技】几行代码绘制gif动图(保姆级图文+实现代码)
  15. Drupal 系列一:如何快速学习 Drupal
  16. 常用计算机字长,计算机字长是什么意思
  17. 计算机和网络设备的辐射强,计算机网络设备信息辐射泄漏与抑制
  18. 无忧无盘服务器内存,无忧无盘安装以及配置教材.doc
  19. IDEA的页面功能设置
  20. python素数生成器_在python中用滤波器和生成器生成无穷素数

热门文章

  1. python表示数字6_Python3 数字Number(六)
  2. 51单片机c语言测距,超声波HM55B测距(STC10F08单片机C程序)
  3. 阿尔伯塔大学计算机科学本科几年,本科——21阿尔伯塔大学CS专业早录取
  4. 本科计算机专业学物理力学吗,力学专业
  5. 设置log缓存_Redis中缓存击穿 缓存穿透 缓存雪崩解决方案
  6. Yuchuan_Linux_C编程之二 GCC编译
  7. Vue.js 牛刀小试(持续更新~~~)
  8. jcmd jmap应用:一个String经典笔试题的验证
  9. ctf-HITCON-2016-houseoforange学习
  10. 方便的Chrome取色插件ColorPick Eyedropper [设计, FE必备]