3.MindSpore云上调试调优
ModelArts云上调试调优
详细教程: https://support.huaweicloud.com/prepare-modelarts/modelarts 08 0002.html
MindSpore IDE插件效率提升
通过智能代码块推荐、代码自动补全等特性,提升MindSpore脚本开发效率,对接ModelArts云服务,实现模型训练、部署的端云协同。
MindSpore IDE插件安装
1. PyCharm Settings->Plugins->Install Plugin from Disk
2. Restart PyCharm
代码补全
根据用户代码,提供MindSpore代码补全能力。
TreeView
提供代码结构的可视化展示,可快速实现代码导航,提升脚本开发的效率。
搜索
支持以MindSpore API、代码、数据集等关键词的搜索能力,辅助用户代码编写。
MindSpore IDE—集成MindInsight
集成ModelArts云服务
1.IDE支持配置ModelArts密钥,可直接将本地训练代码部署至云端执行;
2.支持一键启动ModelArts云上MindSpore训练作业与MindInsight可视化作业;
3.支持独立启动MindInsight可视化作业。
4.MindSpore调试调优实践
模型一键迁移:迁移预训练模型脚本以及权重
情感分析:对带有情感色彩的主观性文本进行分析、处理、归纳和推理的过程。
BERT(Bidirectional Encoder Representations from Transformers)是由Google提出的具有里程碑意义的自然语言理解模型,BERT能够充分利用海量的无标注数据对模型进行预训练,另模型学习到大量的语言知识。
基于预训练先验知识的情况下,通过在下游任务上进行微调,即可达到较好的效果。
mindconverter --model_file bert_zh.onnxl
--shape 1,5121,5121,512 ,
--input_nodes input_ids attention_mask token_type_ids \
--output_nodes output_e output_1
执行该命令后,转换后的文件保存在当前目录下的output目录中(转换时间约3~5分钟)。
实验中用到的是BERT的第二个输出(公式中的X), 寸尺为(N, 768)的张量。
动静统一开发模式:基于IDE开发情感分类下游任务
BERT预训练语言模型
情感分类分类器实现
收集分类器权重分布
模型定义
损失函数定义
优化器定义
优化器定义
训练过程可视化:使用MindInsight观测训练过程
MindConverter是基于模型的迁移方案,不同框架之间通过pb或者ONNX表达模型结构。
MindInsight是MindSpore的调试调优工具包,含有:MindConverter、Debugger、Profiler组件
生态迁移工具MindConverter可以解决的问题:
- 将其他框架模型迁移到MindSpore框架下,需要花费时间进行MindSpore框架下模型的开发
- 将其他框架模型迁移到MindSpore框架下,需要花费时间进行重新训练
- 将其他框架模型迁移到MindSpore框架下,由于缺少数据,无法基于MindSpore进行复现,因此无法验证正确性
迭代轨迹、算子耗时、数据准备、时间线指标可以通过Profiler UI页面获取
Mindinsight调试器有丰富的监测点条件。检查张量溢出、检查张量值范围、检查梯度爆炸、检查未变化权重是调试器支持的监测点条件