手机网站微信网站开发,品牌管理公司网站建设,聊天软件开发多少钱,wordpress柒比貳简介#xff1a; 最近#xff0c;阿里云PAI团队和达摩院智能计算实验室一起发布“低碳版”巨模型M6#xff0c;大幅降低万亿参数超大模型训练能耗。借助我们自研的Whale框架仅使用480卡GPU#xff0c;即训练出了规模达人类神经元10倍的万亿参数多模态大模型M6#xff0c;与…简介 最近阿里云PAI团队和达摩院智能计算实验室一起发布“低碳版”巨模型M6大幅降低万亿参数超大模型训练能耗。借助我们自研的Whale框架仅使用480卡GPU即训练出了规模达人类神经元10倍的万亿参数多模态大模型M6与传统海外公司实现万亿参数规模相比能耗降低超八成、效率提升近11倍。 作者 | 王林 来源 | 阿里技术公众号
最近阿里云PAI团队和达摩院智能计算实验室一起发布“低碳版”巨模型M6大幅降低万亿参数超大模型训练能耗。借助我们自研的Whale框架仅使用480卡GPU即训练出了规模达人类神经元10倍的万亿参数多模态大模型M6与传统海外公司实现万亿参数规模相比能耗降低超八成、效率提升近11倍。
M6是国内首个实现商业化落地的多模态大模型。M6拥有超越传统AI的认知和创造能力擅长绘画、写作、问答在电商、制造业、文学艺术等诸多领域拥有广泛应用前景。
这里来为大家介绍支持万亿参数模型训练的Whale框架设计。
一 模型发展趋势和挑战
1 模型发展趋势
随着深度学习的火爆模型的参数规模也增长迅速OpenAI数据显示
2012年以前模型计算耗时每2年增长一倍和摩尔定律保持一致2012年后模型计算耗时每3.4个月翻一倍远超硬件发展速度近一年模型参数规模飞速增长谷歌、英伟达、阿里、智源研究院都发布了万亿参数模型有大厂也发布了百亿、千亿参数模型。同时随着模型参数规模增大模型效果也在逐步提高Nvidia测试Bert模型不同参数规模发现模型困惑度随模型参数规模增加而降低。 Google在GShard paper中也发现MoETransformer 模型参数规模越大翻译质量越高。 2 大模型训练的挑战
大模型带来模型效果提升的同时也为训练框架带来更大的挑战例如当我们要训练一个万亿规模的模型时会面临如下挑战 训练难 GPU显存已经不够存放模型副本数据并行已经不能满足需求需要框架提供新的并行策略协同多GPU能力来存放和训练模型如何给用户提供简洁、易用的接口让用户能很容易实现分布式版模型超大规模模型对计算效率、通信效率都带来很大挑战如何提高计算和通信效率下游任务如何对接如何支持批量预测和在线推理需求 成本高 以万亿模型为例模型参数有4TB大小、梯度也有4TB加上optimizer states和active tensor显存需求巨大业界训练同等规模模型需要的资源英伟达 3072 A100、谷歌 2048 TPU v3成本太高很难落地如何降本增效使用更少的资源更快的训练收敛
当前已经有一些分布式训练框架例如Horovod、Tensorflow Estimator、PyTorch DDP等支持数据并行Gpipe、PipeDream、PipeMare等支持流水并行Mesh Tensorflow、FlexFlow、OneFlow、MindSpore等支持算子拆分但这些框架还有一些不足
模式单一很多框架只支持部分并行策略不能完全支持各种混合并行接入门槛高用户实现模型分布式版本难度大、成本高需要有领域专家经验才能实现高效的分布式并行策略迁移代价大不同分布式框架并行化实现割裂不同框架有各自定义的DSL当用户要切换并行策略时需要学习各种接口重新改写模型性能不理想部分框架实现未考虑集群物理环境
为了应对当前分布式训练的挑战我们研发了分布式训练框架Whale主要目标是
统一多种并行策略在一个框架中支持各种并行策略以及这些策略的各种组合简洁易用的接口用户只需添加几行annotation即可完成并行策略的配置模型代码不需要改动高效的训练框架结合硬件资源、网络拓扑和模型进行协同优化打造高效分布式训练框架
二 PAI自研Whale框架
1 Whale架构
我们推出统一多种并行策略的高性能分布式训练框架Whale从如下角度来应对分布式训练的挑战
将不同并行化策略进行统一抽象、封装在一套分布式训练框架中支持多种并行策略基于Tensorflow设计一套分布式并行接口完全兼容Tensorflow用户仅仅只需添加几行annotation就可以实现丰富的分布式并行策略结合模型结构和网络拓扑进行调度和通信优化提供高效的分布式训练能力。
Whale框架如下图所示主要分4个模块
API提供简洁易用接口让用户组合使用各种混合并行策略Whale IR将并行策略转成内部表达通过TaskGraph、Multi-Dimension、VirtualDevices抽象来表达各种并行策略Whale Engine基于WhaleIR通过图编辑工具来构建分布式执行图Runtime将分布式执行图转成TFGraph再调用TF 的Runtime来执行2 Whale简介易用接口
Whale提供简洁易用的接口来描述各种并行策略主要的原语
cluster配置Virtual Device的划分方法replica数据并行stage划分TaskGraphpipeline流水并行split算子拆分
用这些接口可以组合各种并行策略例如
数据并行流水并行流水并行数据并行更多并行策略示例3 Whale训练流程
使用Whale进行分布式训练流程 并行策略配置 使用Whale API来为模型配置并行策略只需添加几行annotation无需修改模型代码方法如 2.2节 所示可以将模型划分为多个TaskGraphTaskGraph支持配置多个并行策略每个TaskGraph可以配置不同的并行策略 虚拟资源划分 按并行策略来划分Virtual Device每个TaskGraph对应一个Virtual Device按GPU资源和网络topo来为Virtual Device选择Physical Device 分布式执行图 基于并行策略和资源分配信息使用图编辑工具来编辑执行图图拷贝、拆分、插入通信节点等生成最终的分布式执行图调用TF的runtime来执行分布式Graph三 万亿M6模型预训练
万亿模型的算力需求非常大为了降低算力需求Whale中实现了MoE(Mixture-of-Experts)结构MoE的主要特点是稀疏激活使用Gating(Router)来为输入选择Top k的expert进行计算k常用取值1、2从而大大减少算力需求。 Whale中实现了MoE(Mixture-of-Experts) layer并支持专家并行将experts拆分到多个Devices上降低单个Device的显存和算力需求。同时数据并行有利于提升训练的并发度因此采用数据并行专家并行组合的混合并行策略来训练M6模型MoElayer采用专家并行其他layer采用数据并行。 Whale中提供简洁易用的接口来进行模型的混合并行训练只需要增加几行annotation来配置并行策略模型本身不需要任何修改。M6模型采用数据并行专家并行的策略只需要增加如下图的annotation 同时为了节约训练资源提高训练效率Whale中提供各种优化技术
显存优化
Auto Gradient Checkpoint自动选择最优checkpoint节点节约activation的显存Group-wise Apply优化Optimizer Apply阶段的显存CPU Offload技术优化Optimizer status和Weight的显存通信池化控制通信的数据块大小和并发节约通信的显存
计算、通信加速
采用DPEP混合并行策略降低算力需求采用分组融合通信、半精度通信、拓扑感知的All2All通信算子等技术来提高通信效率结合混合精度、编译优化等技术提高训练效率
借助Whale框架首次在480 V100 上3天内完成万亿M6模型的预训练。相比此前英伟达使用3072 A100 GPU实现万亿参数、谷歌使用2048 TPU实现1.6万亿参数大模型此次达摩院仅使用480卡V100 32G GPU就实现了万亿模型M6节省算力资源超80%且训练效率提升近11倍。
四 结语
模型参数规模已越来越大大模型已成为发展趋势为解决超大模型训练的挑战我们自研Whale框架将不同并行化策略进行统一抽象、封装在一套分布式训练框架中支持多种并行策略。Whale提供简洁易用的接口用户只需添加几行annotation即可实现各种并行策略不需要对模型本身进行修改。同时我们结合硬件资源、网络topo、模型进行软硬件协同优化提供高效分布式训练框架。
通过Whale框架我们用480 V100 GPU卡训练万亿规模模型并在3天内完成模型训练收敛为超大规模模型训练落地提供了可能后续我们会进一步完善Whale框架从更大规模、更快速度、更高性价比3个维度去扩展Whale框架的能力。同时也会推动Whale能力在更多业务场景落地让技术能力到产品能力的转变。
原文链接 本文为阿里云原创内容未经允许不得转载。