创建Notebook并执行性能诊断任务
本文介绍如何创建Notebook并执行性能诊断任务。
操作步骤
- 创建Notebook实例。
在ModelArts控制台创建一个Notebook实例,选择要使用的AI框架,创建Notebook时可以选择任意镜像。具体参见创建Notebook实例。
- 创建成功后,Notebook实例的状态为“运行中”,单击操作列的“打开”,访问JupyterLab。
图1 打开Notebook实例
- 进入JupyterLab页面后,自动打开Launcher页面,如下图所示。
不同AI引擎的Notebook,打开后Launcher页面呈现的Notebook和Console内核及版本均不同,图2仅作为示例,请以实际控制台为准。
- 单击Launcher页面的“Performance Advisor”图标,界面将如下图所示
图3 Performance Adviso主页面
- 提交性能诊断任务
- 如果您的NPU性能数据存放在OBS上,Source选择OBS,Path输入OBS地址,格式如obs://bucket1/profiling_dir1,单击Submit按钮。界面参考下图。
图4 分析OBS上的性能数据
- 如果您的NPU性能数据存放在Notebook上,Source选择Local,Path输入Notebook的绝对或相对路径(相对于/home/ma-user/work),格式如/home/ma-user/work/profiling_dir1或者./profiling_dir1,单击Submit按钮。界面参考下图。
图5 分析Notebook本地的性能数据
- 如果您有两份性能数据想进行对比,可以点开Compared Profiling Data选项开关,然后分别在NPU Profiling Data和Compared Profiling Data项中输入性能数据所在的Notebook本地或OBS路径,单击Submit按钮。界面参考下图。
图6 对比两份性能数据
- 性能诊断插件支持设置高级参数,当前支持的高级参数列表如下表所示。
表1 高级参数介绍 序号
键
默认值
是否必填
说明
1
cann_version
8.0.RC1
否
可选值包括6.3.RC2、7.0.RC1、7.0.0和8.0.RC1。当运行环境实际cann版本与可选值不匹配时选择大版本相近的可选值即可。主要影响亲和api分析和aicpu算子分析。
2
torch_version
2.1.0
否
可选值包括1.11.0和2.1.0,当运行环境实际torch版本与可选值不匹配时选择大版本相近的可选值即可。主要有影响亲和api分析。
3
analysis_dimensions
computation, communication, schedule, memory
否
默认进行计算、通信、下发和内存的全维度分析。可以指定默认值中任意单维度进行分析,如仅指定computation进行计算维度分析,仅指定schedule进行下发维度分析。推荐不填写该参数,即使用默认值进行分析。
4
advisor_analyze_processes
1
否
advisor分析进程数,可选范围为1-8的任意整数。当LLM类模型训练的流水并行参数pp大于1时,advisor会对不同pp stage的训练profilingg数据进行分析。通过设置更大的进程数可以使能并行分析从而加快分析速度,但也会增大分析占用的cpu资源。通常单进程需要占用1U的cpu和一定cpu memory(取决于模型大小),请根据实际分析环境的资源规格调整该参数,避免因cpu资源占用过大或者OOM类问题导致的notebook实例异常。
5
disable_profiling_comparison
False
否
关闭快慢卡算子比对。对于集群任务的profiling分析,如果存在快慢卡问题则会自动进行集群内部快慢卡的算子性能比对,包括npu侧计算的算子比对和cpu侧torch算子下发比对。当模型较大时,算子比对将会比较耗时,建议设置为True来提升分析速度。
6
disable_affinity_api
False
否
关闭亲和算子(融合算子、亲和优化器)API分析。对于首次从gpu迁移至npu的训练任务性能分析,建议保留该参数,替换亲和算子API通常能获得一定性能收益。对于完成迁移后在npu上长训的训练任务,如果出现性能问题,建议设置为True来提升分析速度。
7
output_path
/home/ma-user/work
否
advisor分析结果输出路径,包含html和xlsx两个文件。
如果您想修改参数配置,可以点开Advanced Settings选项开关,然后对参数进行新增或修改。界面参考下图。图7 修改高级参数
- 如果您的NPU性能数据存放在OBS上,Source选择OBS,Path输入OBS地址,格式如obs://bucket1/profiling_dir1,单击Submit按钮。界面参考下图。
- 查看性能诊断任务结果。
- 单击Performance Advisor页面的Report选项,可以看到已提交的性能诊断任务详情。
图8 查看性能诊断任务结果
- 当前支持的状态有“分析中(Analyzing)、成功(Success)和失败(Failed)”。分析中的任务根据性能诊断数据量大小预计将在1~10分钟内完成;成功的任务可单击Report列的View链接查看详细的诊断报告,如下图所示,失败的任务可将鼠标放到Failed字段上,将弹出具体的失败原因。诊断报告详细介绍请查看advisor分析报告html文件详解。
图9 查看性能诊断报告
Report页面将每隔5s自动刷新一次。
- 单击Performance Advisor页面的Report选项,可以看到已提交的性能诊断任务详情。