训大模型讲究「化劲」!陶大程带队:一文打尽「高效训练」方案,别再说硬件是唯一瓶颈
深度学习领域已经取得了阶段性重大进展,特别是在计算机视觉、自然语言处理和语音等方面,使用大数据训练得到的大规模模型对于实际应用、提高工业生产力和促进社会发展具有巨大的前景。
不过大模型也需要大算力才能训得动,随着人们对计算能力要求的不断提高,尽管已有许多研究探索高效的训练方法,但仍然没有对深度学习模型加速技术的全面综述。
最近,来自悉尼大学、中国科学技术大学等机构的研究人员发布了一篇综述,全面总结了大规模深度学习模型的高效训练技术,展现了训练过程中的各个组件内的通用机制。
论文链接:https://arxiv.org/pdf/2304.03589.pdf
研究人员考虑了最基本的权重更新公式,并将其基本组成部分划分为五个主要方面:
1、以数据为中心(data-centric),包括数据集正则化、数据采样和以数据为中心的课程学习技术,可以显著降低数据样本的计算复杂性;
2、以模型为中心(model-centric),包括基本模块的加速、压缩训练、模型初始化和以模型为中心的课程学习技术,侧重于通过减少参数计算来加速训练;
3、以优化为中心(optimization-centric),包括学习率的选择、使用大batch size、高效目标函数的设计、模型加权平均技术等;侧重于训练策略以提高大规模模型的通用性;
4、预算训练(budgeted training),包括一些在硬件受限的情况下使用的加速技术;
5、以系统为中心(system-centric),包括一些高效的分布式框架和开源库,为加速算法的实现提供足够的硬件支持。
以数据为中心的高效训练
最近,大规模模型的进展大放异彩,而其对数据集的要求却急剧增加。巨大的数据样本被用来驱动训练过程并取得出色的性能。因此,以数据为中心的研究对实际加速至关重要。
数据处理(data processing)的基本作用是在不额外增加标注成本的情况下,高效地增加数据样本的多样性;由于数据标注的成本往往过于昂贵,部分开发机构无法负担,也凸显了以数据为中心领域的研究的重要性;同时,数据处理还注重提高数据样本的并行加载效率。
研究人员将所有这些对数据的高效处理称为「以数据为中心」(data-centric)的方法,可以显著提高训练大规模模型的性能。
文中从以下几个方面回顾和研究技术:
数据正则化 Data Regularization
数据正则化是一种预处理技术,通过一系列的数据变换来增强原始数据样本的多样性,可以提高训练样本在特征空间中的等效表示,不需要额外的标签信息的要求。
高效的数据正则化方法在训练过程中被广泛使用,能够显著提高大规模模型的泛化性能。
数据采样 Data sampling
数据采样也是一种有效的方法,从大批量的样本中选择一个子集来对梯度进行更新,它的好处是以小批量的训练的方式,可以减少当前批次中那些不重要的或不好样本的影响。
通常情况下,采样出来的数据是更重要的,性能与使用全批次训练得到的模型相当;每次迭代的概率需要随着训练过程逐渐调整,以确保采样没有偏差。
以数据为中心的课程学习 Data-centric Curriculum Learning
课程学习在训练过程的不同阶段研究渐进的训练设置,以减少整体的计算成本。
在开始的时候,使用低质量的数据集训练足以学习低层次的特征;然后使用高质量的数据集(更多的增强和复杂的预处理方法)逐渐帮助学习复杂的特征,并达到与使用整个训练集相同的精度。
以模型为中心的高效训练
设计高效的模型架构始终是深度学习领域最重要的研究之一,一个优秀的模型应当是一个高效的特征提取器,可以投射到容易分离的高级特征中。
与其他特别关注高效、新颖的模型架构的工作不同,这篇论文在「以模型为中心」的研究中更加关注通用模块的等价替代方案,在具有可比性的情况下实现更高的训练效率。
几乎所有的大型模型都是由小模块或层组成的,所以对模型的调研可以为高效训练大规模模型提供指导作用,研究人员主要从以下几个方面研究:
架构效率 Architecture Efficiency
随着深度模型中参数量的急剧增加,也带来了巨大的计算消耗,所以需要实现一个高效的替代方案来近似原始版本的模型架构的性能,这个方向也逐渐受到学术界的重视;这种替换不仅仅是数值计算的近似,还包括深度模型中的结构简化和融合。
研究人员根据不同的架构来区分现有的加速技术,并展示了一些观察和结论。
压缩训练效率 Compression Training Efficiency
压缩一直是计算加速的研究方向之一,在数字信号处理(多媒体计算/图像处理)中起着关键作用。
传统的压缩包括两个主要分支:量化和稀疏,文中详细说明了二者现有的成就和对深度训练的贡献。
初始化效率 Initialization Efficiency
模型参数的初始化在现有的理论分析和实际场景中都是一个非常重要的因素。
一个不好的初始化状态甚至会导致整个训练在早期的训练阶段崩溃和停滞,而一个好的初始化状态则有助于在一个平滑的损失范围内加快整个收敛的速度,文中主要从模型初始化的角度研究评估和算法设计。
以模型为中心的课程学习 Model-centric Curriculum Learning
从以模型为中心的角度来看,课程学习通常从大规模模型中的一个小模型或部分参数开始训练,然后逐渐恢复到整个架构;在加速训练过程中显示了较大优势,并且没有明显的负面效应,文中回顾了该方法在训练过程中的实现和效率。
以优化为中心的高效学习
优化方法的加速方案一直是机器学习领域的一个重要研究方向,在实现最优条件的同时降低复杂性一直是学术界追求的目标。
近年来,高效、强大的优化方法在训练深度神经网络方面取得了重要突破,作为机器学习中广泛使用的基本优化器,SGD类的优化器成功地帮助深度模型实现各种实际应用,不过随着问题的日益复杂,SGD更容易陷入局部最小值,无法稳定地泛化。
为了解决这些困难,Adam及其变种被提出来,在更新上引入自适应性,这种做法在大规模的网络训练中取得了良好的效果,例如在BERT、Transformer和ViT模型中都有应用。
除了所设计的优化器的自身性能外,对加速训练技术的组合也很重要。
研究人员基于优化的角度,将目前对加速训练的思考总结为以下几个方面:
学习率 Learning rate
学习率是非凸优化的一个重要的超参数,在当前的深度网络训练中也是至关重要的,像Adam及其变种这样的自适应方法,已经成功地在深度模型上取得了卓越的进展。
一些基于高阶梯度的调整学习率的策略也有效地实现了加速训练,学习率衰减的实现也会影响到训练过程中的性能。
大批尺寸 Large batchsize
采用更大的批处理量将有效地提高训练效率,能够直接减少完成一个epoch训练所需的迭代次数;在样本总量固定的情况下,处理一个更大的批尺寸比处理多个小批尺寸的样本来说消耗更低,因为可以提高内存利用率和降低通信瓶颈。
高效的目标 Efficient objective
最基础的ERM在最小化问题上起到关键作用,使得许多任务得以实际运用。
随着对大型网络研究的深入,一些作品更加关注优化和泛化之间的差距,并提出有效的目标以减少测试误差;从不同的角度解释泛化的重要性,并在训练中对其进行联合优化,可以大大加快测试的准确性。
加权平均 Averaged weights
加权平均是一种实用的技术,可以增强模型的通用性,因为考虑的是历史状态的加权平均,有一组冻结的或可学习的系数,可以大大加快训练进程。
预算化高效训练
最近有几项工作专注于用较少的资源训练深度学习模型,并且尽可能地实现更高的精度。
这类问题被定义为预算训练(budgeted training),即在给定的预算(对可测量成本的限制)下进行训练,以实现最高的模型性能。
为了系统地考虑硬件支持以接近真实情况,研究人员将预算训练定义为在给定的设备和有限的时间内进行训练,例如,在单个低端深度学习服务器上训练一天,以获得具有最佳性能的模型。
对预算内训练的研究可以阐明如何制作预算内训练的训练配方,包括决定模型大小、模型结构、学习率安排和其他几个影响性能的可调整因素的配置,以及结合适合可用预算的高效训练技术,文中主要回顾了预算训练的几项先进技术。
以系统为中心的高效训练
以系统为中心的研究就是为所设计的算法提供具体的实现方法,研究的是能够真正实现高效训练的硬件的有效和实际执行。
研究人员重点关注通用计算设备的实现,例如多节点集群中的CPU和GPU设备,从硬件的角度解决设计算法中的潜在冲突是关注的核心。
文中主要回顾了现有框架和第三方库中的硬件实现技术,这些技术有效地支持了数据、模型和优化的处理,并介绍一些现有的开源平台,为模型的建立、有效利用数据进行训练、混合精度训练和分布式训练提供了坚实的框架。
以系统为中心的数据效率 System-centric Data Efficiency
高效的数据处理和数据并行是系统实现中的两个重要关注点。
随着数据量的快速增加,低效的数据处理逐渐成为训练效率的瓶颈,尤其是在多节点上的大规模训练,设计更多对硬件友好的计算方法和并行化可以有效避免训练中的时间浪费。
以系统为中心的模型效率 System-centric Model Efficiency
随着模型参数数量的急剧扩大,从模型角度看,系统效率已经成为重要的瓶颈之一,大规模模型的存储和计算效率给硬件实现带来巨大挑战。
文中主要回顾如何实现部署的高效I/O和模型并行的精简实现,以加快实际训练的速度。
以系统为中心的优化效率 System-centric Optimization Efficiency
优化过程代表了每个迭代中的反向传播和更新,也是训练中最耗时的计算,因此以系统为中心的优化的实现直接决定了训练的效率。
为了清楚地解读系统优化的特点,文中重点关注不同计算阶段的效率,并回顾每个过程的改进。
开源框架 Open Source Frameworks
高效的开源框架可以促进训练,作为嫁接(grafting)算法设计和硬件支持的桥梁,研究人员调查了一系列开源框架,并分析了每个设计的优势和劣势。
结论
研究人员回顾了有效训练大规模深度学习模型的通用训练加速技术,考虑了梯度更新公式中的所有组件,涵盖了深度学习领域的整个训练过程。
文中还提出了一个新颖的分类法,将这些技术总结归类为五个主要方向:以数据为中心、以模型为中心、以优化为中心、预算训练和以系统为中心。
前四部分主要从算法设计和方法论的角度进行综合研究,而在「以系统为中心的高效训练」部分,从范式创新和硬件支持的角度总结了实际实现情况。
文中回顾并总结了与每个部分相对应的常用或最新开发的技术,每项技术的优势和权衡,并讨论局限性和有前景的未来研究方向;在提供全面的技术回顾和指导的同时,这篇综述还提出了当前高效训练的突破口和瓶颈。
研究人员希望能帮助研究人员高效地实现通用的训练加速,并为高效训练的未来发展提供一些有意义和有前景的影响;除了在每一节末尾提到的一些潜在的进展之外,更广泛的、有前景的观点如下:
1、 高效的Profile搜索
高效训练可以从数据增强组合、模型结构、优化器设计等角度出发,为模型设计预建的和可定制的profile搜索策略,相关研究已经取得了一些进展。
新的模型架构和压缩模式、新的预训练任务、对「模型边缘」(model-edge)知识的利用同样值得探索。
2、自适应调度器 Adaptive Scheduler
使用一个面向优化的调度器,如课程学习、学习速率和批次大小以及模型的复杂性,有可能实现更好的性能;Budget-aware调度器可以动态适应剩余预算,降低人工设计的成本;自适应调度器可以用来探索并行性和通信方法,同时考虑到更通用且实际的情况,例如在跨越多地区和数据中心的异构网络中进行大规模去中心化训练。
以上是训大模型讲究「化劲」!陶大程带队:一文打尽「高效训练」方案,别再说硬件是唯一瓶颈的详细内容。更多信息请关注PHP中文网其他相关文章!

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

