快捷搜索:

为了不让GPU等CPU,谷歌提出“数据回波”榨干G

原标题:为了不让GPU等CPU,谷歌提出“数据回波”榨干GPU余暇光阴,练习速率提升3倍多

晓查发自凹非寺

量子位报道|"民众,"号QbitAI

由于通用谋略芯片不能满意神经收集运算需求,越来越多的人转而应用GPU和TPU这类专用硬件加速器,加快神经收集练习的速率。

然则,用了更快的GPU和TPU就必然能加速练习吗?

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

跟着GPU等加速器越来越快,跨越了CPU、磁盘处置惩罚数据的速率,上游就徐徐成了练习瓶颈。

在某些环境下,GPU上游的代码花费的光阴以致是GPU本身运行光阴的几倍。上游没做完,下流只能空等,挥霍了大年夜量光阴。

为此,GoogleAI团队,提出一种简单的数据回波(DataEchoing)措施,可以办理这个问题。该措施最多能将练习速率加速3倍以上,且对模型的精度没有显着影响。

JeffDean也在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

作者系网易新闻·网易号“各有立场”签约作者

—完—

若何关注、进修、用大好人工智能?

每个事情日,量子位AI内参精选举世科技和钻研最新动态,汇总新技巧、新产品和新利用,梳应当日最热行业趋势和政策,搜索有代价的论文、教程、钻研等。

懂得AI成长现状,捉住行业成长机遇

AI社群|与优秀的人交流

量子位QbitAI·头条号签约作者

վ'ᴗ'ի追踪AI技巧和产品新动态

爱好就点「在看」吧!

滥觞:搜狐

您可能还会对下面的文章感兴趣: