【DTSE Tech Talk 精选问答】NO.35丨MindSpore自动并行技术带你快速解决大模型“开发难”

举报
云小宅 发表于 2023/08/24 11:42:22 2023/08/24
【摘要】 你知道最近火出圈的大模型吗?想知道它是怎样实现轻松上手、简单易用的吗?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或英伟达GPU

Q:昇思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:半自动或手动的情况下,需要根据实际情况测试,一般情况下:
  1. 高通信带宽用模型并行,低通信带宽用pipeline并行
  2. pipeline切分是机器间,模型切分不跨节点
  3. 模型并行一般并行度为2、4、8

Q:MindSpore在大数据集训练方面有哪些优化措施?

A:有单独的数据引擎。参考

※ MindSpore 优势 ※

Q:华为MindSpore自动并行可以为大模型训练带来哪些新机遇?

A:主要还是简化了大模型训练所需要的时间成本,会让更多人有机会训大模型。

Q:mindspore在大模型未来的发展方向上有什么优势?

A:性能优势:因为有整图优化和特有的并行维度 ;开发优势:更简单。

Q:常用的分布式并行训练技术都有哪些?哪些是MindSpore采用的?有什么优势或区别?

A:常见的有:
  1. 数据并行
  2. 模型并行
  3. pipeline并行
  4. ZeRO
    MindSpore全部都采用了,在此之外我们还有独有的MoE并行、多副本并行、数据切片,性能优化的更好。

Q:自动并行的方案相比手动并行架构有哪些亮点?

A:1.单卡脚本无需改动;2.搜索的策略会比没有经验的人手动配置的好

Q:MindSpore的模型开发时间相比其他框架有何优势?

A:单卡情况下与Pytorch持平,大模型优于Pytorch

Q:除了训练阶段,MindSpore自动并行技术在推理阶段有哪些实际应用场景和优势?

A:参考

Q:MindSpore如何保证训练数据的安全性?

A:我们有提供MindArmour,MindSpore Armour是一款安全与隐私保护工具,提供AI模型安全测评、模型混淆、隐私数据保护等能力。 参考

Q:在哪些场景下,使用MindSpore自动并行技术可以获得最大的性能提升?

A:大模型场景,模型体量越大越有优势


想要了解更多MindSpore相关知识,欢迎观看DTSE Tech Talk 系列技术直播

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。