云服务器内容精选

  • 工具总览 ModelArts集成了多个昇腾迁移调优工具,方便您在ModelArts平台环境中进行训练推理迁移、精度调试、性能调优等工作,您可在下表中查看当前ModelArts支持的昇腾迁移调优工具及对应指导。 表格中的部分工具已集成到ModelArts基础镜像中(镜像地址详见基础镜像章节)。如果您使用的是ModelArts基础镜像,可先尝试直接使用工具命令,如果相关命令不存在则需要参考工具安装指导自行安装。 表1 ModelArts昇腾迁移调优工具总览表 使用场景 类别 工具名称 工具描述 工具安装 使用指导 PyTorch GPU训练迁移至PyTorch NPU训练 训练迁移 Transfer2NPU 代码自动迁移工具,通过简单import命令可将PyTorch训练脚本从GPU平台迁移至NPU平台运行。 包含在torch_npu包中。 自动迁移工具使用指导 训练业务代码适配昇腾PyTorch代码适配 PyTorch Analyse 迁移分析工具,可以使用工具扫描用户的训练脚本,识别出源码中不支持的torch API和cuda API信息。 包含在cann toolkit中。 分析工具使用指导 精度调优 msprobe msprobe是MindStudio Training Tools工具链下精度调试部分的工具包。主要包括精度预检、溢出检测和精度比对等功能,目前适配PyTorch和MindSpore框架。这些子工具侧重不同的训练场景,可以定位模型训练中的精度问题。 支持精度预检,可扫描训练模型中的所有API进行API复现,给出精度情况的诊断和分析。 精度比对,对PyTorch整网API粒度的数据dump、精度比对,进而定位训练场景下的精度问题 支持溢出检测功能,判断是否存在输入正常但输出存在溢出的API,从而判断是否为正常溢出。 梯度状态监控,用于采集梯度数据并进行梯度相似度比对,可以精准定位出现问题的step。 执行pip install mindstudio-probe msprobe使用手册 性能调优 PyTorch Profiler 性能采集工具,在训练脚本中调用Ascend PyTorch Profiler接口,可在训练过程中采集性能数据文件,包括PyTorch层算子信息、CANN层算子信息、底层NPU算子信息、以及算子内存占用信息等。 包含在torch_npu包中。 Ascend PyTorch Profiler数据采集与分析 MA-Advisor 性能自动诊断工具,采集好的Profiling数据通过该工具进行自动扫描分析,可给出性能瓶颈的诊断和修改建议。当迁移开箱性能较低时,通过该工具给出的建议修改代码后,通常可提升10%~30%。 执行pip install msprof-analyze 昇腾性能自动诊断工具使用说明 compare_tools 性能比对工具,将在GPU和NPU采集的Profiling数据进行性能拆解和分类比对,展示算子、通信、内存等类别的性能比对数据。 下载工具源码使用。 性能比对工具 cluster_analyse 集群性能分析工具,采集好的多机Profiling数据可通过该工具分析集群通信耗时、通信带宽矩阵等内容,从而辅助定位慢卡、慢节点等问题。工具的输出数据为csv格式,可直接拖入Ascend Insight进行可视化查看。 下载工具源码使用。 集群分析工具 MindStudio-Insight 性能可视化工具,采集好的profiling数据可通过该工具进行可视化展示,辅助人工进行profiling数据查看和分析。 windows版本工具,下载链接见教程内。 MindStudio-Insight用户指南 PyTorch GPU推理迁移至MindSpore Lite NPU推理 模型迁移 Tailor Mindspore-lite模型转换、精度误差分析、性能分析。 whl包,地址见教程中下载链接。 Tailor使用指导 性能调优 msprof msprof命令行工具提供了AI任务运行性能数据、昇腾AI处理器系统数据等性能数据的采集和解析能力。 包含在cann toolkit中。 msprof AOE 自动调优工具,提供子图调优和算子调优功能,在静态shape场景下有较好的调优效果。推荐在mindspore-lite离线推理场景下使用。 包含在cann toolkit中。 AOE性能自动调优 AKG MindSpore自动调优工具,提供算子自动优化和算子自动融合的功能,推荐在mindspore-lite离线推理场景下使用。 下载工具源码使用。 AKG PyTorch GPU推理迁移至PyTorch ascend-vllm /atb/torchair推理 模型迁移 - 需要用户自行代码适配,或者使用ModelArts迁移好的模型。 - ModelArts迁移好的模型可参考最佳实践中的案例,使用AscendCloud软件包中的模型,例如:主流开源大模型基于ModelArts Lite Server适配PyTorch NPU推理指导。 模型量化 modelslim 模型量化工具,通过量化提升模型的推理性能。 包含在cann toolkit中。 ModelSlim 精度调试 msit llm 大模型精度调试工具,支持加速库(atb)和torchair的大模型推理的精度数据dump及比对功能,辅助大模型推理精度问题定位。 下载工具whl包安装使用,推荐使用最新版本。 大模型推理精度工具 父主题: 迁移调优工具链
  • API预检 精度预检工具旨在计算单个API在整网计算中和标杆场景下的差异,对于无明确精度差异来源情况或者对模型了解不多的情形下都推荐使用预检工具,检查第一个步骤或Loss明显出现问题的步骤。它可以抓取模型中API输入的数值范围,根据范围随机生成输入,用相同的输入分别在NPU(GPU)和CPU上执行算子,比较输出差异。预检最大的好处是,它能根据算子(API)的精度标准来比较输出结果并判定其是否有精度问题。预检工具使用包含以下三步:dump、run_ut以及api_precision_compare。基本步骤如下: 通过pip安装msprobe工具。 # shell pip install mindstudio-probe 获取NPU和GPU的dump数据。 PyTorch训练脚本插入dump接口方式如下: from msprobe.pytorch import PrecisionDebugger debugger = PrecisionDebugger(config_path='./config.json') ... debugger.start() # 一般在训练循环开头启动工具。 ... # 循环体 debugger.stop() # 一般在训练循环末尾结束工具。 debugger.step() # 在训练循环的最后需要重置工具,非循环场景不需要。 具体的config.json的配置要求请参见介绍。 使用run_ut.py执行预检。 msprobe -f pytorch run_ut -api_info ./dump.json 这里-api_info指定的是步骤2导出的dump.json文件,表示整网计算过程中API的输入输出情况。执行完成run_ut命令之后将输出api_precision_compare_result_{timestamp}.csv和 api_precision_compare_details_{timestamp}.csv文。accuracy_checking_result_{timestamp}.csv属于API级,标明每个API是否通过测试。建议用户先查看accuracy_checking_result_{timestamp}.csv文件,对于其中没有通过测试的或者特定感兴趣的API,根据其API name字段在 accuracy_checking_details_{timestamp}.csv中查询其各个输出的达标情况以及比较指标。 比对NPU和GPU预检结果。 msprobe -f pytorch api_precision_compare -npu /home/xxx/npu/accuracy_checking_details_{timestamp}.csv -gpu /home/xxx/gpu/accuracy_checking_details_{timestamp}.csv -o /home/xxx 这里-npu指定步骤3NPU预检结果中accuracy_checking_details_{timestamp}.csv文件路径,-gpu指定GPU预检结果accuracy_checking_details_{timestamp}.csv文件路径, -o需指定执行比对结果的存盘路径。执行完成后输出api_precision_compare_result_{timestamp}.csv和 api_precision_compare_details_{timestamp}.csv文件。用户可以通过先查看api_precision_compare_result_{timestamp}.csv文件的Forward Test Success和Backward Test Success,判断是否存在未通过测试的API,再查看api_precision_compare_details_{timestamp}.csv文件的API详细达标情况。 详细工具的使用指导请参考离线预检介绍。 数据dump指导 advisor异常值分析 精度比对 梯度监控 梯度监控 父主题: 迁移调优工具链