转载

OpenAI研究 人工智能训练如何扩展

我们发现梯度噪声量表是一种简单的统计指标,可预测神经网络训练在各种任务上的并行性。由于复杂的任务往往具有更嘈杂的梯度,因此越来越大的批量大小在未来可能会变得有用,从而消除了人工智能系统进一步发展的一个潜在限制。更广泛地说,这些结果表明,神经网络训练不必被视为一门神秘的艺术,而是可以严格化和系统化的。

在过去的几年里,人工智能研究人员在通过数据并行加速神经网络训练方面取得了越来越大的成功,数据并行将大量数据拆分到多台机器上。研究人员已经成功地将数万的批量大小用于 图像分类 和 语言建模,甚至数百万的批量大小用于  玩 Dota 2 游戏的RL 代理。这些大批量允许越来越多的计算量有效地投入到单个模型的训练中,并且是 AI 训练计算快速增长的重要推动力 。然而,过大的批处理大小显示出算法回报迅速递减,并且不清楚为什么这些限制对于某些任务来说更大而对其他任务更小。A[A]

与这项研究同时进行的一项补充  研究对大批量训练进行了细致的实验测试,并对以前的文献进行了广泛的审查,消除了早期工作中的许多不一致之处。他们发现任务之间并行性的可能性存在显着差异,而我们的工作似乎解释了这种差异的主要部分。他们的工作还表明,大批量训练不会影响泛化。我们相信,诸如本次调查和 其他调查之类的系统调查 对该领域具有难以置信的价值,我们致力于继续致力于“人工智能科学”。


梯度噪声尺度图

我们发现,通过测量梯度噪声尺度,一个简单的统计量可以量化网络梯度的信噪比[乙]

在训练神经网络时,我们通常  一次只处理一小批数据,这会给出真实网络梯度的噪声估计。我们发现 梯度噪声尺度 noise =E[| G - G|2] / | 真实2,其中期望接管单个数据点,估计最大有用的批量大小。当从大小为 B的批次计算梯度时,估计梯度和真实梯度之间的归一化距离由 E[| 给出。B - G2 /| G2 ] =  B噪声B增加B 停止显着降低梯度噪声的 点 发生在 =  noise周围,这也是训练速度增益逐渐减小的点。

,我们可以大致预测最大有用的批量大小。启发式地,噪声尺度测量模型看到的数据变化(在训练的给定阶段)。当噪声尺度较小时,并行查看大量数据很快变得多余,而当噪声尺度较大时,我们仍然可以从大批量数据中学到很多东西。

这种类型的统计广泛用于 样本  选择 ,并已被 提议 用于  深度 学习 ,但尚未针对现代训练运行进行系统测量或应用。我们针对上图所示的各种机器学习任务验证了这一预测,包括图像识别、语言建模、Atari 游戏和 Dota。具体来说,我们对所有这些任务进行了各种批量大小的训练(分别调整每个任务的学习率),并将训练中的加速与噪声尺度预测应该发生的情况进行了比较。由于大批量通常需要仔细且昂贵的调整或特殊的学习率计划才能有效,因此提前知道上限在训练新模型方面具有显着的实际优势。

我们发现,根据训练的墙时间和我们用于训练的总批量计算(与美元成本成正比)之间的权衡,可视化这些实验的结果很有帮助。在非常小的批量大小下,将批量加倍可以让我们在不使用额外计算的情况下将训练时间缩短一半(我们运行两倍的芯片数量减半)。在非常大的批量大小下,更多的并行化不会导致更快的训练。中间的曲线有一个“弯曲”,梯度噪声标度预测弯曲发生的位置。

经济上可行和技术上可行之间有重叠的基本比例图

我们通过设置性能水平(比如 Atari 游戏 Beam Rider 的分数为 1000)并查看在不同批量大小下训练到该性能需要多长时间来制作这些曲线。在性能目标的许多不同值上,结果与我们模型的预测相对接近。

达到给定分数所需的经验和训练时间之间的权衡是可以预测的。
smallerlargerBatch size 320
10⁴10⁵10⁶10⁷10⁸Score = 2,000Atari Beamrider: Pareto FrontsOptimization StepsGame Frames ProcessedLarge batch sizes become more useful later in training asthe noise scale increases.
10⁴10⁶10⁸10³10⁴Atari Beamrider: Training EfficiencyGame Frames ProcessedGame ScoreSmall batch sizes train most efficiently.
10²10³10⁴10⁵10³10⁴Atari Beamrider: Training SpeedOptimization StepsGame ScoreLarge batch sizes train most quickly.

