检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
time.time() print(f"infer time {end_time - start_time}") 父主题: 基于AIGC模型的GPU推理业务迁移至昇腾指导
PyTorch迁移精度调优 精度问题概述 精度调优总体思路 精度调优前准备工作 msprobe精度分析工具使用指导 父主题: GPU训练业务迁移至昇腾的通用指导
--configFile=akg.cfg --optimize=ascend_oriented 自动高性能算子生成工具AKG更多介绍可参考图算融合配置说明和MindSpore AKG。 父主题: GPU推理业务迁移至昇腾的通用指导
Diffusion模型通过MSLite进行转换后,迁移在昇腾设备上运行。 图3 Stable Diffusion模型迁移到Ascend上进行推理 父主题: GPU推理业务迁移至昇腾的通用指导
NCCL_DEBUG=INFO DEFAULT_ONE_GPU_BATCH_SIZE=32 BATCH_SIZE=$((${MA_NUM_GPUS:-8} * ${VC_WORKER_NUM:-1} * ${DEFAULT_ONE_GPU_BATCH_SIZE})) if [ ${VC_WORKER_HOSTS}
[acl_init_options] ge.op_compiler_cache_mode="force" 迁移后应用出图效果相比GPU无法对齐怎么办? 扩散模型在噪音和随机数上的生成,本身就有一定的随机性,GPU和NPU(Ascend)硬件由于存在一定细小的差别,很难确保完全一致,较难达成生成图片100%匹配,建议通过盲测的方式对效果进行验证。
在ModelArts Standard运行GPU训练作业的准备工作 使用ModelArts Standard的专属资源池训练时,需要完成以下准备工作。 购买服务资源 表1 购买服务资源 服务 使用说明 参考文档 弹性文件服务SFS 弹性文件服务默认为按需计费,即按购买的存储容量和
性能调优总体原则和思路 MA-Advisor性能调优建议工具使用指导 MindStudio-Insight性能可视化工具使用指导 父主题: GPU训练业务迁移至昇腾的通用指导
、Host侧系统数据和采集和解析能力。面向推理的场景,可以对于模型的执行性能数据进行收集,可基于收集的性能数据进行性能分析。 父主题: GPU推理业务迁移至昇腾的通用指导
main_worker(args.gpu, ngpus_per_node, args) def main_worker(gpu, ngpus_per_node, args): global best_acc1 args.gpu = gpu if args.gpu is not
算精度问题。 当用户将大语言模型或者其他类型深度神经网络的训练从GPU迁移到昇腾AI处理器时,可能出现以下不同现象的模型精度问题。一般包括: Loss曲线与CPU/GPU差异不符合预期。 验证准确度与CPU/GPU差异不符合预期。 在迁移到NPU环境下训练发现以上问题时,说明精度
包括迁移原理、迁移流程以及迁移后的精度调试及性能调优方法介绍。此外,ModelArts提供了即开即用的云上集成开发环境,包含迁移所需要的算力资源、AI框架、昇腾开发套件以及迁移调优工具链,最大程度减少客户自行配置环境的复杂度。 范围 本文涉及PyTorch训练的单卡和分布式业务
生成的图片fantasy_landscape.png会保存在当前路径下,该图片也可以作为后期精度校验的一个对比。 图2 生成图片 父主题: 基于AIGC模型的GPU推理业务迁移至昇腾指导
install -r requirements.txt && /bin/sh run.sh 资源池:在“专属资源池”页签选择GPU规格的专属资源池。 规格:选择所需GPU规格。 计算节点个数:选择需要的节点个数。 SFS Turbo:增加挂载配置,选择SFS名称,云上挂载路径为“/home/ma-user/work”。
日志提示Compile graph failed 问题现象 日志提示:Compile graph failed。 图1 报错提示 原因分析 模型转换时未指定Ascend后端。 处理方法 需要在模型转换阶段指定“--device=Ascend”。 父主题: 常见问题
精度问题诊断 逐个替换模型,检测有问题的模型 该方式主要是通过模型替换,先定位出具体哪个模型引入的误差,进一步诊断具体的模型中哪个算子或者操作导致效果问题,模型替换原理如下图所示。通过设置开关选项(是否使用onnx模型),控制模型推理时,模型使用的是onnx模型或是mindir的模型。
设置当前CPU的随机种子。 torch.cuda.manual_seed(seed) 设置当前GPU的随机种子。 torch.cuda.manual_seed_all(seed) 设置所有GPU的随机种子。 torch_npu.npu.manual_seed(seed) 设置当前NPU的随机种子。
场景介绍 本小节通过一个具体问题案例,介绍模型精度调优的过程。 如下图所示,使用MindSpore Lite生成的图像和onnx模型的输出结果有明显的差异,因此需要对MindSpore Lite pipeline进行精度诊断。 图1 结果对比 在MindSpore Lite 2.0
模型适配 MindSpore Lite是华为自研的推理引擎,能够最大化地利用昇腾芯片的性能。在使用MindSpore Lite进行离线推理时,需要先将模型转换为mindir模型,再利用MindSpore Lite作为推理引擎,将转换后的模型直接运行在昇腾设备上。模型转换需要使用converter_lite工具。
ython三方库版本、模型源码等与标杆环境(GPU/CPU)设置的不一致导致,为了在定位过程中少走弯路,需要在定位前先对训练环境及代码做有效排查。此外,问题定位主要基于GPU环境和NPU环境上运行的过程数据做对比,所以需要分别准备GPU和NPU训练环境,大部分场景需要规模相同的训