0.这篇文章干了啥?提出了DepthFM:一个多功能且快速的最先进的生成式单目深度估计模型。除了传统的深度估计任务外,DepthFM还展示了在深度修复等下游任务中的最先进能力。DepthFM效率高,可以在少数推理步骤内合成深度图。下面一起来阅读一下这项工作~1.论文信息标题:DepthFM:FastMonocularDepthEstimationwithFlowMatching作者:MingGui,JohannesS.Fischer,UlrichPrestel,PingchuanMa,Dmytr

想象一下,一个人工智能模型,不仅拥有超越传统计算的能力,还能以更低的成本实现更高效的性能。这不是科幻,DeepSeek-V2[1],全球最强开源MoE模型来了。DeepSeek-V2是一个强大的专家混合(MoE)语言模型,具有训练经济、推理高效的特点。它由236B个参数组成,其中21B个参数用于激活每个标记。与DeepSeek67B相比,DeepSeek-V2性能更强,同时节省了42.5%的训练成本,减少了93.3%的KV缓存,最大生成吞吐量提高到5.76倍。DeepSeek是一家探索通用人工智

AI,的确正在改变数学。最近,一直十分关注这个议题的陶哲轩,转发了最近一期的《美国数学学会通报》(BulletinoftheAmericanMathematicalSociety)。围绕「机器会改变数学吗?」这个话题,众多数学家发表了自己的观点,全程火花四射,内容硬核,精彩纷呈。作者阵容强大,包括菲尔兹奖得主AkshayVenkatesh、华裔数学家郑乐隽、纽大计算机科学家ErnestDavis等多位业界知名学者。AI的世界已经发生了天翻地覆的变化,要知道,其中很多文章是在一年前提交的,而在这一

