dummy optimizer

问题分析

朴素的 pipeline parallel 实现中,不支持某个 pipeline stage 的 parameter 都不需要参数更新或不需要反向计算。

解决方案

创建空 tensor,规避 optimizer 中所有 parameter 都不需要更新的场景。 在 pipeline parallel 的反向前加判断,若没有 grad_fn 则不进行反向计算。

使用方法

  1. 在模型入口脚本中导入 patch 模块(InternVL/Qwen2VL 已支持);

    from mindspeed_mm.patchs import dummy_optimizer_patch
    
  2. 在模型启动 shell 中添加参数;

    GPT_ARGS="
        ...
        --enable-dummy-optimizer \
    "