加入收藏 | 设为首页 | 会员中心 | 我要投稿 河北网 (https://www.hebeiwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

让神经网络训练速度加快4倍!谷歌大脑团队提出“数据回送”算法

发布时间:2019-07-23 06:53:47 所属栏目:建站 来源:AI前线小组 译
导读:在摩尔定律的暮色中,GPU 和其他硬件加快器极大地加快了神经收集的实习。可是,实习进程的前期阶段(如磁盘读写和数据预处理赏罚)并不在加快器上运行。跟着加快器的不绝改造,这些前期阶段所耗费的时刻将逐渐成为逊?з度的瓶颈。谷歌大脑团队提出了数据回送
副问题[/!--empirenews.page--]

让神经收集逊?з度加速4倍!谷歌大脑团队提出“数据回送”算法

在摩尔定律的暮色中,GPU 和其他硬件加快器极大地加快了神经收集的实习。可是,实习进程的前期阶段(如磁盘读写和数据预处理赏罚)并不在加快器上运行。跟着加快器的不绝改造,这些前期阶段所耗费的时刻将逐渐成为逊?з度的瓶颈。谷歌大脑团队提出了“数据回送(data echoing)”算法,它镌汰了实习前期阶段的总计较劲,并在加快器上游的计较占用实习时刻时加速逊?з度。“数据回送”复用实习前期阶段的中间输出,以操作闲置的计较空间。作者研究了在差异使命、差异数目的回送以及差异批尺寸时数据回送算法的示意。在全部的环境下,至少有一种数据回送算法可以用更少的上游计较到达模子的基线机能。在部门环境下,数据回送乃至可以将逊?з度晋升 4 倍。

1、弁言

在已往的十年中,神经收集的逊?з度获得了极大的晋升。研究职员可以或许行使更大的数据集实习更大的模子,并更快地试探新的设法,明显进步了模子的示意机能。跟着摩尔定律的失效,通用处理赏罚器的速率已经不能满意要求,但特定的加快器通过优化特定操纵获得明显的加快。譬喻,GPU 和 TPU 优化了高度并行的矩阵运算,而矩阵运算正是神经收集逊?с法的焦点构成部门。

然而,实习一个神经收集必要的不只仅是在加快器上运行的操纵。实习措施必要读取息争压缩实习数据,对其举办打乱(shuffle)、批处理赏罚,乃至转换或加强操纵。这些步调必要用到多个体系组件,包罗 CPU、磁盘、收集带宽和内存带宽。这些通用操纵涉及的组件太多,为它们计划专用的加快硬件是不切现实的。同时,加快器的改造远远高出了通用计较的改造,而且在加快器上运行的代码只占用整个实习时刻的一小部门。因此,假如想使神经收集实习地更快,有以下两个要领:(1)使非加快器事变地更快,或(2)镌汰非加快器所需的事变量。选项(1)也许必要大量的工程事变或技能试探,给体系增进太多的伟大性。因此,作者将重点放在选项(2)上,试探镌汰实习前期阶段的事变量的要领。

神经收集的实习进程可以看作是一个数据流程,必要对计较举办缓冲和重叠。譬喻,图 1 表现了小批次随机梯度降落(SGD)及其变体的典范实习流程,这是实习神经收集的尺度算法。实习措施起首读取息争码输入数据,然后对数据举办 shuffle,应用一组转换操纵来增进数据,并将数据分成差异批次。最后,通过迭代更新收集参数低落丧失函数值;此阶段称为“SGD 更新”。因为任何流程阶段的输出都可以缓冲,因此差异阶段的计较相互重叠,最慢的阶段将占用首要的实习时刻。

让神经收集逊?з度加速4倍!谷歌大脑团队提出“数据回送”算法

图 1 经典神经收集实习流程图

让神经收集逊?з度加速4倍!谷歌大脑团队提出“数据回送”算法

图 2 数据回送插入点的上游和下流的包围计较时刻

在这篇论文中,作者研究怎样通过镌汰实习前期部门的时刻来加快神经收集实习(图 2a)。作者将实习进程中第一部门的输出一再用于多个 SGD 更新,以操作空闲计较手段。这类算法称为 “数据回送”(data echoing),每此中间输出被行使的次数称为 回送因子(echoing factor)。

数据回送算法在实习流程中的某个位置(SGD 更新之前)插入一再阶段。假如上游使命(一再阶段之前)耗费的时刻高出下流使命(一再阶段之后)耗费的时刻,算法将接纳下流闲置的计较手段,并进步模子的 SGD 更新率(图 2b)。通过改变插入点、回送因子和 shuffle 水平,可以获得差异的数据回送算法。

要点

  1. 在差异的数据集和模子布局上,数据回送在取得竞争性示意的同时镌汰了上游计较劲;
  2. 支持大范畴的回送因子;
  3. 有用性取决于实习流程中的插入点;
  4. 数据回送可以从回送后的 shuffle 中获益;
  5. 数据回送与调优的基线模子取得沟通的错误率。
2 、数据回送

让神经收集逊?з度加速4倍!谷歌大脑团队提出“数据回送”算法

个中 tupstream 是回奉上游全部阶段所用的时刻,tdownstream 是回送下流全部阶段所用的时刻,e 是回送因子。假设 tupstream≥tdownstream,这是行使数据回送的首要念头。假如用 R=tupstream/tdownstream 暗示上下流处理赏罚时刻之比,那么完成一个上游步协调 e 个下流步调的时刻对付从 e 到 R 的全部回送因子都是沟通的。换句话说,特另外下流步调是“无耗损的”,由于它们行使的是空闲的下流计较手段。

行使数据回送时,镌汰的实习时刻取决于上游步协调下流步调之间的比重。一方面,因为一再数据的代价也许低于奇怪的数据,数据回送也许必要更多的下流 SGD 更新才气到达预期的示意。另一方面,每个下流步调只必要 1/e(而不是 1)个上游步调的时刻。假如下流步调增进的数目小于 e,上游步调的总数(以及总实习时刻)将镌汰。R 代表数据回送的最大也许加快,假如 e=R,而且一再数据和新数据代价沟通,则可以实现最大加快。

思量到实习进程中的每个操纵都必要一些时刻来执行,假如在 SGD 更新之前应用数据回送,R 能取最大值,但这将导致每个 epoch 多次行使统一批数据。然而,假如想在上游步协调下流步调之间找到更有利的衡量,更好的方法是较早的插入回送数据。

差异插入点的数据回送:

(编辑:河北网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读