- 课程学习目标:
- 了解开发框架作用:了解AI开发框架在AI应用产生过程中所做的事情。
- 掌握框架结构特性:了解MindSpore框架的结构以及特性。
- AI应用实现与开发框架:
- 实现流程:AI应用需人为设计深度学习算法,结合训练数据和算力设备得到模型,进而构成应用。
- 开发困境:从零实现AI应用涉及大量繁琐步骤,会增加开发成本。
- 框架作用:AI开发框架具有承上启下的功能,包含数据处理开发接口、可视调试、编译运行和高效部署等模块,可提升开发效率。
- 常见AI开发框架:
- 框架列举:目前有MindSpore、Pytorch和Tensorflow等多种好用的开发框架。
- 重点学习:着重学习MindSpore框架后续知识。
- AI开发框架工作细节:
- 前端编程接口:基于开发框架编程接口可快速实现神经网络结构,完成模型编排流程。
- 计算图优化:对模型结构进行优化,包括计算流程融合、重新编排,保证计算效率。
- 后续操作:基于优化后的计算图进行计算编排、调度和内存管理,放到硬件上训练,训练中进行代码和内核优化编译,还可提供分布式训练组件和策略,训练后可实现快速应用部署和推理效率提升。
- MindSpore框架特点:
- 设计目标:源于全产业最佳实践,目标是易开发、高效执行、全场景覆盖。
- 并行策略:支持数据并行、模型并行、混合并行训练,还可自动并行搜索拆分策略。
- MindSpore全场景特性:
- 硬件支持:支持云端服务器、边缘侧推理设备和移动端硬件设备。
- 全场景部署:可部署在端边云三种场景下的多个设备上。
- 运行态高效:执行效率高,MNIST data等组件为高效运行服务。
- 开发态友好:API简单易用,贴近Python语法风格,相对人性化。
- 多领域扩展:基于丰富易用的工具库,可满足不同使用场景。
- 全场景统一:
- 模型下发:云端训练的网络可下发到边缘侧和移动端,因端边侧算力低,需对模型进行裁剪。
- 模型优化:端边侧数据传回云端,云端优化后再下发,形成闭环提升模型。
- 框架层次结构:
- 底层API:包含基础数据操作,面向算法研究人员。
- 中层API:包含封装好的层,可组成所需算法结构。
- 上层API:封装程度更高,可直接使用开源模型,面向应用开发人员。
- 全场景支持模式:
- 训练验证:在云端进行模型训练和验证,不满意可继续优化。
- 模型部署:得到最终模型后可进行云端或端侧推理,在不同平台基于模型进行应用部署。
- 工具链:
- 工具丰富:提供数十种工具,应用于不同领域和方向。
- 举例说明:MindSpore Transformers面向大模型,可快速微调或推理;MindSpore Insights是可视化工具,辅助模型调试调优。
- MindSpore使用:
- 安装方法:进入官网选择安装环境配置,生成安装命令,在目标环境执行安装,使用工具需额外安装。
- 开发模块:将常用功能分类,如NN模块包含神经网络API。
- 开发流程:包括需求分析、环境搭建、数据准备、构建神经网络、训练网络、测试模型、应用部署等步骤。
- 思考题解答:
- 题目:在AI应用中,MindSpore属于以下哪种类别?
- 答案:选择AI开发框架,计算设备、算法、智算中心均不符合题意。