9 月 12 日,卡陶口源框架淘天集团连续爱橙科技郑重对外户口源大模子陶冶框架 ——Megatron-LLaMA,冶加旨在让身手拓荒者们能够更轻松的速户擢升大说话模子陶冶职能,降低陶冶老本,大模而且维持和 LLaMA 社区的陶冶兼容性。视察露出,卡陶口源框架在 32 卡陶冶上,冶加相比 HuggingFace 上直接赢得的速户代码版本,Megatron-LLaMA 能够赢得捏 176% 的大模加速;在大领域的陶冶上,Megatron-LLaMA 相较量 32 卡领有险些线性的陶冶推论性,而且对采集不静止露出出高忍受度。而今 Megatron-LLaMA 已在户口源社区上线。
户口源所在:https://github.com/alibaba/Megatron-LLaMA
大说话模子的显赫露出一次又一次地高出了人们的遐想。过去几个月,LLaMA 及 LLaMA2 向户口源社区的通盘阁阁户口,使想陶冶一个自身的大说话模子的人们多了一种很好的采纳。在户口源社区中,已有额外多的斗战神公测时间基于 LLaMA 产出的模子,蕴涵进行续训 / SFT(如 Alpaca、Vicuna、WizardLM、Platypus、StableBegula、Orca、OpenBuddy、Linly、Ziya 等)和从零起点陶冶(Baichuan、QWen、InternLM、OpenLLaMA)的职业。这些职业不只在而今种种大模子能力客顾念评测榜单上露出显赫,同期阐高兴在长文身手悟、长文本生成、代码编纂、数学求解等适用途景的显赫职能。更进一步,业界阐高兴许多蓄谋想念的居品,譬喻 LLaMA 麇集 Whisper 的语音闲谈迟钝人、LLaMA 麇集 Stable Diffusion 的绘画软件、医学 / 法律领域的辅助询问迟钝人等。
纵然从 HuggingFace 上能够拿到 LLaMA 的模子代码,但用自身的数据训一个 LLaMA 模子对片面用户或中微型集体并不是一件低老本且轻省的职业。大模子的体积和数据的领域,使得在遍及的预备资源上无法结束灵验的陶冶,算力和老本成为病笃的瓶颈。Megatron-LM 社区的用户在这方面的诉求额外障碍。
淘天集团和爱橙科技在大模子运用上有着额外舒缓运用途景,在大模子的高效陶冶长进行了额外多的进去。LLaMA 的问世,在数据责罚、模子设计、微调及深化陶冶反馈转圜等方面都赋予了蕴涵淘天集团和爱橙科技在内的许多公司额外多的户口刀,也助力贸易运用途景赢得捏了新的突破。所以,为了回馈通盘 LLaMA 户口源社区、鼓舞汉文预陶冶大模子户口源社区的长进,让路荒者们能够更轻松地擢升大说话模子的陶冶职能,降低陶冶老本,淘天集团连续爱橙科技将部门里面优化身手户口源,揭橥 Megatron-LLaMA,期许与每一位配搭诤友共建 Megatron 及 LLaMA 生态。
Megatron-LLaMA 提供了一套范例的 Megatron-LM 落成的 LLaMA,并提供了与 HuggingFace 花色解放切换的用具,轻松与社区生态用具兼容。Megatron-LLaMA 重新设计了 Megatron-LM 的反向进程,使得非论在节点数较少须要户口较大梯度齐集(Gradient Accumulation, GA)、或是节点数较多必须骗捏小 GA 的场景,都能够赢得捏显赫的陶冶职能。
LLaMA 是而今大说话模子户口源社区中一项首要职业。LLaMA 在 LLM 的结构中引入了 BPE 字符编码、RoPE 职位编码、SwiGLU 激活函数、RMSNorm 正则化以及 Untied Embedding 等优化身手,在许多客顾念和顾主念评测中赢得捏了显赫的服从。LLaMA 提供了 7B、13B、30B、65B/70B 的版本,适用于种种大模子须要的场景,也受到魁伟拓荒者的青睐。同诸多户口源大模子雷同,鉴于官方只提供了推理版的代码,若缘何最低老本长进高效陶冶,并莫得一个范例的范式。
Megatron-LM 是一种温婉的高职能陶冶解阁阁有辩论。Megatron-LM 中提供了张量并行(Tensor Parallel,TP,把大乘法分配到多张卡并行预备)、流水线并行(Pipeline Parallel,PP,把模子迥异层分配赴任异卡责罚)、序列并行(Sequence Parallel, SP,序列的迥异部门由迥异卡责罚,节约显存)、DistributedOptimizer 优化(访佛 DeepSpeed Zero Stage-2,切分梯度和优化器参数至集体预备节点)等身手,能够显赫减轻显存占用并擢升 GPU 簸弄率。Megatron-LM 运营着一个隽永的户口源社区,链接有新的优化身手、职能设计连续进框架中。
然而,基于 Megatron-LM 进行拓荒并不轻省,在腾贵的多卡机上调试及职能性验证更是相等腾贵的。Megatron-LLaMA 首先提供了一套基于 Megatron-LM 框架落成的 LLaMA 陶冶代码,赞助种种领域的模子版本,而且能够很轻省地适配赞助 LLaMA 的种种变种,蕴涵对 HuggingFace 花色的 Tokenizer 的直接赞助。因而,Megatron-LLaMA 能够很轻便地运用在已有的离线陶冶链路中,无需进行过多的适配。在中小领域陶冶 / 微调 LLaMA-7b 和 LLaMA-13b 的场景,Megatron-LLaMA 能够轻松达到业界领先的 54% 及以上的硬件簸弄率(MFU)。
图示:DeepSpeed ZeRO Stage-2
DeepSpeed ZeRO 是微软推出的一套闲步式陶冶框架,此中疏间的身手对许多自后的框架都有额外雄伟的训诲。DeepSpeed ZeRO Stage-2(后文简称 ZeRO-2)是该框架中一项节约显存占用且不施行额外预备量和通讯量的身手。如上图所示,鉴于预备须要,每个 Rank 都须要领有险些的参数。但马虎优化器状态而言,每个 Rank 只负责此华厦一部门即可,毋庸集体 Rank 同期践诺无缺重复的独霸。因而 ZeRO-2 疏间将优化器状态平均地切分在每个 Rank 上(瞩目,这里并不须要担保每个变量被等分或齐备维持在某个 Rank 上),每个 Rank 在陶冶进程中只负责对应部门的优化器状态和模子参数的革新。在这种设定下,梯度也能够按此花式进行切分。默许状态下,ZeRO-2 在反向时在集体 Rank 间骗捏 Reduce 花式齐集梯度,而后每个 Rank 只须要维持自身所负责的参数的部门,既肃清了冗余的重复预备,又降低了显存占用。
原生 Megatron-LM 通过 DistributedOptimizer 落成了访佛 ZeRO-2 的梯度和优化器状态切分,以减轻陶冶华厦显存占用。如上图所示,DistributedOptimizer 在每次赢得预设的梯度齐集过的集体梯度后,通过 ReduceScatter 算子,将曾经累积的险些梯度分发赴任异的 Rank。每个 Rank 只赢得自身须要责罚的部门梯度,而过时行优化器状态的革新和对应参数的革新。终末各个 Rank 通过 AllGather 的花式此后外节点上赢得捏革新过的参数,终竟赢得捏险些的参数。本质陶冶的结果露出,Megatron-LM 的梯度和参数通讯与此外预备串行进行,马虎大领域预陶冶管事,为了担保总批数据大小稳定,通常无法户口启较大的 GA。因而通讯占比会随同迟钝施行高涨,这韶华串行通讯的特质招致推论性很弱。在社区内,这方面的须要也很迫切。
为领略决这一题目,Megatron-LLaMA 革新了原生 Megatron-LM 的 DistributedOptimizer,使其梯度通讯的算子能够能够和预备相并行。额外的,相比于 ZeRO 的落成,Megatron-LLaMA 在并行的请求下,通过高贵的优化优化器分区计谋,骗捏了更拥有拥有推论性的齐集通讯花式来擢升推论性。OverlappedDistributedOptimizer 的症结设计担保了如下几点:a) 缺乏齐集通讯算子数据量饱读够大,饱读赢余用通讯带宽;b) 新切分花式所需通讯数据量应等于数据并行所需的最小通讯数据量;c) 齐备参数或梯度与切分后的参数或梯度的迁移进程中,不行引入过多显存拷贝。
险些而言,Megatron-LLaMA 革新了 DistributedOptimizer 的机制,疏间了 OverlappedDistributedOptimizer,用于麇集新的切分花式优化陶冶华厦反向进程。如上图所示,在 OverlappedDistributedOptimizer 户口始化时,会预先给集体参数分配其所属的 Bucket。Bucket 华厦参数是齐备的,一个参数仅属于一个 Bucket,一个 Bucket 中能够有多个参数。逻辑上,每个 Bucket 将会被陆续等分红 P(P 为数据并行组的数量)等份,数据并行组华厦每个 Rank 负责此华厦一份。
Bucket 被阁阁阁阁在一个要地队列(Local grad bucket queue)中,从而担保通讯顺次。在陶冶预备的同期,数据并行组间以 Bucket 为单元,通过齐集通讯退换各自须要的梯度。Megatron-LLaMA 中 Bucket 的落成尽能够采纳了所在索引,只在有须要值订正时才新分配空间,预防了显存虚耗。
上述的设计,再麇集豪爽的工程优化,使得在大领域陶冶时,Megatron-LLaMA 能够很迷漫地骗捏硬件,落成了比原生 Megatron-LM 更好的加速。从32张A100卡推论到512张A100卡的陶冶,Megatron-LLaMA在常用混部的采集环境中照样然能够赢得捏0.85的推论比。
Megatron-LLaMA 是由淘天集团和爱橙科技结伴户口源并提供后续维持赞助的陶冶框架,在里面已有魁伟的运用。随着越来越多的拓荒者涌入 LLaMA 的户口源社区并进贡能够相互鉴戒的阅历,肯定来日在陶冶框架层面会有更多的搦战和运气。Megatron-LLaMA 将会紧密眷注社区的长进,并与魁伟拓荒者结伴鼓吹以下目的:
项目所在:https://github.com/alibaba/Megatron-LLaMA
责任编辑:张燕妮 源泉: 迟钝之心 智能身手9 月 12 日,卡陶口源框架淘天集团连续爱橙科技郑重对外户口源大模子陶冶框架 ——Megatron-LLaMA,冶加旨在让身手拓荒者们能够更轻松的速户擢升大说话模子陶冶职能,降低陶冶老本,大模而且维持和 LLaMA 社区的陶冶兼容性。视察露出,卡陶口源框架在 32 卡陶冶上,冶加相比 HuggingFace 上直接赢得的速户代码版本,Megatron-LLaMA 能够赢得捏 176% 的大模加速;在大领域的陶冶上,Megatron-LLaMA 相较量 32 卡领有险些线性的陶冶推论性,而且对采集不静止露出出高忍受度。而今 Megatron-LLaMA 已在户口源社区上线。
户口源所在:https://github.com/alibaba/Megatron-LLaMA
大说话模子的显赫露出一次又一次地高出了人们的遐想。过去几个月,LLaMA 及 LLaMA2 向户口源社区的通盘阁阁户口,使想陶冶一个自身的大说话模子的人们多了一种很好的采纳。在户口源社区中,已有额外多的斗战神公测时间基于 LLaMA 产出的模子,蕴涵进行续训 / SFT(如 Alpaca、Vicuna、WizardLM、Platypus、StableBegula、Orca、OpenBuddy、Linly、Ziya 等)和从零起点陶冶(Baichuan、QWen、InternLM、OpenLLaMA)的职业。这些职业不只在而今种种大模子能力客顾念评测榜单上露出显赫,同期阐高兴在长文身手悟、长文本生成、代码编纂、数学求解等适用途景的显赫职能。更进一步,业界阐高兴许多蓄谋想念的居品,譬喻 LLaMA 麇集 Whisper 的语音闲谈迟钝人、LLaMA 麇集 Stable Diffusion 的绘画软件、医学 / 法律领域的辅助询问迟钝人等。
纵然从 HuggingFace 上能够拿到 LLaMA 的模子代码,但用自身的数据训一个 LLaMA 模子对片面用户或中微型集体并不是一件低老本且轻省的职业。大模子的体积和数据的领域,使得在遍及的预备资源上无法结束灵验的陶冶,算力和老本成为病笃的瓶颈。Megatron-LM 社区的用户在这方面的诉求额外障碍。
淘天集团和爱橙科技在大模子运用上有着额外舒缓运用途景,在大模子的高效陶冶长进行了额外多的进去。LLaMA 的问世,在数据责罚、模子设计、微调及深化陶冶反馈转圜等方面都赋予了蕴涵淘天集团和爱橙科技在内的许多公司额外多的户口刀,也助力贸易运用途景赢得捏了新的突破。所以,为了回馈通盘 LLaMA 户口源社区、鼓舞汉文预陶冶大模子户口源社区的长进,让路荒者们能够更轻松地擢升大说话模子的陶冶职能,降低陶冶老本,淘天集团连续爱橙科技将部门里面优化身手户口源,揭橥 Megatron-LLaMA,期许与每一位配搭诤友共建 Megatron 及 LLaMA 生态。
Megatron-LLaMA 提供了一套范例的 Megatron-LM 落成的 LLaMA,并提供了与 HuggingFace 花色解放切换的用具,轻松与社区生态用具兼容。Megatron-LLaMA 重新设计了 Megatron-LM 的反向进程,使得非论在节点数较少须要户口较大梯度齐集(Gradient Accumulation, GA)、或是节点数较多必须骗捏小 GA 的场景,都能够赢得捏显赫的陶冶职能。
LLaMA 是而今大说话模子户口源社区中一项首要职业。LLaMA 在 LLM 的结构中引入了 BPE 字符编码、RoPE 职位编码、SwiGLU 激活函数、RMSNorm 正则化以及 Untied Embedding 等优化身手,在许多客顾念和顾主念评测中赢得捏了显赫的服从。LLaMA 提供了 7B、13B、30B、65B/70B 的版本,适用于种种大模子须要的场景,也受到魁伟拓荒者的青睐。同诸多户口源大模子雷同,鉴于官方只提供了推理版的代码,若缘何最低老本长进高效陶冶,并莫得一个范例的范式。
Megatron-LM 是一种温婉的高职能陶冶解阁阁有辩论。Megatron-LM 中提供了张量并行(Tensor Parallel,TP,把大乘法分配到多张卡并行预备)、流水线并行(Pipeline Parallel,PP,把模子迥异层分配赴任异卡责罚)、序列并行(Sequence Parallel, SP,序列的迥异部门由迥异卡责罚,节约显存)、DistributedOptimizer 优化(访佛 DeepSpeed Zero Stage-2,切分梯度和优化器参数至集体预备节点)等身手,能够显赫减轻显存占用并擢升 GPU 簸弄率。Megatron-LM 运营着一个隽永的户口源社区,链接有新的优化身手、职能设计连续进框架中。
然而,基于 Megatron-LM 进行拓荒并不轻省,在腾贵的多卡机上调试及职能性验证更是相等腾贵的。Megatron-LLaMA 首先提供了一套基于 Megatron-LM 框架落成的 LLaMA 陶冶代码,赞助种种领域的模子版本,而且能够很轻省地适配赞助 LLaMA 的种种变种,蕴涵对 HuggingFace 花色的 Tokenizer 的直接赞助。因而,Megatron-LLaMA 能够很轻便地运用在已有的离线陶冶链路中,无需进行过多的适配。在中小领域陶冶 / 微调 LLaMA-7b 和 LLaMA-13b 的场景,Megatron-LLaMA 能够轻松达到业界领先的 54% 及以上的硬件簸弄率(MFU)。
图示:DeepSpeed ZeRO Stage-2
DeepSpeed ZeRO 是微软推出的一套闲步式陶冶框架,此中疏间的身手对许多自后的框架都有额外雄伟的训诲。DeepSpeed ZeRO Stage-2(后文简称 ZeRO-2)是该框架中一项节约显存占用且不施行额外预备量和通讯量的身手。如上图所示,鉴于预备须要,每个 Rank 都须要领有险些的参数。但马虎优化器状态而言,每个 Rank 只负责此华厦一部门即可,毋庸集体 Rank 同期践诺无缺重复的独霸。因而 ZeRO-2 疏间将优化器状态平均地切分在每个 Rank 上(瞩目,这里并不须要担保每个变量被等分或齐备维持在某个 Rank 上),每个 Rank 在陶冶进程中只负责对应部门的优化器状态和模子参数的革新。在这种设定下,梯度也能够按此花式进行切分。默许状态下,ZeRO-2 在反向时在集体 Rank 间骗捏 Reduce 花式齐集梯度,而后每个 Rank 只须要维持自身所负责的参数的部门,既肃清了冗余的重复预备,又降低了显存占用。
原生 Megatron-LM 通过 DistributedOptimizer 落成了访佛 ZeRO-2 的梯度和优化器状态切分,以减轻陶冶华厦显存占用。如上图所示,DistributedOptimizer 在每次赢得预设的梯度齐集过的集体梯度后,通过 ReduceScatter 算子,将曾经累积的险些梯度分发赴任异的 Rank。每个 Rank 只赢得自身须要责罚的部门梯度,而过时行优化器状态的革新和对应参数的革新。终末各个 Rank 通过 AllGather 的花式此后外节点上赢得捏革新过的参数,终竟赢得捏险些的参数。本质陶冶的结果露出,Megatron-LM 的梯度和参数通讯与此外预备串行进行,马虎大领域预陶冶管事,为了担保总批数据大小稳定,通常无法户口启较大的 GA。因而通讯占比会随同迟钝施行高涨,这韶华串行通讯的特质招致推论性很弱。在社区内,这方面的须要也很迫切。
为领略决这一题目,Megatron-LLaMA 革新了原生 Megatron-LM 的 DistributedOptimizer,使其梯度通讯的算子能够能够和预备相并行。额外的,相比于 ZeRO 的落成,Megatron-LLaMA 在并行的请求下,通过高贵的优化优化器分区计谋,骗捏了更拥有拥有推论性的齐集通讯花式来擢升推论性。OverlappedDistributedOptimizer 的症结设计担保了如下几点:a) 缺乏齐集通讯算子数据量饱读够大,饱读赢余用通讯带宽;b) 新切分花式所需通讯数据量应等于数据并行所需的最小通讯数据量;c) 齐备参数或梯度与切分后的参数或梯度的迁移进程中,不行引入过多显存拷贝。
险些而言,Megatron-LLaMA 革新了 DistributedOptimizer 的机制,疏间了 OverlappedDistributedOptimizer,用于麇集新的切分花式优化陶冶华厦反向进程。如上图所示,在 OverlappedDistributedOptimizer 户口始化时,会预先给集体参数分配其所属的 Bucket。Bucket 华厦参数是齐备的,一个参数仅属于一个 Bucket,一个 Bucket 中能够有多个参数。逻辑上,每个 Bucket 将会被陆续等分红 P(P 为数据并行组的数量)等份,数据并行组华厦每个 Rank 负责此华厦一份。
Bucket 被阁阁阁阁在一个要地队列(Local grad bucket queue)中,从而担保通讯顺次。在陶冶预备的同期,数据并行组间以 Bucket 为单元,通过齐集通讯退换各自须要的梯度。Megatron-LLaMA 中 Bucket 的落成尽能够采纳了所在索引,只在有须要值订正时才新分配空间,预防了显存虚耗。
上述的设计,再麇集豪爽的工程优化,使得在大领域陶冶时,Megatron-LLaMA 能够很迷漫地骗捏硬件,落成了比原生 Megatron-LM 更好的加速。从32张A100卡推论到512张A100卡的陶冶,Megatron-LLaMA在常用混部的采集环境中照样然能够赢得捏0.85的推论比。
Megatron-LLaMA 是由淘天集团和爱橙科技结伴户口源并提供后续维持赞助的陶冶框架,在里面已有魁伟的运用。随着越来越多的拓荒者涌入 LLaMA 的户口源社区并进贡能够相互鉴戒的阅历,肯定来日在陶冶框架层面会有更多的搦战和运气。Megatron-LLaMA 将会紧密眷注社区的长进,并与魁伟拓荒者结伴鼓吹以下目的:
项目所在:https://github.com/alibaba/Megatron-LLaMA
责任编辑:张燕妮 源泉: 迟钝之心 智能身手9 月 12 日,卡陶口源框架淘天集团连续爱橙科技郑重对外户口源大模子陶冶框架 ——Megatron-LLaMA,冶加旨在让身手拓荒者们能够更轻松的速户擢升大说话模子陶冶职能,降低陶冶老本,大模而且维持和 LLaMA 社区的陶冶兼容性。视察露出,卡陶口源框架在 32 卡陶冶上,冶加相比 HuggingFace 上直接赢得的速户代码版本,Megatron-LLaMA 能够赢得捏 176% 的大模加速;在大领域的陶冶上,Megatron-LLaMA 相较量 32 卡领有险些线性的陶冶推论性,而且对采集不静止露出出高忍受度。而今 Megatron-LLaMA 已在户口源社区上线。
户口源所在:https://github.com/alibaba/Megatron-LLaMA
大说话模子的显赫露出一次又一次地高出了人们的遐想。过去几个月,LLaMA 及 LLaMA2 向户口源社区的通盘阁阁户口,使想陶冶一个自身的大说话模子的人们多了一种很好的采纳。在户口源社区中,已有额外多的斗战神公测时间基于 LLaMA 产出的模子,蕴涵进行续训 / SFT(如 Alpaca、Vicuna、WizardLM、Platypus、StableBegula、Orca、OpenBuddy、Linly、Ziya 等)和从零起点陶冶(Baichuan、QWen、InternLM、OpenLLaMA)的职业。这些职业不只在而今种种大模子能力客顾念评测榜单上露出显赫,同期阐高兴在长文身手悟、长文本生成、代码编纂、数学求解等适用途景的显赫职能。更进一步,业界阐高兴许多蓄谋想念的居品,譬喻 LLaMA 麇集 Whisper 的语音闲谈迟钝人、LLaMA 麇集 Stable Diffusion 的绘画软件、医学 / 法律领域的辅助询问迟钝人等。
纵然从 HuggingFace 上能够拿到 LLaMA 的模子代码,但用自身的数据训一个 LLaMA 模子对片面用户或中微型集体并不是一件低老本且轻省的职业。大模子的体积和数据的领域,使得在遍及的预备资源上无法结束灵验的陶冶,算力和老本成为病笃的瓶颈。Megatron-LM 社区的用户在这方面的诉求额外障碍。
淘天集团和爱橙科技在大模子运用上有着额外舒缓运用途景,在大模子的高效陶冶长进行了额外多的进去。LLaMA 的问世,在数据责罚、模子设计、微调及深化陶冶反馈转圜等方面都赋予了蕴涵淘天集团和爱橙科技在内的许多公司额外多的户口刀,也助力贸易运用途景赢得捏了新的突破。所以,为了回馈通盘 LLaMA 户口源社区、鼓舞汉文预陶冶大模子户口源社区的长进,让路荒者们能够更轻松地擢升大说话模子的陶冶职能,降低陶冶老本,淘天集团连续爱橙科技将部门里面优化身手户口源,揭橥 Megatron-LLaMA,期许与每一位配搭诤友共建 Megatron 及 LLaMA 生态。
Megatron-LLaMA 提供了一套范例的 Megatron-LM 落成的 LLaMA,并提供了与 HuggingFace 花色解放切换的用具,轻松与社区生态用具兼容。Megatron-LLaMA 重新设计了 Megatron-LM 的反向进程,使得非论在节点数较少须要户口较大梯度齐集(Gradient Accumulation, GA)、或是节点数较多必须骗捏小 GA 的场景,都能够赢得捏显赫的陶冶职能。
LLaMA 是而今大说话模子户口源社区中一项首要职业。LLaMA 在 LLM 的结构中引入了 BPE 字符编码、RoPE 职位编码、SwiGLU 激活函数、RMSNorm 正则化以及 Untied Embedding 等优化身手,在许多客顾念和顾主念评测中赢得捏了显赫的服从。LLaMA 提供了 7B、13B、30B、65B/70B 的版本,适用于种种大模子须要的场景,也受到魁伟拓荒者的青睐。同诸多户口源大模子雷同,鉴于官方只提供了推理版的代码,若缘何最低老本长进高效陶冶,并莫得一个范例的范式。
Megatron-LM 是一种温婉的高职能陶冶解阁阁有辩论。Megatron-LM 中提供了张量并行(Tensor Parallel,TP,把大乘法分配到多张卡并行预备)、流水线并行(Pipeline Parallel,PP,把模子迥异层分配赴任异卡责罚)、序列并行(Sequence Parallel, SP,序列的迥异部门由迥异卡责罚,节约显存)、DistributedOptimizer 优化(访佛 DeepSpeed Zero Stage-2,切分梯度和优化器参数至集体预备节点)等身手,能够显赫减轻显存占用并擢升 GPU 簸弄率。Megatron-LM 运营着一个隽永的户口源社区,链接有新的优化身手、职能设计连续进框架中。
然而,基于 Megatron-LM 进行拓荒并不轻省,在腾贵的多卡机上调试及职能性验证更是相等腾贵的。Megatron-LLaMA 首先提供了一套基于 Megatron-LM 框架落成的 LLaMA 陶冶代码,赞助种种领域的模子版本,而且能够很轻省地适配赞助 LLaMA 的种种变种,蕴涵对 HuggingFace 花色的 Tokenizer 的直接赞助。因而,Megatron-LLaMA 能够很轻便地运用在已有的离线陶冶链路中,无需进行过多的适配。在中小领域陶冶 / 微调 LLaMA-7b 和 LLaMA-13b 的场景,Megatron-LLaMA 能够轻松达到业界领先的 54% 及以上的硬件簸弄率(MFU)。
图示:DeepSpeed ZeRO Stage-2
DeepSpeed ZeRO 是微软推出的一套闲步式陶冶框架,此中疏间的身手对许多自后的框架都有额外雄伟的训诲。DeepSpeed ZeRO Stage-2(后文简称 ZeRO-2)是该框架中一项节约显存占用且不施行额外预备量和通讯量的身手。如上图所示,鉴于预备须要,每个 Rank 都须要领有险些的参数。但马虎优化器状态而言,每个 Rank 只负责此华厦一部门即可,毋庸集体 Rank 同期践诺无缺重复的独霸。因而 ZeRO-2 疏间将优化器状态平均地切分在每个 Rank 上(瞩目,这里并不须要担保每个变量被等分或齐备维持在某个 Rank 上),每个 Rank 在陶冶进程中只负责对应部门的优化器状态和模子参数的革新。在这种设定下,梯度也能够按此花式进行切分。默许状态下,ZeRO-2 在反向时在集体 Rank 间骗捏 Reduce 花式齐集梯度,而后每个 Rank 只须要维持自身所负责的参数的部门,既肃清了冗余的重复预备,又降低了显存占用。
原生 Megatron-LM 通过 DistributedOptimizer 落成了访佛 ZeRO-2 的梯度和优化器状态切分,以减轻陶冶华厦显存占用。如上图所示,DistributedOptimizer 在每次赢得预设的梯度齐集过的集体梯度后,通过 ReduceScatter 算子,将曾经累积的险些梯度分发赴任异的 Rank。每个 Rank 只赢得自身须要责罚的部门梯度,而过时行优化器状态的革新和对应参数的革新。终末各个 Rank 通过 AllGather 的花式此后外节点上赢得捏革新过的参数,终竟赢得捏险些的参数。本质陶冶的结果露出,Megatron-LM 的梯度和参数通讯与此外预备串行进行,马虎大领域预陶冶管事,为了担保总批数据大小稳定,通常无法户口启较大的 GA。因而通讯占比会随同迟钝施行高涨,这韶华串行通讯的特质招致推论性很弱。在社区内,这方面的须要也很迫切。
为领略决这一题目,Megatron-LLaMA 革新了原生 Megatron-LM 的 DistributedOptimizer,使其梯度通讯的算子能够能够和预备相并行。额外的,相比于 ZeRO 的落成,Megatron-LLaMA 在并行的请求下,通过高贵的优化优化器分区计谋,骗捏了更拥有拥有推论性的齐集通讯花式来擢升推论性。OverlappedDistributedOptimizer 的症结设计担保了如下几点:a) 缺乏齐集通讯算子数据量饱读够大,饱读赢余用通讯带宽;b) 新切分花式所需通讯数据量应等于数据并行所需的最小通讯数据量;c) 齐备参数或梯度与切分后的参数或梯度的迁移进程中,不行引入过多显存拷贝。
险些而言,Megatron-LLaMA 革新了 DistributedOptimizer 的机制,疏间了 OverlappedDistributedOptimizer,用于麇集新的切分花式优化陶冶华厦反向进程。如上图所示,在 OverlappedDistributedOptimizer 户口始化时,会预先给集体参数分配其所属的 Bucket。Bucket 华厦参数是齐备的,一个参数仅属于一个 Bucket,一个 Bucket 中能够有多个参数。逻辑上,每个 Bucket 将会被陆续等分红 P(P 为数据并行组的数量)等份,数据并行组华厦每个 Rank 负责此华厦一份。
Bucket 被阁阁阁阁在一个要地队列(Local grad bucket queue)中,从而担保通讯顺次。在陶冶预备的同期,数据并行组间以 Bucket 为单元,通过齐集通讯退换各自须要的梯度。Megatron-LLaMA 中 Bucket 的落成尽能够采纳了所在索引,只在有须要值订正时才新分配空间,预防了显存虚耗。
上述的设计,再麇集豪爽的工程优化,使得在大领域陶冶时,Megatron-LLaMA 能够很迷漫地骗捏硬件,落成了比原生 Megatron-LM 更好的加速。从32张A100卡推论到512张A100卡的陶冶,Megatron-LLaMA在常用混部的采集环境中照样然能够赢得捏0.85的推论比。
Megatron-LLaMA 是由淘天集团和爱橙科技结伴户口源并提供后续维持赞助的陶冶框架,在里面已有魁伟的运用。随着越来越多的拓荒者涌入 LLaMA 的户口源社区并进贡能够相互鉴戒的阅历,肯定来日在陶冶框架层面会有更多的搦战和运气。Megatron-LLaMA 将会紧密眷注社区的长进,并与魁伟拓荒者结伴鼓吹以下目的:
项目所在:https://github.com/alibaba/Megatron-LLaMA
责任编辑:张燕妮 源泉: 迟钝之心 智能身手