Python 还能承担下一个时代的发展重任吗?Mojo 语言的横空出世对 AI 研发生态有什么影响? 了解详情
写点什么

OpenAI 披露最新研究成果:AI 训练如何扩展到更大规模?

  • 2019-02-26
  • 本文字数:2816 字

    阅读完需:约 9 分钟

OpenAI披露最新研究成果:AI训练如何扩展到更大规模?

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


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



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


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


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


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



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


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


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



随着噪声尺度增加,大批次在训练后期变得更加有用。小批次训练最有效。大批次训练最快。

梯度噪声尺度中的模式

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


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


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


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

启发

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


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


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


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


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


[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(https://blog.openai.com/science-of-ai/


更多内容,请关注 AI 前线



2019-02-26 08:003543

评论

发布
暂无评论
发现更多内容

已膜拜,GitHub大佬的微服务资源库太强了,每份学习手册都优质详细

做梦都在改BUG

Java Kubernetes 微服务 Spring Cloud Spring Boot

软件测试/测试开发丨Web自动化 option 常用操作headless无头浏览器

测试人

程序员 软件测试 自动化测试 测试开发

MySQL踩坑笔记,加了唯一索引还会出现重复数据?

Java你猿哥

Java MySQL sql ssm 索引

DMG镜像制作软件:DMG Canvas 激活版

真大的脸盆

Mac Mac 软件 镜像文件制作工具 镜像文件管理

从2000ms缩短到50ms,亿级ES数据搜索性能调优实践

Java你猿哥

Java elasticsearch ELK ssm ES

基于数据驱动 U-Net 模型的大气污染物扩散快速预测,提升计算速度近6000倍

飞桨PaddlePaddle

人工智能 深度学习 百度飞桨

软件测试 |JMeter怎样引用函数和变量

测吧(北京)科技有限公司

测试

万众瞩目的Nautilus Chain即将上线主网,生态正式起航

鳄鱼视界

揭秘!为何阿里P8亲身经历撰写的架构师核心笔记竟如此成功

Java你猿哥

Java 领域驱动设计 软件架构 架构师 分布式架构

你了解LED显示屏的安装方式吗?

Dylan

安装 LED LED显示屏

Cornerstone永久激活版 SVN管理工具Mac版

魔仙苹果mac堡

mac软件下载 SVN管理工具 cornerstone 4 破解版 cornerstone 4许可 cornerstone 4下载

软件测试 | JMeter函数和变量

测吧(北京)科技有限公司

测试

完美!啃透P9大佬这份完整版的《并发编程宝典》,成为Offer收割机

做梦都在改BUG

Java 并发编程 高并发

RocketMQ 顺序消费机制

Java你猿哥

Java RocketMQ 获取 topic等信息 ssm

ClickHouse进阶|如何自研一款企业级高性能网关组件?

字节跳动数据平台

数据库 字节跳动 Clickhouse 企业网关

CleanMyMac闪退怎么办?解决CleanMyMac X闪退

魔仙苹果mac堡

mac系统清理优化软件 CleanMyMac下载 CleanMyMac闪退 CleanMyMac最新版

Mac电脑Photoshop 2023 Beta版完美解锁!打字生成图像,Ai绘图功能版!

魔仙苹果mac堡

Ps最新版下载 Photoshop2023破解 Ai绘图

StampedLock:高并发场景下一种比读写锁更快的锁

华为云开发者联盟

开发 华为云 华为云开发者联盟 企业号 5 月 PK 榜

基于Spring Boot+VUE Java小程序商城项目(附源码),接私活利器

Java你猿哥

Java 小程序 源码 Spring Boot Vue

mac专业矢量绘图设计Sketchv96.3中文激活版

魔仙苹果mac堡

Sketch中文版 Sketch最新版 Sketch破解 Mac矢量图设计

史上最全MySQL各种锁详解

Java你猿哥

MySQL 乐观锁 悲观锁 事务/行级锁

软件测试 | 应用程序签名机制实现的源代码分析

测吧(北京)科技有限公司

测试

软件测试中的维恩图详解

测吧(北京)科技有限公司

测试

Python实现KNN算法

TiAmo

算法 决策 KNN算法

2023年互联网Java工程师高级面试八股文汇总(1260道题目附解析)

Java你猿哥

MySQL redis Spring Boot mybatis 多线程

科兴未来|深圳创新创业大赛开始啦!

科兴未来News

企业 深圳 #双创赛事# 新能源行业 深创赛

简洁高效:Java代码中If-Else结构的优化实践与技巧

xfgg

Java 代码优化

OpenHarmony 3.2 Release新特性解读之驱动HCS

OpenHarmony开发者

OpenHarmony

软件测试 | 软件开发的几个阶段

测吧(北京)科技有限公司

测试

软件测试 | 测试贯穿整个项目流程

测吧(北京)科技有限公司

测试

破防了!阿里大佬DDD(领域驱动设计)不破不立,GitHub直接霸榜

Java你猿哥

Java 领域驱动设计 DDD ssm 领域驱动

  • 扫码加入 InfoQ 开发者交流群
OpenAI披露最新研究成果:AI训练如何扩展到更大规模?_语言 & 开发_Sam Mccandlish_InfoQ精选文章