MindStudio概述
MindStudio是华为面向昇腾AI开发者提供的一站式开发环境和工具集,致力于提供端到端的昇腾AI应用开发解决方案。本章节将从功能架构、开发场景和工具呈现形式三个方面,全方位介绍MindStudio。
功能架构
MindStudio为用户提供在AI开发所需的一站式开发环境,支持模型开发、应用开发以及算子开发三个主流程中的开发任务。依靠模型可视化、算力测试、IDE本地仿真调试等功能,MindStudio能够帮助您在一个工具上就能高效便捷地完成AI应用开发。
MindStudio功能框架如图1所示。
开发场景
按照开发场景分类,MindStudio可以分为以下三个工具链:
- 算子开发工具:在完备的调试工具和多样的调优数据的帮助下,通过AscendC的多层接口抽象,简化用户编程难度,助力开发者低成本完成高性能算子开发。
- 训练开发工具:聚焦用户在模型迁移、模型开发中遇到的痛点问题,提供全流程的工具链。通过提供分析迁移工具、精度调试工具和性能调优工具三大主力工具包,帮助用户解决开发过程中迁移困难、Loss跑飞、性能不达标或劣化等问题,让用户轻松解决精度和性能问题,开启乐趣十足的极简开发之旅。
- 推理开发工具:作为昇腾统一推理工具库,提供用户一体化开发所需功能,支持一站式调试调优和迁移分析能力,当前包含推理性能测试-benchmark、一站式调试调优-debug/profile、模型支持度分析-analyze、推理应用迁移分析-transplt以及推理模型转换-convert等核心组件。
工具呈现形式
按照工具呈现形式分类,MindStudio可以分为以下几种工具集:
- MindStudio命令行
与MindStudio IDE不同,MindStudio命令行工具不需要单独下载安装,用户在完成CANN的安装后即可直接通过命令行使用。MindStudio命令行当前包含精度比对工具、AOE工具、性能分析工具和分析迁移工具等。图3 MindStudio命令行界面示例
- Ascend Insight
Ascend Insight是一款主要针对大模型集群场景的调优可视化工具。针对大模型场景下性能数据量大、内存无法读取及可视化界面渲染时间长等问题,Ascend Insight工具通过边读取边渲染和数据库进行加载的方式,解决了这些问题并提供全景交互分析的能力。
Ascend Insight提供了性能数据的多种呈现形式,包括Timeline视图、通信分析和计算耗时等的可视化呈现,以便用户分析潜在的性能瓶颈,并指导如何采取措施消除或减少这些瓶颈。
图4 Ascend Insight界面
- MindStudio IDE
MindStudio IDE是基于开源的IntelliJ IDEA平台开发的针对昇腾AI处理器的集成开发环境。MindStudio IDE除了基本的代码编辑、编译、调试和运行功能之外,还提供了丰富的专门面向昇腾AI开发者的功能和工具,包括分析迁移、精度比对和性能分析等。此外,MindStudio还支持多种编程语言和框架,如Python、C++、TensorFlow和PyTorch等,开发者可以根据自己的需求选择最适合自己的编程方式。
MindStudio IDE当前支持Linux和Windows操作系统,需要下载单独的安装包安装后使用。此外,macOS也可以通过SSH连接启动MindStudio IDE。图5 MindStudio IDE界面示例
- MindStudio插件
MindStudio还可以通过在Pycharm和IntelliJ系列IDEA上安装独立插件的方式进行昇腾AI开发。当前MindStudio提供了MindStudio Sshmanager、MindStudio Inference、MindStudio Training、MindStudio Operator和MindStudio Profiler等插件,需要配合IDEA安装后使用。图6 IntelliJ IDEA安装MindStudio插件