华为昇腾师资培训沙龙杭州场 | MindSpore开源框架公开四大关键特性

百家 作者:AI100 2020-08-18 20:40:35

随着人工智能技术的快速发展与广泛应用,相关专业人才缺口日益增大。

为了助力高校人工智能领域人才培养及学科建设,华为通过昇腾师资培训沙龙,面向广大高校教师提供昇腾全栈全场景AI技术知识点培训。

华为杭州研究所所长庞云光

在近日华为举办的昇腾师资培训沙龙 · 杭州场上,华为杭州研究所所长庞云光表示,构建构建万物互联的世界需要充足的算力,基于此,华为一直致力于打造鲲鹏和昇腾生态,通过培训让高校成员也能接触到鲲鹏和昇腾计算体系,为中国自主的计算产业打下良好基础。
 
浙江大学计算机学院副院长、人工智能研究所所长吴飞教授

浙江大学计算机学院副院长、人工智能研究所所长吴飞教授认为,人工智能技术是引领新一轮科技革命、产业变革和社会发展的战略性技术,具有溢出带动性很强的头雁效应,高校一定要跟企业、政府联合,才能推动人工智能人才的发展。
 
华为海思杭研分部部长王海彬

随后,华为海思杭研分部部长王海彬介绍了“沃土高校教研扶持计划”。其中的昇腾高校合作计划,旨在帮助高校使用华为全栈AI的技术能力及算力资源,开展高校人工智能学科建设,培养产业转型和创新发展所需要的新工科人才;而昇腾高校生态技术合作旨在帮助科研院所培养AI领域的研究创新人才,具体包括算子众筹、模型市场、应用案例等技术合作。


作为当天亮点演讲之一,华为技术专家鲍翀介绍了MindSpore开源AI计算框架,他从整体框架、软件架构、关键技术和应用场景四大层面进行了详细解读。

众所周知,开发门槛高、运营成本高、部署时间长是AI从行业研究到场景应用面临的巨大挑战。为了帮助开发者跨越应用鸿沟,更简单、高效实现AI应用开发和部署,今年3月底开源的MindSpore框架,提出了新编程范式、新执行模式、新协作方式三大技术创新。

MindSpore集成和借鉴了业界主流框架的优势,不过相比同类产品,MindSpore有三大特点:一是开发态友好,AI算法即代码;运行高效,与昇腾芯片对接;部署灵活,全场景按需协同。
 
架构层面,MindSpore由MindSpore Extend、MindExpress、MindCompiler、MindRT等部分组成。此外,鲍翀着重介绍了MindSpore的自动并行、二阶优化、图算融合、全场景部署和协同四大特性。

GitHub链接:
https://gitee.com/mindspore/mindspore
视频回放:
https://live.csdn.net/room/Hansen666666/74Jl5LcE

整体介绍
 

MindSpore对标的是TensorFlow,PyTorch,它对下通过CANN发挥芯片的能力,对上提供网络编程API,以此开发AI应用程序,并且支持ModelArts服务。
 

就其内部而言,MindSpore的上层提供全场景的统一API,让用户基于MindSpore开发AI网络,也可以用MindSpore的接口进行AI训练和推理执行,其中提供的自动微分等AI基础能力,实现AI算法即代码。
 
中间层会提供即时编译器,通过对计算图的编译优化,让程序能在昇腾芯片上高效执行,让AI网络发挥出其算力能力。
 
同时,MindSpore是一体化的部署系统,支持端、云侧的部署使用,并且能够实现分布式协同。
软件架构
 

MindSpore Extend是基于MindSpore的领域库,用于构建很多领域框架比如GNN、深度概率编程、微分方程等。
 
Model Zoo提供一些业界常用的网络,用户直接使用而无需重新开发。
 

MindExpress是一个Python前端,包含High-Level和Low-Level两层API设计,High-Level API提供训练推理接口、混合精度、并行等控制接口,让用户实现整网流程的控制。Low-Level API提供基础的Tensor、优化器等API,而Executor则提供计算的执行控制。

MindCompiler提供面向MindIR的图级即时编译能力,包括自动并行、二阶优化,也有硬件方面的优化,可以让程序在Ascend上高效执行。它是MindSpore的一个重要的子系统。
 
MindIR是MindSpore的一个核心中间表达,通过嵌套式的表达,很简便地支持不同语言的推导。
 

MindRT 子系统是一个统一的运行时系统,支持端、云多种设备形态,支持统一调度管理和内存池化管理,这是复杂网络能在异构硬件上运行的关键技术。它可与昇腾芯片进行深度优化,整图下沉到卡上(on-device执行),减小host-device交互开销,提高深度学习训练的效率。
 

MindData子系统负责高效执行训练数据处理pipeline,与计算形成流水,数据及时导入训练。它的关键功能包括用流水线+并行方式,可提高数据处理吞吐量。还提供自研的数据格式MindRecord,自带元数据,通过聚合存储让数据检索更快。用户还可以自定义Python算子,进行灵活定制。
 

MindInsight子系统是MindSpore的调试调优子系统,提供训练过程可视化、模型溯源、debugger和性能profiling功能,用户可以很方便观测系统的执行。


MindArmour子系统可针对可信AI的各个领域提供全面、有效、易用的评测工具和增强方法。一方面,它提供测试框架的建模,用一系列AI模型去验证系统的安全性和隐私保护能力,另一方面,它对一些常用的AI工具提供了标准安全升级手段。
 
关键技术


简单网络的常规使用方法就是数据并行,但超大模型与超大数据集的分布式训练,需要通过数据并行+模型并行的混合并行方式,才能高效训练网络。模型切分方式是复杂的,但对外提供简单的API去描述。
 

在算法上,二阶的计算量远大于一阶,二阶优化方法可以有效加速模型收敛,减少迭代次数,同时会引入大量复杂计算,限制其在深度模型训练中的广泛应用。MindSpore通过软硬协同的高性能算子解决了二阶信息矩阵逆矩阵的计算问题。
 

为了给用户提供灵活可配的编程能力,需要一系列完备的细粒度表达的算子,但这并不意味着这些算子能在异构硬件上以最高性能进行运行,这就需要一些融合能力。MindSpore对上通过细粒度算子,以提升编程的灵活性,对下通过其自动融合能力来提升性能进行平衡。
 

AI的商用是复杂的,既有云端大规模集群的训练,又有端侧对于轻量级、高性能的追求。MindSpore提供了云、端侧的训练和推理能力,并且使用了相同的算子和对外的接口,实现端、云协同执行,同时提供在训练时的量化感知训练,训练出的模型可以直接部署在端侧进行轻量化的推理,还具有混合执行的能力。


目前,基于MindSpore的华为云训练服务,已部署在华为内部各AI部门,而搭载HMS4.0/5.0的智能手机,使用了基于MindSpore的ML Kit,此外,MindSpore支撑华为数据通信网络平台实现智能控流,解决了拥塞精准控制难题。


还没看过瘾或想了解更多培训详情?没关系,还有机会。接下来,华为还将在武汉、上海、南京、成都4站继续精彩培训课程!点击阅读原文,立即报名参加!

关注公众号:拾黑(shiheibook)了解更多

[广告]赞助链接:

四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/

公众号 关注网络尖刀微信公众号
随时掌握互联网精彩
赞助链接