梯度噪声标度中的模式

我们已经观察到梯度噪声尺度中的几种模式,这些模式提供了有关 AI 训练未来可能会发生什么的线索。

首先,在我们的实验中,噪声标度通常在训练过程中增加一个数量级或更多。直觉上,这意味着网络在训练的早期学习任务的更“明显”的特征,然后学习更复杂的特征。例如,在图像分类器的情况下,网络可能首先学习识别小规模特征,例如大多数图像中存在的边缘或纹理,然后才将这些部分组合成更一般的概念,例如猫和狗. 要看到各种各样的边缘或纹理,网络只需要看到少量图像,因此噪声尺度更小;一旦网络对更大的物体有了更多的了解,它就可以一次处理更多的图像而不会看到重复的数据。

我们看到一些 初步迹象表明 ,相同的效果适用于同一数据集上的不同模型——更强大的模型具有更高的梯度噪声尺度,但这只是因为它们实现了更低的损失。因此,有一些证据表明,训练过程中不断增加的噪声规模不仅仅是收敛的产物,而是因为模型变得更好而发生的。如果这是真的,那么我们期望未来更强大的模型具有更高的噪声标度,因此更可并行化。

其次,主观上难度更大的任务也更适合并行化。在监督学习的背景下,从 MNIST 到 SVHN,再到 ImageNet 有明显的进展。在强化学习的背景下,从 Atari Pong 到Dota 1v1 再到 Dota 5v5有明显的进展 ,最佳批量大小相差超过 10,000 倍。因此,随着 AI 推进到新的和更困难的任务,我们希望模型能够容忍更大的批量大小。

启示

数据并行度显着影响人工智能能力的发展速度。更快的训练使更强大的模型成为可能,并通过更快的迭代时间加速研究。

在早期的 人工智能和计算研究中,我们观察到用于训练最大 ML 模型的计算每 3.5 个月翻一番,我们注意到这一趋势是由经济学(愿意在计算上花钱)和并行化训练的算法能力。后一个因素(算法并行化能力)更难预测,其局限性也没有得到很好的理解,但我们目前的结果代表了朝着系统化和量化它迈出的一步。特别是,我们有证据表明,更困难的任务和针对同一任务的更强大的模型将允许比我们迄今为止看到的更激进的数据并行,为训练计算的持续快速指数增长提供关键驱动力。(这甚至没有考虑最近 模型并行性的进步,这可能允许在数据并行性之上进一步并行化)。

训练计算的持续增长及其明显可预测的算法基础,进一步凸显了未来几年人工智能能力快速提升的可能性,并强调了研究确保此类系统安全和负责任地使用  紧迫 。人工智能政策的一个核心挑战将是找出如何使用这样的措施来预测未来人工智能系统的特征,并利用这些知识来构思政策,让社会最大限度地发挥这些技术的优势,最大限度地减少这些技术的劣势。

OpenAI 致力于继续进行严格的分析,让我们对人工智能的未来有远见,并致力于解决这些分析提出的问题。

如果你想研究“AI 科学”并帮助我们使神经网络训练更加数据驱动,请考虑申请在 OpenAI 工作

脚注

  1. 与这项研究同时进行的一项补充  研究对大批量训练进行了细致的实验测试,并对以前的文献进行了广泛的审查,消除了早期工作中的许多不一致之处。他们发现任务之间并行性的可能性存在显着差异,而我们的工作似乎解释了这种差异的主要部分。他们的工作还表明,大批量训练不会影响泛化。我们相信,诸如本次调查和 其他调查之类的系统调查 对该领域具有难以置信的价值,我们致力于继续致力于“人工智能科学”。↩︎

  2. 在训练神经网络时,我们通常  一次只处理一小批数据,这会给出真实网络梯度的噪声估计。我们发现 梯度噪声尺度 noise =E[| G - G|2] / | 真实2,其中期望接管单个数据点,估计最大有用的批量大小。当从大小为 B的批次计算梯度时,估计梯度和真实梯度之间的归一化距离由 E[| 给出。B - G2 /| G2 ] =  B噪声B增加B 停止显着降低梯度噪声的 点 发生在 =  noise周围,这也是训练速度增益逐渐减小的点。↩︎