当前位置: 首页 > 科技观察

谷歌大脑新算法,不折腾TPU就能加快AI训练速度

时间:2023-03-19 01:03:03 科技观察

GoogleBrain的新算法可以在不使用TPU的情况下加速AI训练。训练神经网络,硬件一定要过硬?现在谷歌给出了强烈反驳。像谷歌的TPU这样的GPU和硬件加速器大大加快了神经网络的训练速度,推动了AI的快速成长,在各个领域发挥超能力。然而,硬件的发展再快,也总有力不从心的时候。例如,由于芯片的架构方式,数据预处理等训练管道的早期阶段无法从硬件加速器改进中获益。谷歌大脑的科学家们不希望看到算法约束硬件,因此他们开发了一种名为“数据回声”的新技术。加快神经网络训练速度,这次不用折腾半导体了。DataEchoing黑科技新加速方式的核心是减少训练流水线前期消耗的时间。根据经典的训练流程,AI系统首先读取并解码输入数据,然后对数据进行洗牌,应用变换来扩充数据,然后将样本收集到批次中,迭代更新参数以减少错误。而DataEchoing是在pipeline中插入一个stage,在更新参数之前重复上一个stage的输出数据,理论上可以回收闲置的算力。如果复制数据的开销可以忽略不计,并且回显两边的stages是并行执行的,那么数据回放完成一个上游步骤和e个下游步骤的平均时间为:假设上游步骤大于等于到下游步骤花费的时间随着时间的推移,您会发??现额外的下游步骤是“免费的”,因为它们利用了空闲的下游容量。通过数据回显缩短训练时间的关键在于上游和下游步骤之间的权衡。一方面,重复数据的值可能低于新数据的值,因此数据回显需要更多的下游SGD(随机梯度下降)更新才能达到预期的性能。另一方面,数据回显中的每个下游步骤只需要1/e个上游步骤。如果重放因子增加的下游步骤数小于e,则上游步骤总数减少,总训练时间减少。需要注意的是,有两个因素会影响数据在不同插入点回显的性能:批处理之前的回显意味着数据在样本级别而不是批次级别进行重复和打乱是的,这增加了相邻批次不同的可能性,以批次内可能出现的重复样本为代价。数据扩充前回放通过数据扩充前回放,可以对重复数据进行不同的转换,使重复数据更像新数据。它是如何工作的?研究小组用这种方法进行了实验。他们选择了两项语言模型任务、两项图像识别任务和一项目标检测任务。人工智能模型是用开源数据集训练的。实验中,“新”训练样本(训练样本从磁盘中读取,视为新样本)达到指定目标的时间作为训练时长。同时,研究人员还将调查数据呼应是否减少了所需的样本量。除了使用ImageNet训练的ResNet-50之外,数据回显比基线方法更有效。并且在管道中更早地插入回显将需要更少的新样本进行训练。并且随着batchsize的增加,数据回显相对于baseline方法的提升会更加明显。摩尔定律的曙光随着摩尔定律走向终结,依靠芯片制造技术的突破来提升人工智能的计算能力变得越来越困难。虽然有硬件加速器,但CPU等通用处理器仍然成为神经网络训练的核心。进一步提高速度的绊脚石。寻找另一种方法来突破算法性能的重围正在变得新性感。论文地址:https://arxiv.org/abs/1907.05550