博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
OpenAI披露最新研究成果:AI训练如何扩展到更大规模?
阅读量:6157 次
发布时间:2019-06-21

本文共 2809 字,大约阅读时间需要 9 分钟。

我们发现,梯度噪声尺度(gradient noise scale),作为一种简单的统计量,可以预测神经网络训练在诸多任务上的并行性。由于复杂的任务往往具有更强噪声的梯度,因此增长的大批次规模可能在未来变得更加有用,也消除了AI系统进一步发展的一个潜在限制。更广泛地说,这些结果表明,神经网络训练并不需要被看成一门神秘的艺术,而是可以得到严格的规范化和系统化。

在过去几年内,AI研究人员采用数据并行化技术——将大批次数据分散到很多台机器上,在加速神经网络训练方面不断取得成功。研究人员成功地使用成千上万个批次进行和,甚至使用数百万个批次训练来玩Dota2游戏。这些大批次使单个模型的训练中能够具有越来越多的计算量,成为AI训练快速增长的重要推动者。然而,过大的批次规模呈现出算法回报快速降低的情况,而且不清楚为什么对某些任务来说这些限制过大,而对其他任务来说这些限制又过小。

\"image\"

梯度噪声尺度(基于训练的近似平均)解释了跨六个数量级的一系列任务中关键批次大小的绝大多数变化(r^2 = 80%)。批次大小采用图像、令牌(用于语言模型)、或观察值(用于游戏)的数量来衡量。

我们发现,通过测量梯度噪声尺度——一个可用于量化网络梯度信噪比的简单统计量,我们可以近似预测最有效的批次大小。受其启发,噪声尺度度量了数据中能够被模型观测到的变化(在给定的训练阶段)。当噪声尺度小时,快速地并行查看大量数据变得冗余;而当噪声尺度大时,我们仍能够从大批次的数据中学到很多信息。

这种类型的统计量被广泛应用于,并被,但是还没有被系统地度量或应用于现代模型训练运行。我们在上图所示各种机器学习任务上验证了这种预测,包括图像识别、Atari游戏和Dota。具体来说,我们在这些任务中采用各种批次大小进行训练(每个任务单独调整学习率),并将训练加速与噪声尺度预测出来的结果进行比较。由于大批量通常需要仔细昂贵的调整或特殊的学习率规划才能有效,因此提前预知上限给训练新模型提供了重大的实践价值。

我们发现,训练的挂钟时间和用于训练的总体计算量(与美元成本成比例)之间的折中对比,有助于可视化这些实验结果。在非常小的批次大小情形中,增大一倍的批次大小能减半训练时间的同时不带来额外的计算(用一半的时长跑两倍的数据)。在非常大的批次大小情形中,更多的并行化并不会导致更快的训练。曲线的中间有一个“拐弯”,而梯度噪声尺度预测了拐弯发生的位置。

\"image\"

提高并行度使得在合理的时间内训练更复杂的模型成为可能。我们发现Pareto前沿图是可视化算法与尺度之间的比较的最直观方式。

我们通过设置性能水平(如Beam Rider的Atari游戏中的得分为1000),制作了这些曲线,查看不同批次大小下训练达到该性能所需要的时间。这些结果与我们的模型预测结果,在大量不同性能目标值情况下,都匹配地相当好。

达到给定分数所需的经验和训练时间之间的折中是可以预测的。

\"image\"

梯度噪声尺度中的模式

在梯度噪声尺度中,我们观测到了几种模式,从而为AI训练未来可能有的样子提供了一些线索。

首先,在我们的实验中,噪声尺度通常在训练过程中增加一个数量级或更多。直观地说,这意味着,网络在训练早期会从任务中学习更“明显”的特征,而在后期学习更加复杂的特征。例如,在图像分类情形中,网络首先可能学习识别小尺度的特征,如大多数图像中呈现的边缘或纹理;而在后期才将这些片段组合成更一般的概念,如猫和狗。为了看到全量的边缘或纹理,网络只需要看少量的图像,因此噪声尺度更小;一旦网络对更大的对象有了更多的理解,它就能够处理更多的图像而不需要看重复的数据。

一些表明,这样的效果也发生在同一数据集上的不同模型上:更强大的模型有着更高的梯度噪声尺度,而这仅仅是因为它们进一步减少了损失。因此,有证据表明,训练过程中增加的噪声尺度不只是一个人为收敛假象,而是由于模型变得更好导致的。如果这是真的,那么我们期望,未来更强大的模型具有更高的噪声尺度,因而也更加可并行化。

