【分布式训练(3)】accelerator + deepspeed debug 报错 “Timed out waiting for debuggee to spawn“ 解决方法✅

72 篇文章 16 订阅
10 篇文章 0 订阅

系列文章目录

【分布式训练 debug】VS Code Debug 技巧:launch.json实用参数
【分布式训练(2)】深入理解 DeepSpeed 的 ZeRO 内存优化策略 (三阶段的区别)



问题描述

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Python",
            "type": "debugpy",
            "request": "launch",
            "module": "accelerate.commands.launch",
            "args": [
                "--config_file", "/path/accelerate_config.yaml",
                "/path/train_model.py",
                "--config", "/path/train_config.yaml"
            ],
            "console": "integratedTerminal",
            "env": {
                "CUDA_VISIBLE_DEVICES": "7"
            },
            "justMyCode": false
        }
    ]
}

用以上 launch.json 对 accelerator + deepspeed 的训练代码进行 debug,结果完全无法连接。

在这里插入图片描述

问题排查过程

  1. deepspeed 的网络配置?❌
    • 更改配置没有任何影响,依旧报错。
  2. launch.json 写错的问题?❌
    • 之前用相同的 json,能过正常跑通。
  3. 如果不用 accelerate + deepspeed,能跑,但会等特别久。而且不用 deepspeed 又会 oom,完全没法调代码。😭
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Python",
            "type": "debugpy",
            "request": "launch",
            "program": "/path/train_model.py",
            "args": [
                "--config", "/path/train_config.yaml"
            ],
            "console": "integratedTerminal",
            "env": {
                "CUDA_VISIBLE_DEVICES": "7"
            },
            "justMyCode": false
        }
    ]
}

原因分析+解决方案

原因分析:

  1. 用 “program” 等很久,但能正常跑,但用 “module” 没等多久时间久报错如前文的图 “time out”。
  2. 很可能是 vs code 对 “module” 和 “program” 的等待时长不一样?
  3. 解决方案:(1)延长时间?- 过了下 vs code 官方文档也没找到怎么做⏸️(2)直接用 “program” ✅
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Python",
            "type": "debugpy",
            "request": "launch",
            "program": "/path/bin/accelerate",
            "args": [
                "launch",
                "--config_file", "/path/accelerate_config.yaml",
                "/path/train_model.py",
                "--config", "/path/train_config.yaml"
            ],
            "console": "integratedTerminal",
            "env": {
                "CUDA_VISIBLE_DEVICES": "7"
            },
            "justMyCode": false
        }
    ]
}

灵感来源:https://blog.csdn.net/qq_19716143/article/details/136035839

  • 这篇博客直接用的是 “program”: “/path/bin/deepspeed”
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值