MindSpore简介(二)

举报
HWCloudAI 发表于 2020/12/15 15:36:35 2020/12/15
【摘要】 1.5.2 端云协同MindSpore依托华为“端—边—云”的业务场景,在隐私保护日渐重要的情况下,致力于支持全场景部署,并打通云到端全流程。MindSpore针对全场景提供一致的开发和部署能力,以及按需协同能力,让开发者能够实现AI应用在云、边缘和手机上快速部署,全场景互联互通,实现更好的资源利用和隐私保护,创造更加丰富的AI应用。学术界和工业界没有对端云协同做系统的概念定义,一般认为涉及...

1.5.2 端云协同MindSpore依托华为“端—边—云”的业务场景,在隐私保护日渐重要的情况下,致力于支持全场景部署,并打通云到端全流程。MindSpore针对全场景提供一致的开发和部署能力,以及按需协同能力,让开发者能够实现AI应用在云、边缘和手机上快速部署,全场景互联互通,实现更好的资源利用和隐私保护,创造更加丰富的AI应用。学术界和工业界没有对端云协同做系统的概念定义,一般认为涉及云和端交互的学习形态,即是端云协同系统。模型压缩、端侧推理、端侧训练、迁移学习、联邦学习等技术在端侧的应用都可以划分到端云协同的范畴。这些涉及在云侧构建、预训练或托管模型,在端侧执行或训练模型,以及云和端之间模型或权重的传输。在端侧推理场景中,对云侧模型进行模型压缩并转换为端侧推理模型,使用端侧推理框架加载模型并对本地数据进行推理。但云侧预训练模型使用的数据集和端侧真实的数据存在差异,为了利用端侧真实数据训练模型,带来精准的个性化体验,端侧训练成为必然。由于端侧设备在算力、电量和数据量方面的限制,从头训练一个模型不切实际,因此迁移学习技术被用在了端侧学习中,可以大幅度降低端侧训练的难度。为了充分利用端侧数据和端侧训练能力,一些端云联合学习方法和框架被提出来,旨在联合多个端侧设备共同训练一个全局模型,并实现端侧隐私保护。Google率先于2016年提出了联邦学习方法和框架。杨强等又提出了横向联邦学习、纵向联邦学习、联邦迁移学习以及联邦强化学习等方法及对应的框架。端侧推理、迁移学习和联邦学习属于端云协同的不同阶段,如图1.3所示的MindSpore端云协同框架融合了这三种形态并打通了云到端全流程。

8.png

MindSpore端云协同框架整合了MindSpore云侧框架、MindSpore端侧框架,并打通了模型生成、模型压缩、编译优化和端侧学习的全流程。MindSpore提供神经架构搜索(Neural Architecture Search,NAS)能力用于自动化生成模型,构建模型库。MindSpore模型压缩模块用于对模型库中的模型进行剪枝和量化。MindSpore提供了编译优化能力用于转换和优化模型,并通过神经处理单元(Neural-network Processing Unit,NPU)、图形处理单元(GraphicsProcessing Unit,GPU)或ARM NEON(1)等加速算子执行。MindSpore端云协同框架具有如下多种特性(2)。

(1)快速多处部署。实际场景中,模型需要快速适配不同机型硬件。通过神经架构搜索技术构建多元化的模型库,适配多种机型。针对特定应用场景,从模型库中搜索满足性能约束的模型,拿来即用,无须重复训练。(2)全栈性能优化。结合神经架构搜索、模型压缩(剪枝、蒸馏、量化)、编译优化(算子融合、常量折叠、硬件加速)等手段优化模型精度、大小、时延,追求极致性能。(3)灵活易用。支持多种策略,如模型生成、模型压缩和编译优化组合使用。打通云到端全流程,集中管理全流程策略和配置,方便使用。(4)多种学习形态。MindSpore端云框架逐步支持多种学习形态,比如支持当前业界常用的端侧推理形态,并逐步支持迁移学习、联邦学习等需要端侧训练能力的高级学习形态,满足开发者各种各样的场景需求。

1.5.3 调试轻松MindSpore实现看得见的AI开发、更轻松的调试体验、动静结合的开发调试模式。开发者可以只开发一套代码,通过变更一行代码,从容切换动态图/静态图调试方式。需要高频调试时,选择动态图模式,通过单算子/子图执行,方便灵活地进行开发调试。需要高效运行时,可以切换为静态图模式,对整张图进行编译执行,通过高效的图编译优化,获得高性能。MindSpore切换调试模式代码如代码1.5所示。

代码1.5 MindSpore切换调试模式代码

9.png

1.5.4 性能卓越MindSpore通过AI Native执行新模式,最大化发挥了“端—边—云”全场景异构算力。它还协同华为昇腾芯片On Device执行、高效AI数据格式处理、深度图优化等多维度达到极致性能,帮助开发者缩短训练时间,提升推理性能。此外,数据集、模型越来越大,单机的内存和算力无法满足需求,需要模型并行;模型手动切分门槛高,开发效率低,调试困难。MindSpore可以通过灵活的策略定义和代价模型,自动完成模型切分与调优,获取最佳效率与最优性能。MindSpore自动并行代码如代码1.6所示。

代码1.6 MindSpore自动并行代码示例

9.png

1.5.5 开源开放MindSpore致力于AI开发生态的繁荣,开源开放可扩展架构,助力开发者灵活扩展第三方框架、第三方芯片支持能力,让开发者实现各种定制化需求。MindSpore将在门户网站、开源社区提供更多学习资源、支持与服务。[插图]

(1) 参考链接:https://developer.arm.com/architectures/instruction-sets/simd-isas/neon。

(2) MindSpore端云协同框架处于开发迭代中,其支持特性以官网公布的为准。

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

评论(0

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

全部回复

上滑加载中

设置昵称

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

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

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