其次,主观上更困难的任务也更易于并行化。在有监督学习场景中,从MNIST到SVHN,到ImageNet都有明显的进步。在强化学习场景中,从Atari Pong到Dota 1v1,到Dota 5v5也有明显的进步,其中最优批次大小相差10,000倍以上。因此,随着AI发展至处理新的和更困难的任务,我们期望模型能够容忍更高的批次大小。

启发

数据并行度显著影响了AI能力的前进速度。更快的训练使得构建更强大的模型成为可能,并通过更快的迭代来加速研究。

在更早的的研究中,我们观察到,用于训练最大的机器学习模型的计算,每3.5个月翻一番;这种趋势是由经济学(肯花多少钱用于计算)以及算法并行训练的能力共同驱动的。后一个因素(算法的可并行化能力)更难以预测,其限制也没有得到很好地理解,而我们当前的研究成果则是朝着系统化和量化它前进了一步。特别是,我们有证据表明,更加复杂的任务和相同任务上更加强大的模型,将容许比我们迄今所看到的更激进的数据并行性,从而为训练计算的持续快速指数级增长提供关键的驱动力(这甚至还没有考虑最近,它有可能在数据并行化之上考虑更进一步的并行化)。

训练计算的持续增长以及可预测的算法基础,进一步突出了未来几年AI能力快速增长的可能性,也强调了研究以及的紧迫性。AI政策的一个核心挑战是,如何使用像这样的度量来预测未来AI系统的特点,并使用这些知识来构思相应的政策让社会最大化AI技术的正面影响和最小化它们的负面影响。

OpenAI致力于,继续严格分析使我们对AI的未来有所预见,并采取措施解决分析出来的问题。

如果你想学习“AI科学”,并帮助我们实现更加数据驱动的神经网络训练,请考虑申请

[1] 与本文平行的一份补充,对大批次训练进行了细致的实验测试,并对之前的文献进行了全面的回顾,清理了早期工作中诸多不一致的地方。他们发现,潜在的并行性在任务之间存在显著差异,我们的工作似乎解释了这种差异的主要部分。他们的工作也建议,大批次训练不会影响泛化能力。我们相信本文和中的系统调研对这个领域非常有价值,我们也会致力于继续研究“AI科学”。

[2] 训练神经网络的时候,我们通常每次只处理一小批数据,给出真实网络梯度的有噪估计。我们发现,梯度噪声尺度Bnoise = E[|G-Gtrue|^2] / |Gtrue|^2(其中,期望是基于单个数据点),估计了最有效的批次大小。当基于批次大小B计算梯度时,估计梯度和真实梯度之间的归一化距离是E[|GB - Gtrue|^2 / |Gtrue|^2] = Bnoise / B。不断增加B,梯度噪声停止下降的点显著发生在B=Bnoise附近,而这个点也是训练速度增益逐渐减小的点。

查看英文原文:How AI Training Scales()

更多内容,请关注 AI前线

\"image\"

转载地址:http://jqbfa.baihongyu.com/

你可能感兴趣的文章
must implement java.io.Serializable hessian
查看>>
Microsoft Licenses Flash Lite for Windows Mobile Users
查看>>
HDOJ 2020 绝对值排序
查看>>
HDOJ/HDU 2560 Buildings(嗯~水题)
查看>>
Maven编译时跳过Test
查看>>
Spring Boot 整合Spring Security 和Swagger2 遇到的问题小结
查看>>
[20170628]12C ORA-54032.txt
查看>>
linux运维人员的成功面试总结案例分享
查看>>
Windows DHCP Server基于MAC地址过滤客户端请求实现IP地址的分配
查看>>
命令查询每个文件文件数
查看>>
《跟阿铭学Linux》第8章 文档的压缩与打包:课后习题与答案
查看>>
RAC表决磁盘管理和维护
查看>>
Apache通过mod_php5支持PHP
查看>>
发布一个TCP 吞吐性能测试小工具
查看>>
java学习:jdbc连接示例
查看>>
PHP执行批量mysql语句
查看>>
Extjs4.1.x 框架搭建 采用Application动态按需加载MVC各模块
查看>>
Silverlight 如何手动打包xap
查看>>
建筑电气暖通给排水协作流程
查看>>
JavaScript面向对象编程深入分析(2)
查看>>