本文将会整体对华为AI全栈进行介绍,并介绍MindSpore在其中的位置等内容。
昇腾计算,是基于昇腾系列处理器构建的全栈AI计算基础设施及应用,包括昇腾Ascend系列芯片、Altas系列硬件、CANN芯片使能、MindSpore AI框架、ModelArts、MindX应用使能等。
其中华为Atlas人工智能计算解决方案,是基于昇腾系列AI处理器,通过模块、板卡、小站、服务器、集群等丰富的产品形态,打造面向“端、边、云”的全场景AI基础设施方案,涵盖数据中心解决方案、智能边缘解决方案,覆盖深度学习领域推理和训练全流程。
其中,每个模块的作用介绍:
Atlas系列产品:提供AI训练、推理卡及训练服务器(了解更多)。
CANN(异构计算架构):芯片使能、驱动层(了解更多)。
MindSpore(AI框架):全场景AI框架(了解更多)。
MindX SDK(昇腾SDK):行业SDK和应用解决方案(了解更多)。
ModelArts(AI开发平台):华为云AI开发平台(了解更多)。
Mindstudio(全流程开发工具链):AI全流程开发IDE(了解更多)。
MindSpore是一个全场景深度学习框架,旨在实现易开发、高效执行、全场景覆盖三大目标,其中易开发表现为API友好、调试难度低,高效执行包括计算效率、数据预处理效率和分布式训练效率,全场景则指框架同时支持云、边缘以及端侧场景。
MindSpore总体架构如下图所示,分为前端表示层(Mind Expression,ME)、计算图引擎(Graph Engine,GE)和后端运行时三个部分。
MindSpore Extend(扩展层):MindSpore的扩展包,期待更多开发者来一起贡献和构建;
MindExpress(表达层):基于Python的前端表达,未来计划陆续提供C/C++、Java等不同的前端;MindSpore也在考虑自研编程语言前端-仓颉,目前还处于预研阶段;同时,内部也在做与Julia等第三方前端的对接工作,引入更多的第三方生态。
MindCompiler(编译优化层):图层的核心编译器,主要基于端云统一的MindIR实现三大功能,包括硬件无关的优化(类型推导/自动微分/表达式化简等)、硬件相关优化(自动并行、内存优化、图算融合、流水线执行等)、部署推理相关的优化(量化/剪枝等);其中,MindAKG是MindSpore的自动算子生成编译器,目前还在持续完善中。
MindRE(全场景运行时):这里含云侧、端侧以及更小的IoT。