【DTSE Tech Talk 精选问答】NO.35丨MindSpore自动并行技术带你快速解决大模型“开发难”
【摘要】 你知道最近火出圈的大模型吗?想知道它是怎样实现轻松上手、简单易用的吗?MindSpore自动并行带你几行代码玩转大模型!
你知道最近火出圈的大模型吗?想知道它是怎样实现轻松上手、简单易用的吗?MindSpore自动并行带你几行代码玩转大模型!
观看直播:https://bbs.huaweicloud.com/live/DTT_live/202307051630.html
※ 关于 MindSpore ※
Q:MindSpore如何处理跨设备的模型同步和通信?
A:跨设备的模型同步和通信都是使用统一的通信算子进行的,包括Allreduce、AllGather、ScatterReduce、AlltoAll等等,具体的通信还要依赖硬件通信库,如HCCL、NCCL等。Q:数据并行和自动并行模式有哪些本质区别?
A:1、数据并行是手动并行2、自动并行包含数据并行+其他并行维度
3、数据并行不对模型切分
Q:昇思MindSpore的可解释AI能力是如何保障的?
A:我们有可解释AI的套件MindSpore XAI,MindSpore XAI是一个基于昇思MindSpore的可解释AI工具箱。当前深度学习模型多为黑盒模型,性能表现好但可解释性较差。XAI旨在为用户提供对模型决策的解释,帮助用户更好地理解模型、信任模型,以及当模型出现错误时有针对性地改进模型。除了提供多种解释方法,还提供了一套对解释方法效果评分的度量方法,从多种维度评估解释方法的效果,从而帮助用户比较和选择最适合于特定场景的解释方法。 具体请查看链接Q:MindSpore的自动并行技术是否支持模型的动态调整?
A:模型的动态调整是指结构变化?一般训练过程中是不会对模型进行变化的, 另外如果是指切分策略的动态调整,这个一般也不会做,因为切分策略的切换有很大的时间代价,在搜索出最优策略后,就不会改动Q:MindSpore的分布式训练是否支持动态节点的加入和退出?
A:支持,动态节点加入是大规模集群稳定运行必备的。但是运行时加入是不支持的,因为会触发整个分布式切分策略的重排,请点击这里可以参考Q:MindSpore是否有代码自动生成工具?
A:生成MindSpore代码还是基于MindSpore的代码大模型?Q:怎么应对并行安全问题?
A:并行安全是指数据污染和线程锁吗?这两个使用已有的技术基本都可以解决,另外本身GPU/NPU有多流(multi stream)的设计,可以消除部分并行模式的并行安全问题。Q:MindSpore 自动并行技术应用实践是不是和我们老百姓息息相关的
A:大模型分为: L0:基础模型 L1:领域模型 L2:微调模型老百姓能接触到的服务大多数都是L2
Q:MindSpore的并行训练技术是否适用于小规模模型?
A:适合,分布式并行并不是大模型专属,只是小模型一般在单卡能放得下的情况下,最多会开数据并行Q:如何估算不同配置需要的显存数量?
A:目前的情况,显存能买大的就买大的。可以根据模型参数量进行估算,如2000亿参数需要745G显存存Parameter,然后加上Gradients和Optimizer states,总共要745 * 4,然后看单卡显存除一下,估算需要的卡数Q:MindSpore的自动并行技术是否适用于所有类型的模型?
A:是,MindSpore是当前支持最全的,共支持以下结构: 1. Transformer 2. MoE 3. Conv 4. Conv+Transformer(ViT) 5. 稀疏神经网络Q:如何防止较大模型耗尽 CPU 内存?
A:大模型不占用CPU内存,数据占用,除非是offload到内存上,这个问题一般不会出现,因为大集群的单机内存通常是TB级别Q:MindSpore适用于哪些场景,包括端、边缘和云计算?
A:均适合,MindSpore的定位就是边端云全场景AI框架,使用一个IR适用于不同的设备Q:MindSpore支持哪些处理器,除了华为昇腾AI处理器?
A:GPU、CPU以及部分国产芯片Q:并行训练下每个模型都会计算梯度,都能在模型之间同步梯度吗?
A:梯度是必须要计算的,梯度的同步也必须要做,同步策略取决于模型切分策略,比如做了ZeRO的情况下,梯度是和对应卡上的Parameter对应的,就不用同步。但是有数据并行必须要做同步。Q:MindSpore的分布式训练是否支持模型的异步更新?
A:支持,CPUOffload的情况下就是异步更新,具体参考(支持,CPUOffload的情况下就是异步更新,具体参考Q:MindSpore如何实现模型的跨设备部署和迁移?
A:参考:https://mindspore.cn/lite?version=/r2.0/Q:昇思MindSpore自动并行对AI服务器有哪些要求?
A:一般是昇腾NPU或英伟达GPUQ:昇思MindSpore自动并行能否在较短时间内搜索出性能较优的策略?
A:10-30分钟左右Q:MindSpore的分布式训练是否支持异构设备的混合训练?
A:不支持NPU/GPU异构,支持CPU异构Q:MindSpore在预训练模型方面有哪些应用案例?
A:分布式并行训练可参考Q:混合并行有哪些难点?
A:1.如何选择最好的切分策略;2.开发复杂度Q:切分的话,要求每台机器配置都是一样的么?
A:必须是一样的Q:昇思MindSpore自动并行如何帮助开发人员与算法科学家从模型细节中解放出来,提高算法研发效率?
A:帮助开发人员与算法科学家从分布式的细节里解放,关注模型和算法本身。Q:如何评估和比较不同并行策略在MindSpore自动并行技术中的效果和适用性?
A:半自动或手动的情况下,需要根据实际情况测试,一般情况下:- 高通信带宽用模型并行,低通信带宽用pipeline并行
- pipeline切分是机器间,模型切分不跨节点
- 模型并行一般并行度为2、4、8
Q:MindSpore在大数据集训练方面有哪些优化措施?
A:有单独的数据引擎。参考※ MindSpore 优势 ※
Q:华为MindSpore自动并行可以为大模型训练带来哪些新机遇?
A:主要还是简化了大模型训练所需要的时间成本,会让更多人有机会训大模型。Q:mindspore在大模型未来的发展方向上有什么优势?
A:性能优势:因为有整图优化和特有的并行维度 ;开发优势:更简单。Q:常用的分布式并行训练技术都有哪些?哪些是MindSpore采用的?有什么优势或区别?
A:常见的有:- 数据并行
- 模型并行
- pipeline并行
- ZeRO
MindSpore全部都采用了,在此之外我们还有独有的MoE并行、多副本并行、数据切片,性能优化的更好。
Q:自动并行的方案相比手动并行架构有哪些亮点?
A:1.单卡脚本无需改动;2.搜索的策略会比没有经验的人手动配置的好Q:MindSpore的模型开发时间相比其他框架有何优势?
A:单卡情况下与Pytorch持平,大模型优于PytorchQ:除了训练阶段,MindSpore自动并行技术在推理阶段有哪些实际应用场景和优势?
A:参考Q:MindSpore如何保证训练数据的安全性?
A:我们有提供MindArmour,MindSpore Armour是一款安全与隐私保护工具,提供AI模型安全测评、模型混淆、隐私数据保护等能力。 参考Q:在哪些场景下,使用MindSpore自动并行技术可以获得最大的性能提升?
A:大模型场景,模型体量越大越有优势想要了解更多MindSpore相关知识,欢迎观看DTSE Tech Talk 系列技术直播
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)