MindSpore_百度百科


本站和网页 https://baike.baidu.com/item/MindSpore 的作者无关,不对其内容负责。快照谨为网络故障时之索引,不代表被搜索网站的即时页面。

MindSpore_百度百科
百度首页
网页
新闻
贴吧
知道
网盘
图片
视频
地图
文库
百科
进入词条
全站搜索
帮助
清除历史记录关闭
近期有不法分子冒充百度百科官方人员,以删除词条为由威胁并敲诈相关企业。在此严正声明:百度百科是免费编辑平台,绝不存在收费代编服务,请勿上当受骗!详情>>
首页
历史上的今天
百科冷知识
图解百科
秒懂百科
懂啦
秒懂本尊答
秒懂大师说
秒懂看瓦特
秒懂五千年
秒懂全视界
特色百科
数字博物馆
非遗百科
恐龙百科
多肉百科
艺术百科
科学百科
用户
蝌蚪团
热词团
百科校园
分类达人
百科任务
百科商城
知识专题
权威合作
合作模式
常见问题
联系方式
下载百科APP
个人中心
收藏
查看我的收藏
有用+1
已投票
MindSpore
播报
编辑
锁定
讨论
上传视频
特型编辑
华为发布的开源AI计算框架
MindSpore是由华为于2019年8月推出的新一代全场景AI计算框架,2020年3月28日,华为宣布MindSpore正式开源。
中文名
昇思
外文名
MindSpore
硬件平台
Ascend 910,GPU CUDA10.1,GPU CUDA11.1,CPU
操作系统
EulerOS,Ubuntu,Windows
编程语言
Python
开源时间
2020.03.28
开发商
华为
类 型
机器学习库
相关视频查看全部
目录
总体架构
特性
开发态友好
运行态高效
部署态灵活
安装
版本信息
0.2.0-alpha
0.3.0-alpha
0.5.0-beta
0.6.0-beta
0.7.0-beta
v1.0.0
v1.1.0
v1.2.0
v1.3.0
v1.5.0
v1.6.0
v1.7.0
MindSpore:新一代AI开源计算框架。
[1]
创新编程范式,AI科学家和工程师更易使用,便于开放式创新;该计算框架可满足终端、边缘计算、云全场景需求,能更好保护数据隐私;可开源,形成广阔应用生态。2020年3月28日,华为在开发者大会2020上宣布,全场景AI计算框架MindSpore在码云正式开源。MindSpore着重提升易用性并降低AI开发者的开发门槛,MindSpore原生适应每个场景包括端、边缘和云,并能够在按需协同的基础上,通过实现AI算法即代码,使开发态变得更加友好,显著减少模型开发时间,降低模型开发门槛。通过MindSpore自身的技术创新及MindSpore与华为昇腾AI处理器的协同优化,实现了运行态的高效,大大提高了计算性能;MindSpore也支持GPU、CPU等其它处理器。
[2]
MindSpore总体架构
编辑
播报
MindSpore框架架构总体分为MindSpore前端表示层、MindSpore计算图引擎和MindSpore后端运行时三层。
[3]
MindSpore总体架构
MindSpore前端表示层(Mind Expression,简称ME)该部分包含Python API、MindSpore IR(Intermediate representation,简称IR)、计算图高级别优化(Graph High Level Optimization,简称GHLO)三部分。Python API向用户提供统一的模型训练、推理、导出接口,以及统一的数据处理、增强、格式转换接口。GHLO包含硬件无关的优化(如死代码消除等)、自动并行和自动微分等功能。MindSpore IR提供统一的中间表示,MindSpore基于此IR进行pass优化。MindSpore计算图引擎(Graph Engine,简称GE)该部分包含计算图低级别优化(Graph Low Level Optimization,简称GLLO)、图执行。GLLO包含硬件相关的优化,以及算子融合、Buffer融合等软硬件结合相关的深度优化。图执行提供离线图执行、分布式训练所需要的通信接口等功能。MindSpore后端运行时该部分包含云、边、端上不同环境中的高效运行环境。
[3]
MindSpore特性
编辑
播报
MindSpore开发态友好
自动微分,网络+算子统一编程,函数式/算法原生表达,反向网络算子自动生成自动并行,模型自动切分实现高效率的模型并行自动调优,动态图+静态图同一套代码
[4]
MindSpore运行态高效
On-Device执行,发挥昇腾大算力Pipeline优化,提升并行线性度深度图优化,自适应AI Core算力和精度
[4]
MindSpore部署态灵活
端-边-云按需协同计算,更好的保护隐私端-边-云统一架构,实现一次开发,按需部署
[4]
MindSpore安装
编辑
播报
MindSpore的安装简单,根据MindSpore官网的安装指南,对操作系统和硬件平台等自由选择即可给出相应的安装步骤。这里以0.3.0-alpha版本安装过程为例,介绍如何在CPU环境的Windows系统上快速安装MindSpore。
[5]
系统要求和软件依赖版本号操作系统可执行文件安装依赖源码编译安装依赖MindSpore 0.3.0-alphaWindows 10 x86_64-Python3.7.5- 其他依赖项:numpy >= 1.17.0protobuf >= 3.8.0asttokens >= 1.1.13pillow >= 6.2.0scipy >= 1.3.3easydict >= 1.9sympy >= 1.4cffi >= 1.13.2wheel >= 0.32.0decorator >= 4.4.0setuptools >= 40.8.0matplotlib >= 3.1.3 # for uttestopencv-python >= 4.2.0.32 # for ut test(以上内容保存于requirements.txt文件中)编译依赖:-Python3.7.5-MinGW-W64 GCC-7.3.0x86_64-posix-seh-ActivePerl5.24.3.2404-CMake3.14.1-wheel>= 0.32.0安装依赖:与可执行文件安装依赖相同在联网状态下,安装whl包时会自动下载requirements.txt中的依赖项,其余情况需自行安装。
[6]
Conda安装(可选)Conda安装包下载并安装。安装后从Windows开始菜单打开Anaconda Prompt。创建并激活Python环境。conda create -n {your_env_name} python=3.7.5conda activate {your_env_name}#Conda是Python环境管理工具,建议初学者上网查阅更多资料。通过可执行文件安装从MindSpore官网下载地址下载whl包,建议先进行SHA-256完整性校验,执行如下命令安装MindSpore。pip install mindspore-0.3.0-cp37-cp37m-win_amd64.whl执行如下命令,如果没有提示No module named 'mindspore'等加载错误的信息,则说明安装成功。
[6]
pythonimport mindspore从源码编译安装从代码仓下载源码。git clone (代码仓源码地址:参考官网安装指南) -b r0.3在源码根目录下执行如下命令编译MindSpore。call build.bat在执行上述命令前,需保证mingw64\bin\路径和可执行文件cmake所在路径已加入环境变量PATH中。如git没有安装在ProgramFiles,在执行上述命令前,需设置环境变量指定patch.exe的位置,如git安装在D:\git时,需设置set MS_PATCH_PATH=D:\git\usr\bin。build.bat中会执行git clone获取第三方依赖库的代码,请提前确保git的网络设置正确可用。如果编译机性能较好,可在执行中增加-j{线程数}来增加线程数量(默认为6)。如call build.bat 12。在执行上述命令前,需保证已安装Visual C++ Redistributable for Visual Studio 2015。
[6]
执行如下命令安装MindSpore。pip install build/package/mindspore-0.3.0-cp37-cp37m-win_amd64.whl执行如下命令,如果没有提示No module named 'mindspore'等加载错误的信息,则说明安装成功。
[6]
pythonimport mindspore
MindSpore版本信息
编辑
播报
MindSpore0.2.0-alpha
发布日期:2020年4月30日版本特点:支持windows系统MindSpore 0.2版本支持了Windows安装。官方0.2文档已经正式发布,可以在官网中获取完整的安装指导,包括从编译到安装命令端到端的安装方式。具体使用上和MindSpore的Linux CPU版本没有任何不同,可以支持LeNet网络进行图片分类,支持的算子等也都是一样的多个模型Benchmark发布MindSpore 0.2版本发布了benchmark,包含有机器视觉类常用网络ResNet-50 v1.5、自然语言处理常用网络BERT-Large,分别在1*Ascend 910、8*Ascend 910、16*Ascend 910等不同规格的昇腾AI处理器上训练速度和加速比。图片训练在16*Ascend 910场景下每秒处理27090张图片,自然语言处理在8*Ascend 910场景下每秒处理1613个句子,多机并行训练加速比达到0.95左右。
[7]
可视化工具功能强化参数直方图MindSpore 0.1版本发布时,可视化功能已经包含有模型可视化、模型溯源、数据溯源等功能,0.2版本推出可视化组件的新特性“参数分布图”,支持可视化权重和梯度分布情况。支持在网络优化过程中,观察权重&梯度随训练过程的变化,可以帮助用户在网络调优时,判断网络的优化进展。只需要使用HistogramSummary算子记录感兴趣的权重和梯度,即可在MindSpore可视化组件中的训练看板生成数据的直方图,并观察他们的变化。当出现奇怪的权重数据分布时,可以快速直观得判断训练的健康程度。
[7]
参数直方图展示
溯源自定义和联动溯源自定义可以帮助用户记录、查询模型迭代调试开发过程使用的模型超参和数据处理增强。只需要在模型训练测试过程添加TrainLineage/EvalLineage callback记录溯源信息,即可在MindInsight模型溯源和数据溯源标签页回溯查看。*支持通过user_defined_info参数记录自定义溯源信息。*支持模型参数和数据处理参数的筛选和排序。
模型溯源页面
MindSpore0.3.0-alpha
差分隐私差分隐私(Differential Privacy)是一种强大的隐私保护技术,通过限制单个数据对数据分析结果的影响,防止反推个人敏感信息。在AI世界中,差分隐私技术可以限制通过AI模型分析训练数据中的隐私信息。MindSpore的安全组件提供了差分隐私训练模块,用户可以使用添加高斯噪声的差分隐私优化器(DP-SGD),训练出保护隐私的AI模型。同时MindSpore还提供了差分隐私预算监测器,方便用户在训练过程中跟踪差分隐私的保护效果。
[8]
二阶优化MindSpore在v0.3版本中重磅推出了二阶优化,平衡了二阶带来的额外计算量,在ResNet网络上达到目标精度(0.759)仅用了42个迭代(epoch),比同样软硬件环境下的一阶优化快了近1倍(一阶优化使用了81epoch达到目标精度),训练效率得到提高。
[8]
PyTorch一键转化为了方便大家都能快速切换到MindSpore生态上来,MindSpore提供了模型转换工具,目标将PyTorch训练脚本快速转换成MindSpore训练脚本,自动替换其中90%以上的算子,节省大量算子查询和替换工作。剩余未替换部分也会标注出来,让用户快速定位,聚焦工作。
[8]
除了这些,MindSpore还新增支持了DeepFM、DeepLabV3、Wide&Deep等新的模型,修复了一些关键bug,增添了网络迁移教程、自定义算子教程等等。
[8]
MindSpore0.5.0-beta
图算融合图算融合,将算子与图层的表达进行统一,提供了一种简洁而统一的表达能力,作为算子的一种新的表达方式、融合方法、编译流程,让人有种通过Python写网络一样体验。在中间表达中,它用基础原语组成的子图来表达算子的内部计算逻辑,打破了原有算子和图层之间的信息边界。利用统一的表达能力,图算融合实现一种更通用的更细粒度的算子融合能力,通过分析和优化现有网络计算图逻辑,对原有计算逻辑进行拆分、重组、融合,在中间表达中自动形成融合子图。在后端,这些融合子图会由AKG(Auto Kernel Generator)自动生成高性能的融合算子,且基于polyhedral实现了Auto schedule,从而实现网络整体执行时间的端到端深度优化。打开开关即可获得性能收益,例如在BERT中通过打开图算的使能开关可以获得14.8%的图算融合收益。
[9]
量化训练0.5版本,MindSpore上线了量化训练部分,用户可以使用MindSpore进行量化训练,它能在不明显降低精度的情况下,把模型尺寸减低为原来的25%~40%,同时能减少模型内存占用,加快模型推理速度,降低功耗等。官方也在Model Zoo中提供了部分已经实现好的量化脚本。不过本版本端侧量化推理部分还未正式上线。
[9]
混合异构MindSpore 0.5版本上线了混合异构特性,即支持网络中部分算子跑在Host端,部分算子跑在Device端。在一些网络执行过程中需要用到大量的内存,而Device内存无法满足训练要求,有了Host/Device异构执行,用户可以将操作大数据的算子设置在Host执行,从而解决网络无法在纯Device端训练的问题。如Wide&Deep的典型网络,当Embedding Table大到无法装入Device内存时,可以将操作EmbeddingTable的Lookup算子及优化器放到Host端执行以满足wide&deep大规模权重训练的要求。图神经网络近两年,图神经网络的研究成为一个热门方向,在社交网络、知识图谱、推荐系统,生命科学等领域有广泛的应用场景;MindSpore新版本可支持图神经网络的训练,最典型的GCN和GAT网络在Cora和Citeseer数据集上做混合精度训练,平均精度如下:平均精度CoraCiteseerGCN81.5%71.5%GAT83.0%72.5%图1是Cora数据集经过GCN训练后的节点特征的t-SNE结果。
图1
可视化性能分析工具MindSpore可视化组件(MindInsight)更新了系统化的性能分析工具——Profiler,用户能够使用它来帮助理解、分析、调试并优化神经网络的性能。使用Profiler可以:l在训练脚本中启动、停止Profiler功能,收集性能分析数据;l查看训练的迭代轨迹(指step间隔、前向/反向计算、AllReduce等各阶段时间占比)统计信息,定位性能瓶颈所在的阶段;l分析神经网络中算子的执行性能,包括单算子性能分析和算子类型性能分析;l分析训练数据准备(MindData)阶段的性能,定位数据算子的瓶颈所在;l查看训练timeline,分析stream/task在Ascend芯片上的执行序列和执行时间。
[9]
MindSpore0.6.0-beta
MindSpore Serving模型训练、验证完善后,如何生产上线使用,就好比是八仙过海各显神通。针对这种情况,MindSpore突出了Serving模块,它是一个轻量级的服务模块,为生产环境而设计,旨在帮助开发者在生产环境中部署在线推理服务。它支持多种编程语言开发客户端,例如C++和Python。当用户使用MindSpore完成模型训练后,导出MindSpore模型,即可使用MindSpore Serving创建该模型的推理服务。MindSpore Serving当前的主要功能:训练完成后无缝对接推理服务支持推理模型的预加载,获得更佳性能的推理服务
PS分布式训练分布式训练作为MindSpore的特性之一,MindSpore团队在v0.6版本里又添加了新的内容——PS分布式训练。Parameter Server(参数服务器)是分布式训练中一种广泛使用的架构,既支持同步SGD,也支持异步SGD的训练算法。在扩展性上,将模型的计算与模型的更新分别部署在Worker和Server两类进程中,使得Worker和Server的资源可以独立地横向扩缩。另外,在大规模数据中心的环境下,计算设备、网络以及存储经常会出现各种故障而导致部分节点异常,而在参数服务器的架构下,能够较为容易地处理此类的故障而不会对训练中的任务产生影响。在MindSpore的参数服务器一共包含三个独立的组件,分别是Server、Worker和Scheduler,作用分别是:Server:保存模型的权重和反向计算的梯度值,并使用优化器通过Worker上传的梯度值对模型进行更新(当前版本仅支持单Server);Worker:执行网络的正反向计算,正向计算的梯度值通过Push接口上传至Server中,通过Pull接口把Server更新好的模型下载到Worker本地;Scheduler:用于建立Server和Worker的通信关系;相较于同步的AllReduce训练方法,Parameter Server具备着很好的灵活性、可扩展性以及节点容灾的能力。
超大规模稀疏特征训练像wide&Deep的推荐网络,根据场景不同特征数量可能是千万到百亿的规模,Embedding参数量是GB级到TB级。这么大的参数量,远远超过了设备内存容量,无法直接在设备卡上进行训练。
[10]
为此,MindSpore在全下沉模式(所有计算都在Device上)之外,提供了Host-Device混合执行模式,即Embedding部署在host测,DNN和通信下沉到Device侧,来解决embedding容量的问题,发挥昇腾芯片算力;并在此基础上实现了混合并行(Embedding模型并行,DNN数据并行)实现超大规模Embedding的高性能训练。
对于第二种模式,目前可以支持500GB的模型,使用creteo数据集训练的性能和精度测试结果如下表:
[10]
MindSpore0.7.0-beta
MindSpore Lite本次更新的重点是,MindSpore发布了针对手机及IoT场景,端到端的解决方案——MindSpore Lite。从模型开始到编译发布,提供了包括转换工具、Runtime等工具链,帮助用户在手机以及后续的IoT设备上使能MindSpore的AI能力。Fuzz测试工具在实际使用过程中因为一些原因,譬如使用图像分类应用时,当镜头模糊、光照不足、下雨大雾、拍摄角度等等情况下,实际输入的数据与训练模型时的标准数据集有一些不同。在这种情况下,模型可能出现模型精度答复下降。而在某些极端情况下,可能出现未知的推理失误,引入安全性问题。如在人脸解锁场景,可能因为未知的干扰,而意外解锁。为了更好的评估和提高模型的鲁棒性,同时尽可能激活神经元,减少未知的安全风险,MindArmour提供了Fuzz(模糊)测试工具。测试过程中,工具的Fuzzer Moduler(Fuzz模块)可以对数据集进行增强,如色差、翻转、模糊等,自动化产生测试样例,如图2右侧。在结果输出方面,用户可以看到模糊测试结果,评价了图像的覆盖率指标以及精度下降。图2左侧可以看出在模型出现扰动的情况下,模型精度(Accuracy)下降程度以及神经元激活程度(Coverage Rate)。
图2
深度概率编程深度概率编程融合了深度学习和贝叶斯建模,深度概率模型相比于传统的深度神经网络模型,引入了不确定性,提升了模型的鲁棒性和可解释性。MindSpore在v0.7版本中,提供了概率模型的高效编程库,可以与深度学习模型无缝融合,以面向不同需求的开发者。
[11]
对于熟悉深度学习的同学,支持深度神经网络一键转贝叶斯神经网络;也支持调用封装好的接口,像实现深度神经网络一样实现贝叶斯神经网络和生成网络;并提供不确定性估计工具,方便同学评估模型和数据。对于熟悉概率学习的同学,其提供通用、模块化的贝叶斯建模和推断方法库,包括概率采样库、贝叶斯神经网络,概率推断算法等,帮助用户更加快速、简洁地进行概率编程。
自动数据增强MindSpore数据处理组件新增了自动数据增强的能力,支持用户在处理数据过程中定制及调整数据增强操作。主要有以下两种特性:· 支持基于概率动态调整数据增强策略根据用户预置策略列表,每次随机选择一个策略,同时同一策略各数据增强算子有不同的概率,按照概率选择算子执行。· 支持用户根据pipeline上下文信息或训练结果动态调整数据增强策略支持batch、 epoch粒度调整数据增强策略。
MindSporev1.0.0
三大创新助力全场景AI应用
[12]
创新一:全流程极简,多套件打造极致开发体验
[12]
在1.0版本中,官方提供了40+个典型的高性能模型,覆盖了CV、NLP、推荐、语音等各个领域,大家可以使用这些模型直接推理或者加载自己的数据集做Fine-tuning,这样可以节省大量训练的时间和成本,快速开发出智能的服务和应用。
[12]
1.0版本中,MindSpore提供了所见即所得的模型开发和调优套件。在模型开发阶段,MindSpore基于统一的自动微分引擎,支持用户用一行代码切换动态图和静态图模式,使得兼顾开发效率和执行效率。
[12]
创新二:全自动并行,最大释放集群算力
· 在算法层面,MindSpore拥有自动并行能力,可以根据集群配置对模型和张量自动切分,将串行算法进行自动并行,大大减少算法开发人员的分布式代码开发和调优的负担,使得算法调优时间从月级降到天级;
[12]
· 在算子层面,MindSpore提供了算子级并行自动融合,通过细粒度pipeline的并行执行的方式,进一步提高计算性能;
[12]
· 在硬件层面,MindSpore进行整图调度,可以根据计算特征,自动把算子调度到异构设备上执行,实现异构多核的高效并行执行;
[12]
创新三:全场景协同,智能匹配端、边、云多样设备MindSpore 1.0提供模型自适应生成能力,通过平衡模型精度和设备资源约束,自动搜索匹配的模型,开发者只需要做一次训练,得到的模型就可以在端、边、云等多处部署,可保证生成的精度损失小于1%。
三大黑科技加速AI模型训练黑科技一:二阶优化算法;MindSpore自研二阶优化算法THOR通过减少二阶矩阵求逆次数以及降低二阶矩阵的维度来降低求逆时间。
黑科技二:图算融合优化;MindSpore图算融合优化是通过分析和优化现有网络计算图逻辑,对原有计算逻辑进行拆分、重组、融合等操作,以减少算子执行间隙的开销并且提升设备计算资源利用率,从而实现网络整体执行时间的优化。
[12]
黑科技三:轻量级神经网络推理框架MindSpore Lite;MindSpore Lite是MindSpore新发布的一个轻量级神经网络推理框架,帮助开发者使能端侧及边缘侧AI能力。主要包含离线转换工具和轻量级运行时两部分。离线转换工具将MindSpore模型及第三方模型变得更小,运行更快;轻量级运行时可部署到智能手机、以及手表、耳机等资源受限(算力,存储,电量等)嵌入式设备。
[12]
MindSporev1.1.0
MindIR:是MindSpore提供的中间表达形式,可以帮助大家实现一次训练多处部署,实现端云互通。MindIR通过统一的算子IR定义,消除了不同后端的模型差异,大家可以基于同一个模型文件在端、边、云不同平台上进行协同任务。
[13]
MindIR图存储内容(anf图)示意如下:
MindSpore Serving:是一个轻量级、高性能的服务模块,旨在帮助MindSpore开发者在生产环境中高效部署在线推理服务。
[13]
端侧训练:MindSpore开源了端侧训练特性,能够使用端侧计算单元对模型进行fine tuning,以达到AI应用越用越精准的目标。
[13]
MindSpore PyNative:在MindSpore PyNative模式下,大家可以像调试python代码一样调试网络模型,打断点,看输出,分析问题。
[13]
调试器:MindSpore1.1版本重新设计了调试器的检查能力,增强了易用性,能够更好地帮助用户定位精度问题。新增近二十项检查规则,支持对权重、激活、梯度、张量等进行针对性的检查,提前发现训练问题。调整检查规则后支持对当前数据进行重新检查,不漏过可疑点。
[13]
单节点数据缓存:是指缓存服务器为在同一台机器上的多个客户端提供数据缓存服务,用于加速模型训练中的数据预处理。缓存服务,支持两类数据的缓存,即元数据缓存和预处理后数据缓存,可避免重复的数据加载和预处理,提升数据处理的吞吐量,实现高速数据供给,缩短简单模型的训练时间。
并行拓扑内存约束优化器SOMAS:对并行流信息与数据依赖进行聚合分析,得到算子间祖先关系,构建张量全局生命期互斥约束,再使用多种启发式算法求解获得最优的内存静态规划,实现逼近理论极限的内存复用,可大幅降低多流大型计算图训练内存使用量,进而提升训练的Batch Size数量和训练吞吐量FPS。SOMAS优化后内存大幅降低。
MindSporev1.2.0
超大规模自动并行:如何在大集群下高效训练千亿至万亿参数模型?当前主要面临两个挑战:切分难——用户需要综合考虑参数量、计算量、计算类型、集群带宽拓扑和样本数量等,才能设计出性能较优的并行切分策略;编码难——模型编码除了要考虑算法以外,还需要编写大量并行切分和通信代码。
[14]
MindSpore采用多维度自动并行,通过数据并行、模型并行、Pipeline并行、异构并行、重复计算、高效内存复用及拓扑感知调度,降低通信开销,实现整体迭代时间最小(计算时间+通信时间)。
[14]
MindSpore for IoT:相较于移动终端设备,IoT设备上系统资源有限,对ROM空间占用、运行时内存和功耗要求较高,为了使得IoT设备上也能方便快速的部署AI应用,MindSpore Lite此次正式开源了代码自动生成工具Codegen,旨在将模型编译为极简的代码,用于推理。
[14]
Codegen可对接MindSpore Lite的NNACL算子库和ARM的CMSIS算子库,支持生成可在X86/ARM64/ARM32A/ARM32M平台部署的推理代码。
可解释AI能力:MindSpore在MindInsight部件中集成了的可解释AI能力:显著图可视化、反事实解释和可解释AI评估体系(度量体系),旨在帮忙开发者更好进行模型调优。显著图可视化和反事实解释:能够为图片分类模型的推理结果,标识影响分类结果的关键特征,方便理解分类依据,帮助分析定位分类错误原因,加速模型调优。
[14]
评估体系:面向各种解释方法,给出在具体场景下,选中解释方法在不同度量方法下的解释效果得分,助力用户选择最优的解释方法,从而更好的帮助模型调优。
[14]
MindSporev1.3.0
MindSpore Federated:联邦学习是一种加密的分布式机器学习技术,它是指参与联邦学习的各用户在不共享本地数据的前提下共建AI模型,主要用于解决数据隐私和数据孤岛的问题。MindSpore Federated优先专注于大规模参与方的横向联邦的应用场景。
[15]
端云场景下的参与方是非常大量的手机或者IoT设备,其分布规模和设备不可靠性带来了系统异构、通信效率、隐私安全和标签缺失等挑战。MindSpore Federated设计了松耦合分布式服务器、限时通信模块、容忍退出的安全聚合等模块,使得任何时候只要部分客户端可用,都可以进行联邦学习任务,并解决了系统异构带来的“长尾效应”,提高了学习效率。
搭载于MindSpore端边云全场景统一的基础架构,MindSpore Federated将会作为华为终端的核心竞争力之一,在保护用户隐私的前提下,提供更具有个性化的用户信息决策。MindSpore Lite 端云训练:MindSpore Lite采用了训练内存复用、virtual batch、混合精度训练、在线融合、量化等手段对减少端侧训练时的内存占用。同时在联邦学习MindSpore Federated场景下支持云侧对端侧权重的读写,权重采用差分隐私方式进行端云传输进一步保证了端云训练中的安全性。
[15]
当前MindSpore Lite支持对MindSpore训练导出的模型进行增量训练,实现云-端训练的无缝切换。但由于端侧硬件资源的限制,如何在不影响用户体验下进行训练,对端侧训练的内存和性能提出了挑战。端云训练一般流程如下:
调试器易用性:作为MindSpore图模式下的调试利器,调试器提供了丰富的检查规则帮助用户快速识别常见精度问题。为了帮助大家更好地在图模式下调试脚本,1.3版本中,我们新增了图码结合调试和训练回放功能。
[15]
图码结合调试:一眼掌握代码和计算图的关系。MindSpore图模式的调试中,在调试器的帮助下,可以方便地查看计算图中算子节点和代码的关联关系,无论是以码搜图,还是以图找码,都能在图形界面下快速完成。支持离线调试:随时离线回放分析训练过程,节约AI处理器资源。在使用之前的调试器时,要求先启动训练进程,在训练进程运行的过程中对精度问题进行分析。我们提供了离线调试的能力,通过dump功能将调试数据保存到磁盘上,然后就可以在不使用昇腾AI处理器的情况下回看训练过程,分析精度问题。由于数据在磁盘上,离线调试中还可以随意切换正在调试的迭代,回放训练,免去在线调试错过关键迭代后又要从头运行脚本的烦恼。
[15]
支持单机多卡调试:定位并行训练中的精度问题。在离线调试功能的基础上,调试器支持了单机多卡训练的调试。在MindSpore上调试单机多卡的训练时,只需通过dump功能保存数据到磁盘,就可以使用MindInsight可视化地进行分析。调试器中已经提供的监测点,例如检查梯度消失,检查激活值饱和,检查权重不更新等,都可以继续在此场景下使用。图码结合调试同样支持单机多卡。
[15]
推理优化:为了更好的支持PC侧推理,x86_64从汇编层面入手,支持针对不同卷积shape的动态block切分,充分利用寄存器等硬件资源,使我们推理性能达到极致,较上个版本推理时延有了10%~75%+的提升。我们在Intel Core i7-8700 CPU上与OpenVINO(2021.3.394)、MNN(1.2.0)、TNN(v0.3)在几个经典CV类网络上进行benchmark测试,从测试结果可以看出MindSpore Lite保持了较高的水平。
[15]
图算融合加速MindSpore网络训练:图算融合是MindSpore的关键技术之一,通过图层融合与算子生成的协同优化来提升网络执行性能。在之前版本,我们使能了NPU(昇腾)和GPU上图算融合的基本能力,并且在标杆网络上取得了不错的成绩。在1.3版本中,我们加强了图算融合在GPU上的泛化能力,通过对Model Zoo 40多张主流网络的验证,平均可获得89%的性能提升。
[15]
MindSporev1.5.0
1.5版本为大家带来全新科学计算行业套件MindScience、支持混合专家(MoE)与异构并行、亲和算法库MindSpore Boost、集群调优支持大规模分布式训练,并完善控制流使用,新增对外开放机制等诸多新特性。
[16]
MindScience:科学计算行业套件,为高性能科学应用提供计算新范式通过多尺度混合计算和高阶混合微分两大关键技术,将MindSpore原有的AI计算引擎升级为AI与科学计算的统一引擎,实现融合的统一加速。在此基础上,我们计划面向8大科学计算行业打造MindScience系列套件。这些行业套件包含数据集、基础模型、预置高精度模型和前后处理工具,加速科学行业应用开发。
[16]
当前推出了面向电子信息行业的MindElec套件和面向生命科学行业的MindSPONGE套件,分别实现了电磁仿真性能提升10倍和生物制药化合物模拟效率提升50%。
[16]
自动并行支持混合专家(MoE)与异构并行:联合中科院发布全球首个三模态大模型—紫东.太初,又实现遥感领域超分辨率图像自动切分。
[16]
混合专家(MoE)及其并行:基于Transformer扩展的大模型是当前各种大模型的主干,现在,混合专家(Mixture of Expert,MoE)结构成为扩展Transformer的一种关键技术。
[16]
如下图所示,Transformer中每层是由Attention和FeedForward(FFN)这两个基础结构组成的。将FFN看做是一个专家(expert),MoE结构是由多个专家并行组成,其入口是一个路由器(router),负责将token分发给各个专家,可以有多种路由策略可选择(如Top,Top2等),其出口是加权求和。
MoE已被验证过在多种任务上有优异的效果,是万亿以上大模型的基础结构。MindSpore 1.5版本已实现了MoE的结构和专家并行的功能:允许多专家在多设备上并行执行。如下图所示,路由器(数据并行)经过AllToAll算子将token分配到各个设备上的专家进行计算,而后,又进过AllToAll将结果汇聚。
[16]
异构并行:受限于GPU/NPU设备的内存瓶颈,有效利用Host端的内存成为解决大模型扩展的一种可行的途径。异构并行训练方法是通过分析图上算子内存占用和计算密集程度,将内存消耗巨大和适合CPU处理的算子切分到CPU子图,将内存消耗较小计算密集的算子切分到硬件加速器子图,框架协同不同子图进行网络训练的过程,能够充分利用异构硬件特点,有效的提升单卡可训练模型规模。
[16]
对于大规模预训练模型,其主要的瓶颈往往在于参数量过大,设备显存无法存放下来。MindSpore1.5版本在处理大规模预训练网络时,可以通过优化器异构将优化器指定到CPU上,以减少优化器状态量显存占用开销,进而扩展可训练模型规模。如下图所示,将FP32的Adam优化器放置于CPU上进行运算,可以减少60%多的参数显存占用。
[16]
MindSpore Boost:训练是一个复杂的计算过程,端到端训练包含很多步骤。深度学习训练过程本身是个高冗余的计算过程,需要围绕多个模块分别进行计算优化,最终实现不同AI场景下端到端训练的效率优化。在MindSpore 1.5版本中,华为中央媒体技术院与MindSpore共同推出亲和算法库MindSpore Boost 1.0,目标都是为了在不同的AI场景下,保持用户训练精度的同时,为用户提供高效的训练体验,包含数据、网络、通信、训练策略和优化器等维度的加速算法,架构图如下所示。
[16]
除了亲和算法外,我们还提供简易模式,进行算法封装,为用户提供三种不同层级的选择,即O1/O2/O3,随着层级的递增,其加速比例增加,这种模式下,用户无需了解算法细节, 仅需要在调用Model的训练入口时,打开加速开关和选择加速层级即可。集群调试调优支持大规模分布式训练:大模型是当前深度学习领域研究的热点之一。模型的参数量和训练数据集的大小均以指数级的规模快速增长。以MindSpore和鹏城实验室共同发布的鹏程·盘古模型为例,模型的参数量达到了2000亿,使用2K集群历时数月进行训练。在这样的背景下,模型性能调优对减少训练时间和成本有着至关重要的意义。
[16]
MindSpore 1.5版本发布集群调试调优工具链,针对K级集群性能数据能够做到一键收集,提供集群慢节点/慢网络、计算通信比、内存热力图等多维性能分析与可视化能力,结合智能集群调优建议,达成小时级性能瓶颈定位。
[16]
集群迭代&通信性能分析:以集群视角汇总了多项性能关键数据,并对多卡数据提供了排序、分析功能,用户可快速的从K级集群中找到慢节点、慢链路等,并从集群页面跳转到对应的单卡页面,进一步定界节点慢的原因,找到最小性能瓶颈点。
计算通信比分析:集群并行训练过程中,通信是影响性能的重要因素,计算通信比指标可以帮助开发者分析网络切分策略是否合理以及是否有优化空间。如下图所示,非overlap 87ms是开发者可关注的性能提升空间。MindSpore Lite新增对外开放机制:支持Hi3516/3549芯片以及更多异构硬件的对接MindSpore Lite新增了两个对外开放的接入机制:支持南向自定义算子接入,支持第三方AI框架通过Delegate机制接入。
[16]
南向自定义算子的接入功能,支持用户自定义图优化能力,实现在离线阶段生成特定硬件支持的模型文件,同时支持特有硬件算子接入MindSpore Lite Runtime,实现MindSpore Lite在第三方硬件上高性能推理,当前我们已经接入Hi3516/3559芯片,使机器视觉AI应用开发更加便捷。
[16]
灵活表达:完善控制流,支持多种控制语句混合编写,支持循环自动微分在此版本中,在控制流语法的使用方面我们提供以下支持与优化:进一步强化了对于静态图控制流的支持,通过使用虚拟机机制执行控制流算子,解决了控制流非尾递归场景的图递归执行问题,实现了对循环求反向的支持。同时,我们扩大了控制流的语法支持范围,目前控制流已可以支持if、while、for、break、continue表达。一个if语句基于虚拟机机制的控制流执行流程如图所示:
[16]
优化静态图编译过程,减少了控制流网络的子图数量,大幅提升部分复杂控制流网络场景下的编译性能和执行性能。支持控制流MindIR导入导出功能,可以在云侧训练控制流网络导出MindIR,在端侧导入MindIR进行推理。
MindSporev1.6.0
此版本中昇思MindSpore全场景AI框架易用性不断改进,控制流性能提升并支持副作用训练,昇思MindSpore全场景AI框架发布高效易用的图学习框架昇思MindSpore Graph Learning,高性能可扩展的强化学习计算框架昇思MindSpore Reinforcement,提供支持第三方框架模型迁移工具,同时升级自定义算子能力支持高效添加算子,持续提升框架的训练与推理性能。控制流支持副作用训练,持续优化性能昇思MindSpore全场景AI框架1.6.1版本,我们对控制流的IR表达设计进行了重构,消除了不必要的图复制,对控制流场景下各方面进行了较大的优化。
[17]
1.支持训练场景使用Assign等副作用算子。2.优化控制流子图数量,反向网络可直接复用正向图算子结果,不需要重复计算正向图,提升了执行性能和编译性能。3.支持数据无依赖子图并行执行,同时优化了空子图执行流程,整体上提升控制流场景执行性能。
AirNet网络优化前后子图数量与执行性能对比
昇思MindSpore Graph Learning:公式即代码,训练加速3到4倍图数据能自然表达真实世界对象之间的关系,表征能力和可解释性强,图关系大都错综复杂,数据规模较大,通常有数十亿点,数百亿边,点边类型有几百种,图神经网络计算更加复杂耗时,因此迫切需要高效的图神经网络系统。同时,GNN算法的快速发展,需要易用的系统允许自由扩展。
[17]
昇思MindSpore Graph Learning是由James Cheng课题组、华为昇思MindSpore团队联合研发的图学习框架,具有高效性、易用性等特点。
高性能可扩展的强化学习计算框架:昇思MindSpore Reinforcement昇思MindSpore全场景AI框架 1.6版本推出了独立的强化学习计算框架昇思MindSpore Reinforcement,通过框架中的Python 编程API以及算法与执行分离的设计使其具有易编程,可扩展等特点,期望带给用户一个全新的开发体验。
[17]
自定义算子能力全面升级,统一Custom接口帮助用户高效添加算子昇思MindSpore全场景AI框架1.6版本升级了自定义算子的能力,提供支撑包括Ascend,GPU和CPU在内的多平台的统一算子开发接口Custom,帮助用户在昇思MindSpore全场景AI框架方便快捷地进行不同类型自定义算子的定义和使用,可以满足包括快速验证,实时编译和第三方算子接入等不同场景下的用户需求。MindQuantum:快速上手量子模拟与量子机器学习MindQuantum 最新0.5版本中提供独立的量子模拟模块Simulator,用户可快速对自定义量子线路进行模拟演化并对量子态进行采样,在MindQuantum环境中设计和验证自己的量子算法。
[17]
新增模拟器模块及其线路采样功能演示如下:
MindSporev1.7.0
提供易用灵活的numpy模块,加速昇思MindSpore +科学计算mindspore.numpy模块包含一套完整的符合Numpy规范的接口,开发者可以使用Numpy的原生语法表达昇思MindSpore的模型,同时拥有昇思MindSpore的加速能力。
[18]
mindspore.numpy, 不止是numpy的加速平替,更是构建神经网络的极简编程工具。numpy的大多数常用接口也是神经网络构建中必不可少的,在构造模型时,开发者不再需要每次实例化算子后调用,而可以选择使用mindspore.numpy中的接口,完成想要的功能。支持数据处理自适应调优,充分发挥数据处理性能昇思MindSpore1.7版本提供了一种数据处理自动调优的工具——Dataset AutoTune。在训练过程中,此工具可以帮助用户根据系统环境资源的情况自动调整MindSpore Data数据处理管道的并行度和内存使用度,利用当前系统资源加快数据处理管道的处理速度。
[18]
MindSpore Quantum:支持含噪声量子模拟器和量子线路的SVG绘制模式在昇思MindSpore1.7版本中,引入了噪声模拟功能,只用在量子线路中引入不同的噪声信道就能完成含噪量子模拟,从而使自己的模型更接近与真实情形,这些噪声信道包含泡利信道、比特翻转信道、相位反转信道等。
[18]
还支持在Jupiter notebook中展示量子线路的svg格式图片,可以直观地了解线路的构成并方便传播自己的量子算法。
左图是构建一个贝尔态的量子线路,由于误差的存在,右上图为该量子线路的SVG格式图片,右下图为量子线路采样结果图片。zhua曲子白渡白颗
百度百科内容由网友共同编辑,如您发现自己的词条内容不准确或不完善,欢迎使用本人词条编辑服务(免费)参与修正。立即前往>>
词条图册
更多图册
分享你的世界
查看更多
昇思MindSpore两周年:一个学习型开源社区的成长记事
很多开发者在昇思MindSpore社区找到了志同道合的人,找到了他们热爱的事情,然后用自己的擅长方式“改变世界”。
Alter
砥砺再出发,MindSpore开源一周年后的项目新思考
文|智能相对论
智能相对论
鲲鹏计划获奖作者
华为发布AI处理器昇腾910及全场景AI计算框架MindSpore
8月23日,华为公司轮值董事长徐直军发布AI处理器Ascend910。 当日,华为在深圳发布AI处理器Ascend910(昇腾910),同时推出全场景AI计算框架MindSpore。华为公司轮值董事长徐直军在发布会上表示,华为自2018年10月发布AI战略以来
中国日报网
中国日报网官方帐号
华为发布最强 AI 处理器昇腾 910,全场景 AI 框架 MindSpore 将开源
整理 | 胡巍巍
CSDN
鲲鹏计划获奖作者
华为发布AI处理器Ascend 910及全场景AI计算框架MindSpore
8月23日消息,华为正式发布了算力最强的AI处理器Ascend 910(昇腾910),同时推出全场景AI计算框架MindSpore。
卡点科技
优质数码领域创作者
华为发布最新 AI 处理器 Ascend 910 及 AI 计算框架 MindSpore
8 月 23 日,华为在深圳总部正式发布算力最强的 AI 处理器 Ascend 910(昇腾 910),同时推出全场景 AI 计算框架 MindSpore。
动点科技
上海创言信息科技有限公司
全球最强!华为昇腾910AI芯片商用,全场景AI框架MindSpore问世
2018 年 10 月,在华为 2018 全联接大会上,华为对外宣布了昇腾 910 芯片(Ascend 910)芯片,号称是全球已经发布的单芯片计算密度最大的 AI 芯片——当然,从宣布到商用也需要一个过程,华为当时表示会在 2019 年第二季度商用。
雷峰网leiphone
鲲鹏计划获奖作者
华为发布最新AI处理器昇腾910及全场景AI计算框架MindSpore
来源:央视新闻客户端
金融界
北京富华创新科技发展有限责任公司官方帐号
华为发布AI处理器昇腾910及AI计算框架MindSpore
蓝鲸TMT频道8月23日讯,今日,华为发布算力最强的AI处理器“昇腾910”,同时推出全场景AI计算框架MindSpore。华为公司轮值董事长徐直军在发布会上表示:“昇腾910”、MindSpore的推出,标志着华为已完成全栈全场景AI解决方案的构建,也标志着
蓝鲸财经
蓝鲸财经官方帐号,优质财经领域创作者
华为正式发布最新AI处理器昇腾910及全场景AI计算框架MindSpore
今天下午15点,华为在深圳总部发布算力最强的AI处理器“昇腾910”,同时推出全场景AI计算框架MindSpore。华为公司轮值董事长徐直军在发布会上表示:“昇腾910”、MindSpore的推出,标志着华为已完成全栈全场景AI解决方案的构建,也标志着华为AI战略的执行进入了新阶段。
文汇报
文汇网官方帐号
参考资料
又放大招!华为发布AI芯片“昇腾910”
.人民网.2019-08-23[引用日期2020-09-29]
MindSpore官网
.MindSpore官网.2020-05-08[引用日期2020-09-23]
MindSpore总体架构
.MindSpore官网.2020-09-23[引用日期2020-09-29]
MindSpore-华为计算框架
.华为官网-MindSpore产品页.2020-01-16[引用日期2020-06-09]
MindSpore官网安装教程
.MindSpore官网.2020-05-08[引用日期2020-09-29]
MindSpore安装指南
.MindSpore官网.2020-03-28[引用日期2020-06-09]
MindSpore 新版本(0.2.0-alpha)解读
.MindSpore官网.2020-04-30[引用日期2020-06-12]
MindSpore新版本v0.3.0-alpha解读
.MindSpore官网.2020-05-31[引用日期2020-06-15]
MindSpore新版本v0.5.0-beta解读
.MindSpore官网.2020-06-30[引用日期2020-07-17]
10
MindSpore新版本v0.6.0-beta解读
.MindSpore官网.2020-07-31[引用日期2020-08-21]
11
MindSpore新版本v0.7.0-beta发布!
.MindSpore官网.2020-09-01[引用日期2020-09-18]
12
MindSpore新版本v1.0.0-beta解读
.MindSpore官网.2020-09-25[引用日期2020-12-01]
13
MindSpore新版本v1.1.0解读
.MindSpore官网.2020-12-31[引用日期2021-01-01]
14
MindSpore 1.2:国内首个支持千亿参数大模型训练的AI计算框架
.MindSpore.2021-04-29[引用日期2021-04-29]
15
MindSpore 1.3,打造无所不在的智能,诠释可以信赖的开源
.官网indSpore.2021-07-16[引用日期2021-08-09]
16
新版本|昇思MindSpore再升级,深度科学计算的极致创新
.官网MindSpore.2021-09-26[引用日期2021-10-13]
17
昇思MindSpore全场景AI框架 1.6版本,更高的开发效率,更好地服务开发者
.官网MindSpore.2022-01-28[引用日期2022-08-08]
18
昇思MindSpore 1.7:易用灵活新起点,带给开发者新体验
.官网MindSpore.2022-04-29[引用日期2022-08-08]
展开全部
收起
图集
MindSpore的概述图(1张)
V百科往期回顾
词条统计
浏览次数:次
编辑次数:25次历史版本
最近更新:
御北CC
(2022-08-08)
总体架构
特性
开发态友好
运行态高效
部署态灵活
安装
版本信息
0.2.0-alpha
0.3.0-alpha
0.5.0-beta
0.6.0-beta
0.7.0-beta
v1.0.0
v1.1.0
v1.2.0
v1.3.0
v1.5.0
v1.6.0
v1.7.0
为您推荐广告
新手上路
成长任务
编辑入门
编辑规则
本人编辑
我有疑问
内容质疑
在线客服
官方贴吧
意见反馈
投诉建议
举报不良信息
未通过词条申诉
投诉侵权信息
封禁查询与解封
©2022 Baidu 使用百度前必读 | 百科协议 | 隐私政策 | 百度百科合作平台 | 京ICP证030173号
京公网安备11000002000001号
进入词条
清除历史记录关闭
播报
编辑
讨论
收藏
登录
扫码下载百科APP
领取50财富值奖励
分享到微信朋友圈
打开微信“扫一扫”即可将网页分享至朋友圈
选择朗读音色
00:00
00:00