【MindStudio训练营第一季】专家系统
专家系统简介
专家系统(Advisor)是用于聚焦模型和算子的性能调优TOP问题,识别性能瓶颈Pattern,重点构建模型和算子瓶颈分析并提供优化推荐,支撑开发效率提升的工具。当前提供的功能有:基于Roofline模型的算子瓶颈识别与优化建议、算子优化分析、基于Timeline的AI CPU算子优化、算子融合推荐、TransData算子识别和基于训练场景的优化推荐。
- 基础特性
- IDE可视化、命令行
- 生态知识库开发插件
- 知识库管理
- 知识库执行引擎
- 生态知识库市场
- 关键特性
- 模型优化知识库
- 算子优化知识库
- 训练优化知识库
- 生态知识库
模型分析
针对推理流程,模型分析涉及计算图分析、模型运行分析和Roofline算子瓶颈分析。
- 计算图分析
- UB融合:识别潜在可融合的cube算子和vertor算子
- Transdata:识别可以合理插入traindata算子
- AIPP分析:判断模型是否具备首层融合条件,减少算子的调用
- 模型运行分析
AICore与AICpu算子是否并行 - 算子瓶颈分析
计算Roofline模型计算算子在算力——带宽图中的位置,判断算子运行情况,以便优化
推理模型瓶颈分析流程
自动调优和算子瓶颈分析
根据自动调优知识库识别出可优化的子图,并对子图进行修改;单算子分析会进行更加精细化的分析。
利用MindStudio对模型瓶颈进行分析
目前支持的子图pattern
自动调优样例
生态知识库
上述为专家系统自有知识库,提供了基于Roofline模型的算子瓶颈识别与优化建议、基于Timeline的AI CPU算子优化、算子融合推荐、TransData算子识别和算子优化分析。
除此之外,还有生态知识库,生态知识库的专家系统性能调优功能由生态开发者使用Python编程语言进行开发,用户通过调用专家系统提供的接口,对生态开发者提供的模型/算子进行性能分析。但是MindStudio IDE当前版本仅支持的生态知识库创建功能,可以在上面完成生态知识库代码开发,暂不支持对生态知识库的专家系统分析功能。
评论