检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
通常为了获取更好的推理性能,推荐使用方式2的离线推理。下文将以Diffusers img2img onnx pipeline为示例来讲解如何进行离线推理模式下的昇腾迁移。迁移的整体流程如下图所示: 图1 迁移流程图 父主题: 基于AIGC模型的GPU推理业务迁移至昇腾指导
下载Kaggle官网提供的imagenet-mini数据集,解压之后文件大小4.1GB。该数据集是从[imagenet-2012]数据集中筛选的少量数据集。 准备预训练权重。 下载Hugging Face权重。 迁移适配。 入口函数train.py导入自动迁移接口。 执行以下命令,导入自动迁移接口。
对于GPU和NPU性能比对、NPU多次训练之间性能比对的场景,昇腾提供了性能比对工具compare_tools,通过对训练耗时和内存占用的比对分析,定位到具体劣化的算子,帮助用户提升性能调优的效率。工具将训练耗时拆分为计算、通信、调度三大维度,并针对计算和通信分别进行算子级别的比对;将训练占用的总内存,拆分成算子级别的内存占用进行比对。
迁移效果校验 在pipeline适配完成后,需要验证适配后的效果是否满足要求,通过对比原始onnx pipeline的最终输出结果确认迁移效果。如果精度和性能都没有问题,则代表迁移完成。 对比图片生成效果 在CPU上推理onnx,将原始onnx和适配完成的MindSpore Lite
训练网络迁移总结 确保算法在GPU训练时,持续稳定可收敛。避免在迁移过程中排查可能的算法问题,并且要有好的对比标杆。如果是NPU上全新开发的网络,请参考PyTorch迁移精度调优排查溢出和精度问题。 理解GPU和NPU的构造以及运行的差别,有助于在迁移过程中分析问题并发挥NPU的优势
置指南。 本文基于方式二的环境进行操作,请参考方式二中的环境开通和配置指导完成裸机和容器开发初始化配置。注意业务基础镜像选择Ascend+PyTorch镜像。 配置好的容器环境如下图所示: 图1 环境配置完成 父主题: 基于AIGC模型的GPU推理业务迁移至昇腾指导
转换关键参数准备 对应的模型转换成MindIR格式,通过后端绑定的编译形式来运行以达到更好的性能(类似静态图的运行模式),所以需要提前准备以下几个重点参数。 输入的inputShape,包含batch信息。 MSLite涉及到编译优化的过程,不支持完全动态的权重模式,需要在转换时确定对应的inp
精度校验 迁移之后的精度校验工作是以CPU/GPU环境训练过程作为标杆的,这里的前提是在迁移前,模型已经在CPU/GPU环境达到预期训练结果。在此基础上,迁移过程的精度问题一般包括: Loss曲线与CPU/GPU差异不符合预期。 验证准确度与CPU/GPU差异不符合预期。 在迁移到NP
或者对模型了解不多的情形下都推荐使用预检工具,检查第一个步骤或Loss明显出现问题的步骤。它可以抓取模型中API输入的数值范围,根据范围随机生成输入,用相同的输入分别在NPU(GPU)和CPU上执行算子,比较输出差异。预检最大的好处是,它能根据算子(API)的精度标准来比较输出结
PyTorch迁移精度调优 引言 精度校验 精度调优总体思路 准备工作 问题复现 Msprobe工具使用指导 父主题: GPU训练业务迁移至昇腾的通用指导
pipeline的主要作用是将onnx模型进行一系列编排,并在onnx Runtime上按照编排顺序执行。因此,需要将转换得到的mindir模型按照相同的逻辑进行编排,并在MindSpore Lite上执行。只需要将原始onnx的pipeline中涉及到onnx模型初始化及推理的接口替换为MindSpore
模型本身的算法设计过程也可能会引入不收敛情况;最后,则是不符合预期的计算或者通信导致的模型收敛问题。 在迁移流程中,一般已经有模型训练的标杆,因此主要关注昇腾软件栈引入的精度偏差即可。由于昇腾芯片和GPU芯片的架构差异(包括不同架构下的GPU芯片),收到数值计算精度的影响,在软
并提供特定模式下的算子自动融合功能,可提升在昇腾硬件后端上运行模型的性能。 AKG的配置也是在模型转换阶段进行配置(即执行converter_lite命令时),通过指定对应的配置文件akg.cfg,设置对应的akg优化级别,并且在模型转换时参考样例进行对应的配置。 # akg.cfg
PyTorch迁移性能调优 性能调优总体原则和思路 MA-Advisor和Ascend-Insigh工具使用指导 性能可视化工具与性能分析工具 父主题: GPU训练业务迁移至昇腾的通用指导
精度问题处理 设置高精度并重新转换模型 在转换模型时,默认采用的精度模式是fp16,如果转换得到的模型和标杆数据的精度差异比较大,可以使用fp32精度模式提升模型的精度(精度模式并不总是需要使用fp32,因为相对于fp16,fp32的性能较差。因此,通常只在检测到某个模型精度存在问题时,
advisor插件的昇腾PyTorch性能调优步骤 基于ModelArts performance advisor插件的昇腾PyTorch性能调优主要分为以下步骤: 准确采集性能劣化时刻的profiling数据。 存储profiling数据。 创建advisor分析环境。 操作步骤 明确性
云上迁移适配故障 无法导入模块 训练作业日志中提示“No module named .*” 如何安装第三方包,安装报错的处理方法 下载代码目录失败 训练作业日志中提示“No such file or directory” 训练过程中无法找到so文件 ModelArts训练作业无法解析参数,日志报错
enabled” 原因分析 出现该问题的可能原因如下: 新安装的包与镜像中带的CUDA版本不匹配。 处理方法 必现的问题,使用本地Pycharm远程连接Notebook调试安装。 先远程登录到所选的镜像,使用“nvcc -V”查看目前镜像自带的CUDA版本。 重装torch等,需要注意选择与上一步版本相匹配的版本。
h分别表示从步骤2中NPU环境所生成的dump.json、标杆环境生成的dump.json及NPU环境生成的stack.json文件,is_print_compare_log配置是否开启日志打屏。 多卡场景区别于单卡场景会在步骤2按rank标号信息生成多个rank的dump文件结
Msprobe工具使用指导 Msprobe API预检 Msprobe精度比对 Msprobe梯度监控 父主题: PyTorch迁移精度调优