来源:人工智能和大数据 算法
在机器智能向更大的深度神经网络发展的过程当中,训练效率将成为Graphcore Research在2021年的重点工做。数组
大型、过参数化模型的训练不断展示出改进的训练和泛化性能。事实上,在许多领域,较大的模型样本效率更高。这意味着应该将更多的计算预算用于更大的模型训练,而非更多的迭代训练(Kaplan et al., 2020[1]; Henighan et al., 2020[2])。网络
大规模的训练效率可以进一步提升任务性能,同时下降计算成本和功耗。架构
在2020年,咱们在和效率有关的研究领域取得了许多进展,包括算术效率、存储有效训练以及分布式训练的有效实施。此外,咱们还继续推动了关于几率建模的研究,并在计算机视觉和语言的有效深度架构的研究工做中取得了重大进展。机器学习
本文将探讨咱们在接下来一年的研究方向。这些研究方向和训练效率有关。咱们也会考虑并行训练的新机遇,包括在NeurIPS 2020上发布的咱们有关随机基[3]的研究成果(Gressmann et al., 2020[4]),以及咱们与加州大学伯克利分校(UC Berkeley)和Google Research进行的本地并行性的研究(Laskin, Metz et al., 2020[5])。异步
随机学习的优化分布式
在深度神经网络训练过程当中减小存储实施的寻址技术也将是一个重点。有效学习在很大程度上取决于新算法和用于随机优化的新标准化技术的发展,这些技术和方法能够实现训练的稳定性以及小批次训练的泛化。性能
针对深度学习和计算图网络的新高效模型 学习
经过设计针对不一样应用的新处理功能和构建块来提升深度模型的训练性能和计算效率,对无监督或自我监督的预训练以及对下游任务的有监督微调相当重要。大数据
在咱们的研究中,咱们将继续考虑诸如计算机视觉和天然语言理解之类的基础性应用,同时也把基于计算图网络的应用(包括基因组学和推荐系统)做为目标。
稀疏训练
稀疏训练可以使得人工智能从业者减小大型过参数化模型的计算足迹和功耗,其目标是可以训练超出当前可行的更大模型。
在训练结束时对密集模型进行剪枝或在训练过程当中逐渐增长稀疏度,使得研究人员能够减少用于推理的模型尺寸。可是,至少在整个训练持续时间的部分过程当中,这些方法仍然受到全模型尺寸的计算和存储要求的限制。
经过基于初始化时的深层网络剪枝的方法可减小计算和存储需求,而后再对所得的剪枝后的子网络进行训练(Hayou et al., 2020[6])。可是,在训练过程当中保持固定稀疏模式的静态稀疏训练,一般对应着较差的任务性能。
经过在训练期间按期更改稀疏模式来探索大型模型的高维参数空间,动态稀疏训练能够提升任务性能,从而把与稀疏子网络相关的计算成本和功耗维持在更低水平(Evci et al., 2019[7]; Jayakumar et al., 2020[8])。
有效利用动态稀疏训练,而且在向前和向后传递时都具备很高的稀疏性,这将为创新者提供训练过参数化的深度网络的机会,而这些网络比当今可训练的最大模型还要大(Jayakumar et al., 2020[8])。
并行训练的新方向
为了减小训练大型过参数化模型所需的时间,依靠大量处理器上的有效实施来研究大规模分布式训练的优化算法是很是必要的。
一般,经过在多个模型副本上进行数据并行性来得到更快的训练,每一个模型副本都处理随机优化算法的一个微小批次的一部分数据。数据并行训练可经过增长批尺寸来提升吞吐量。可是,在训练时间随批尺寸和处理器数量而变化的初始区域以后,继续增长批尺寸就会达到饱和区域。在饱和区域里,增长并行性没法实现进一步加速(Shallue et al., 2018[9])。
随着数据并行性模型尺寸的增长,每一个模型副本又能够基于流水线并行性在多个处理器上实施,其中每一个副本的各个层被分红流水线的各个阶段。对于大型模型,能够经过在多个处理器上的基本模型并行性进一步划分每一个阶段的多个层。流水线并行性提升了吞吐量,与此同时,批尺寸的增长带来流水线阶段数的增长,从而实现加速。所以,对于仍容许训练的最大批尺寸,使用流水线并行性能够减小总体批尺寸中用于数据并行性的那一部分(Huang et al., 2018[10])。
咱们正在考虑新的并行处理方法,来进行大型模型的有效分布式训练。
随机基
在少许维度上探索较大的参数空间能够下降训练过参数化模型的成本。这种方法的研究方式以下:经过限制随机方向的一个小子集上的梯度降低,随机选择一个低维权重子空间,而后在整个训练过程当中将其保持固定(Li et al., 2018[11])。
咱们最近的研究[12](Gressmann et al., 2020[13])发现,经过在低维随机基中进行训练以及在训练过程当中从新绘制随机方向来探索参数空间,能够得到比之前的研究更好的学习效果。
经过在多个处理器上的并行性以及由不一样节点为不一样的随机投影计算梯度,能够进一步加速对随机子空间的训练。经过这种实施方式,仅经过传递低维梯度向量和投影的随机种子就能够交换梯度。这将随着处理器数量的增长,带来训练的线性加速。
本地并行性
训练过程当中向后顺序处理和连续层参数更新(向后锁定)均极大地阻碍了基于反向传播的并行训练。经过基于本地目标分别更新模型的不一样块,本地并行性能够解决这些挑战。基于贪心本地更新(Belilovsky et al., 2019[14]; Lowe et al., 2019[15])或重复的本地更新(Xiong et al., 2020[16]),经过监督学习或自我监督表示学习能够实现本地优化。
使用本地并行性能够提升吞吐量,并与流水线并行性同样,扩展并行节点上的处理,而无需同时增长微小批次的尺寸,而后能够将其彻底用于数据并行性。正如咱们最近与加州大学伯克利分校和Google Research的合做研究证实,本地并行性在高计算状态中特别有效(Laskin, Metz et al., 2020[17])。
多模型训练
在多个节点上扩展训练的一种直接且有吸引力的方法是训练一组深层网络的总体,而不是单个较大的网络。与数据并行训练相比,深度集成(Deep Ensembles)的使用(Kondratyuk et al., 2020[18]; Lobacheva et al., 2020[19])消除了模型副本之间进行任何通讯的需求。研究证实,深度集成能够在相同的计算成本下具有更高的准确性,而且比训练大型模型更有效(Kondratyuk et al., 2020[18])。此外,集成能够探索非凸优化景观的不一样模式,而且能够提供通过良好校准的预测性不肯定性估计。
深度集成也常见于近似贝叶斯边际化,或者贝叶斯模型均值的实用机制中(Wilson & Izmailov, 2020[20])。
Codistillation(共蒸馏)提供了另外一种有效的方法来训练多个深度模型以代替单个较大的模型(Zhang et al., 2017[21]; Anil et al., 2018[22]; Sodhani et al., 2020[23])。共蒸馏的目的是经过按期共享各自的预测,训练多个网络学习相同的输入映射和输出映射。研究代表,在使用其余模型的过期预测时,该方法能够接受异步执行。在集成的状况下,必须在训练后对各个模型的预测求平均值。相比之下,在共蒸馏中只有一个阶段,即对全部模型进行训练以作出相同的预测。
条件稀疏计算
深度学习的条件计算能够做为专家的深度混合加以实施,其稀疏门控机制仅根据输入便可激活整个网络的某些计算块(Shazeer et al., 2017[24]; Lepikhin et al., 2020[25])。
这种方法可显著增长固定计算成本下训练的模型的总体大小,而这取决于单个模型中处理块的指数组合(Wang et al., 2018[26])。
在训练期间,经过对整个大型网络的不一样部分进行门控选择,该模型能够在减小计算负载和低存储带宽的状况下,学习计算块与特定输入或任务之间的关联。而后,该方法使经过基于输入动态选择和执行网络的不一样部分来解决下游任务成为可能。
研究代表,整个训练后的稀疏门控模型尺寸的增长与任务性能的提高相对应,而计算成本则与相对较小百分比例的参数总数相对应。
2021年的人工智能研究
展望人工智能研究的下一个关键阶段,为基础性深度学习应用(例如图像处理和天然语言处理)和基于计算图网络的领域(包括蛋白质工程、药物研发和推荐系统)探索新的突破性方法都是很是振奋人心的工做。
这些创新方法的成功将取决于Graphcore IPU等新型处理器的计算能力和灵活性的进一步提高,以便为大规模、有效的机器学习提供全新的方向。
将来智能实验室的主要工做包括:创建AI智能系统智商评测体系,开展世界人工智能智商评测;开展互联网(城市)云脑研究计划,构建互联网(城市)云脑技术和企业图谱,为提高企业,行业与城市的智能水平服务。
若是您对实验室的研究感兴趣,欢迎加入将来智能实验室线上平台。扫描如下二维码或点击本文左下角“阅读原文”