波士顿动力Atlas,正式进入电动机器人时代!昨天,液压Atlas刚刚「含泪」退出历史舞台,今天波士顿动力就宣布:电动Atlas上岗。看来,在商用人形机器人领域,波士顿动力是下定决心要和特斯拉硬刚一把了。新视频放出后,短短十几小时内,就已经有一百多万观看。旧人离去,新角色登场,这是历史的必然。毫无疑问,今年是人形机器人的爆发年。网友锐评:机器人的进步,让今年看起来像人类的开幕式动作、自由度远超人类,但这真不是恐怖片?视频一开始,Atlas平静地躺在地上,看起来应该是仰面朝天。接下来,让人惊掉下巴

本月初,来自MIT等机构的研究者提出了一种非常有潜力的MLP替代方法——KAN。KAN在准确性和可解释性方面表现优于MLP。而且它能以非常少的参数量胜过以更大参数量运行的MLP。比如,作者表示,他们用KAN以更小的网络和更高的自动化程度重现了DeepMind的结果。具体来说,DeepMind的MLP有大约300,000个参数,而KAN只有约200个参数。KAN与MLP一样具有强大的数学基础,MLP基于通用逼近定理,而KAN基于Kolmogorov-Arnold表示定理。如下图所示,KAN在边上具

目标检测在自动驾驶系统当中是一个比较成熟的问题,其中行人检测是最早得以部署算法之一。在多数论文当中已经进行了非常全面的研究。然而,利用鱼眼相机进行环视的距离感知相对来说研究较少。由于径向畸变大,标准的边界框表示在鱼眼相机当中很难实施。为了缓解上述描述,我们探索了扩展边界框、椭圆、通用多边形设计为极坐标/角度表示,并定义一个实例分割mIOU度量来分析这些表示。所提出的具有多边形形状的模型fisheyeDetNet优于其他模型,并同时在用于自动驾驶的Valeo鱼眼相机数据集上实现了49.5%的mAP

