检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
支持NVIDIA Tesla P4 GPU卡,单实例最大支持4张P4 GPU卡。 提供GPU硬件直通能力。 单GPU单精度计算能力最高5.5 TFLOPS。 单GPU INT8计算能力最高22 TOPS。 单GPU提供8GiB ECC显存,带宽192GiB/s。 GPU内置硬件视频编解码引擎,
精度校验 迁移之后的精度校验工作是以CPU/GPU环境训练过程作为标杆的,这里的前提是在迁移前,模型已经在CPU/GPU环境达到预期训练结果。在此基础上,迁移过程的精度问题一般包括: Loss曲线与CPU/GPU差异不符合预期。 验证准确度与CPU/GPU差异不符合预期。 在迁移
精度问题处理 设置高精度并重新转换模型 在转换模型时,默认采用的精度模式是fp16,如果转换得到的模型和标杆数据的精度差异比较大,可以使用fp32精度模式提升模型的精度(精度模式并不总是需要使用fp32,因为相对于fp16,fp32的性能较差。因此,通常只在检测到某个模型精度存在
精度对齐 精度问题是指模型从GPU设备迁移到昇腾NPU设备之后由于软硬件差异引入的精度问题。根据是否在单卡环境下,可分为单卡精度问题与多卡精度问题。多卡相对于单卡,会有卡与卡之间的通信,这可能也是精度偏差的一种来源。所以多卡的精度对齐问题相对于单卡会更复杂。不过针对多卡的精度问题
精度校验 转换模型后执行推理前,可以使用benchmark工具对MindSpore Lite云侧推理模型进行基准测试。它不仅可以对MindSpore Lite云侧推理模型前向推理执行耗时进行定量分析(性能),还可以通过指定模型输出进行可对比的误差分析(精度)。 精度测试 benc
模型精度调优 场景介绍 精度问题诊断 精度问题处理 父主题: 基于AIGC模型的GPU推理业务迁移至昇腾指导
这样会大大降低后续定位的难度。 根据精度问题现象可以选择合适的定位方式,Msprobe是MindStudio Training Tools工具链下精度调试部分的工具包,主要包括精度预检、溢出检测和精度比对等功能,通过采集和对比标杆(GPU/CPU)环境和昇腾环境上运行训练时的差
数据精度 原始成本的数据精度和账单金额一致。 摊销成本需要按照四舍五入进行保留小数,因此摊销成本会存在微小的精度差异: 成本中心页面上展示的金额,均按照四舍五入规则,保留2位小数; 导出的成本明细数据,会根据成本数据的原始精度,保留8位小数。 需要进行分摊的数据包括: 包年/包月的订单金额。
得到和标杆数据相同的输出,因此可以判断出转换得到的text_encoder模型是产生pipeline精度误差的根因。通过下一小节可以进一步确认模型精度的差异。 父主题: 模型精度调优
精度对齐 长训Loss比对结果 使用Msprobe工具分析偏差 Loss对齐结果 父主题: Dit模型Pytorch迁移与精度性能调优
Msprobe精度比对 精度比对功能主要针对两类场景的问题: 同一模型,从CPU或GPU移植到NPU中存在精度下降问题,对比NPU芯片中的API计算数值与CPU或GPU芯片中的API计算数值,进行问题定位。 同一模型,进行迭代(模型、框架版本升级或设备硬件升级)时存在的精度下降问题,
PyTorch迁移精度调优 引言 精度校验 精度调优总体思路 准备工作 问题复现 Msprobe工具使用指导 父主题: GPU训练业务迁移至昇腾的通用指导
Loss对齐结果 在排查完精度偏差来源之后发现,Loss最大绝对偏差减少为0.0003,Loss结果对齐。 需要注意训练引入随机性的目的是为了增加结果的鲁棒性,理论上不会对训练模型的收敛与否造成影响。 此处做随机性固定主要的目的是为了训练结果可完全复现,从而实现NPU和标杆的精度对齐。 父主题:
在单卡环境下,执行一个Epoch训练任务,GPU和NPU训练叠加效果如下: 上图中的红色曲线为GPU Loss折线图,蓝色曲线为NPU训练Loss折线图。在整网训练单个Epoch情况下,Loss总体的绝对偏差大约为0.08181。 父主题: 精度对齐
变量初始化引入精度偏差,在diffusion/gaussian_diffusion.py中用等CPU侧初始化实现替换完成计算之后再切回device进行计算(下图第731行)。 然后再比对分析发现所有API计算都已对齐结果,转而查看Loss对齐情况。 父主题: 精度对齐
在Debug过程中,让所有的算子计算结果前后完全一致可复现,这是大多数精度问题分析的重要前提。因此,在精度问题定位过程中,确定性计算不是目的,而是手段。很多场景下需要在确定性计算使能的情况下,进行下一步的精度问题分析定位。Cuda对部分算子实现了确定性计算,但仍有部分算子无法固定
要关注昇腾软件栈引入的精度偏差即可。由于昇腾芯片和GPU芯片的架构差异(包括不同架构下的GPU芯片),收到数值计算精度的影响,在软件实现上也存在微小的偏差。一般来说,只要数值差异在特定的容忍范围内,不会影响模型的最终收敛。 父主题: PyTorch迁移精度调优
准备工作 在定位精度问题之前,首先需要排除训练脚本及参数配置等差异的干扰。目前大部分精度无法对齐的问题都是由于模型超参数、Python三方库版本、模型源码等与标杆环境(GPU/CPU)设置的不一致导致,为了在定位过程中少走弯路,需要在定位前先对训练环境及代码做有效排查。此外,问题
Msprobe工具使用指导 Msprobe API预检 Msprobe精度比对 Msprobe梯度监控 父主题: PyTorch迁移精度调优
0.0版本中,Stable Diffusion的五个模型的精度都能够保证一致性,但是在最新的2.1.0版本中,会出现text_encoder模型精度不一致的情况。该问题后续会发布补丁进行修复。 父主题: 模型精度调优