重要

您正在查看 NeMo 2.0 文档。此版本引入了 API 的重大更改和一个新库 NeMo Run。我们目前正在将所有功能从 NeMo 1.0 移植到 2.0。有关先前版本或 2.0 中尚不可用的功能的文档,请参阅 NeMo 24.07 文档

将 Nsys Profiling 从 NeMo 1.0 迁移到 NeMo 2.0#

在 NeMo 2.0 中,配置 Nsys 性能分析的方式已从 YAML 配置更改为使用专用回调。本指南将帮助您迁移您的 Nsys 性能分析设置。

NeMo 1.0 (先前版本)#

在 NeMo 1.0 中,Nsys 性能分析在 YAML 配置文件中配置。

model:
    nsys_profile:
        enabled: False
        start_step: 10  # Global batch to start profiling
        end_step: 10 # Global batch to end profiling
        ranks: [0] # Global rank IDs to profile
        gen_shape: False # Generate model and kernel details including input shapes

NeMo 2.0 (新版本)#

在 NeMo 2.0 中,Nsys 性能分析使用 NsysCallback 类配置。以下是设置方法

from nemo import lightning as nl
from nemo.lightning.pytorch.callbacks import NsysCallback

trainer = nl.Trainer(
    ...
    callbacks=[NsysCallback(
        enabled=False,
        start_step=10,
        end_step=10,
        ranks=[0],
        gen_shape=False
    )]
)

迁移步骤#

  1. 从您的 YAML 配置文件中删除 nsys_profile 部分。

  2. 将以下导入添加到您的 Python 脚本

    from nemo.lightning.pytorch.callbacks import NsysCallback
    
  3. 创建您的 Trainer 时,将 NsysCallback 添加到 callbacks 列表

    trainer = nl.Trainer(
        ...
        callbacks=[NsysCallback(
            enabled=False,
            start_step=10,
            end_step=10,
            ranks=[0],
            gen_shape=False
        )]
    )
    
  4. 调整 NsysCallback 中的参数以匹配您之前的 YAML 配置。