特斯拉机器人Optimus最新视频出炉,已经可以在厂子里打工了。正常速度下,它分拣电池(特斯拉的4680电池)是这样的:官方还放出了20倍速下的样子——在小小的“工位”上,拣啊拣啊拣:这次放出的视频亮点之一在于Optimus在厂子里完成这项工作,是完全自主的,全程没有人为的干预。并且在Optimus的视角之下,它还可以把放歪了的电池重新捡起来放置,主打一个自动纠错:对于Optimus的手,英伟达科学家JimFan给出了高度的评价:Optimus的手是全球五指机器人里最灵巧的之一。它的手不仅有触觉

哭死啊,全球狂炼大模型,一互联网的数据不够用,根本不够用。训练模型搞得跟《饥饿游戏》似的,全球AI研究者,都在苦恼怎么才能喂饱这群数据大胃王。尤其在多模态任务中,这一问题尤为突出。一筹莫展之际,来自人大系的初创团队,用自家的新模型,率先在国内把“模型生成数据自己喂自己”变成了现实。而且还是理解侧和生成侧双管齐下,两侧都能生成高质量、多模态的新数据,对模型本身进行数据反哺。模型是啥?中关村论坛上刚刚露面的多模态大模型Awaker1.0。团队是谁?智子引擎。由人大高瓴人工智能学院博士生高一钊创立,高
