2019-11-09 17:12

Google的新数据回显 技术加快了AI培训

导读诸如Google的Tensor处理单元和英特尔的Nervana神经网络处理器之类的 AI加速器硬件有望加快AI模型训练的速度,但是由于芯片的构建方式,训

诸如Google的Tensor处理单元和英特尔的Nervana神经网络处理器之类的 AI加速器硬件有望加快AI模型训练的速度,但是由于芯片的构建方式,训练流程的早期阶段(例如数据预处理)无法从提升中受益。这就是Google人工智能研究部门Google Brain的科学家在论文中提出一种称为“数据回显”的技术的原因,他们说这种技术通过重用这些阶段的中间输出来减少早期管道阶段所使用的计算量。

研究人员认为,性能最佳的数据回显算法可以使用较少的上游处理来匹配基线的预测性能,在某些情况下,可以补偿输入管线慢四倍的情况。

共同作者说:“训练神经网络不仅需要在加速器上运行良好的操作,因此,我们不能仅依靠加速器的改进就可以在所有情况下保持加速。” “训练程序可能需要读取和解压缩训练数据,对其进行随机整理,批量处理,甚至进行变换或扩充。这些步骤可能会涉及多个系统组件,包括CPU,磁盘,网络带宽和内存带宽。”

在典型的训练流水线中,AI系统首先读取和解码输入数据,然后对数据进行混洗,在将示例分成批处理并迭代更新参数以减少错误之前,应用一组转换对其进行扩充。研究人员的数据回显方法在管道中插入了一个阶段,该阶段在参数更新之前重复了前一阶段的输出数据,从理论上讲回收了空闲的计算能力。

在实验中,该团队使用在开源数据集上训练的AI模型,评估了两种语言建模任务,两项图像分类任务和一项对象检测任务上的数据回显。他们将培训时间作为达到目标指标所需的“新鲜”培训示例的数量进行了测量,并且他们调查了数据回显是否可以减少所需示例的数量。

共同作者报告说,除一种情况外,在所有情况下,数据回显都需要比基线更少的新示例,并且减少了培训。此外,他们注意到,较早的回声被插入到管道中(即,与批处理之后相比,在数据增强之前),需要的新鲜示例更少,并且回声偶尔在较大的批处理大小下表现更好。

该团队写道:“所有数据回显变量在这两个任务上均至少达到了与基线相同的性能……[这是一种简单的策略,可以在培训管道在上游阶段之一出现瓶颈时提高硬件利用率。” “数据回显是优化培训管道或增加额外的工作人员以执行上游数据处理的有效替代方法,但这并非总是可能或不希望的。