Description
感谢您的代码和工程。目前有3个服务器,简写为服务器a、b、c,其中a是新到的青云服务器,8台x8卡xa30,无ib网卡,测试没有nvlink,一直无法实现单服务器多卡训练,且分别测试了3个服务器情况相同;b是之前配置训练使用的(有ib网卡、nvlink的卡),将b上工程、代码、数据、环境都迁移到a、c上面(docker启动内存是64g);c的环境和a类似,且都是青云服务器,配置和网络情况类似;
以下是目前测试遇到的一些情况:
1.在服务器b上可以正常全量微调qwen2.5-vl-3b、服务器c上也可以;
2.在服务器a上面测试单服务器8卡、2服务器16卡、8服务器64卡训练yolov5s都可以;
3.在服务器a的单台设备上测试,出现现象为:2卡连续编号比如01、12、67这样的卡号多次测试训练正常;另外发现34(测试发现是sys通信)、2卡不连续情况比如14、26概率成功/失败,且所有的报错都是一样的如下;3卡情况和2卡类似;4卡一开始都无法训练,突然一个时间之后可以正常训练(这批服务器只有我在测试),但多次测试同2卡、3卡;8卡一直训练失败;
4.训练中使用了deepspeed的zero2-offload,qwen2.5-vl-3b的模型,全量微调,尝试了多个版本的代码,4个docker镜像,都是3中的情况(应该可以排除环境的问题);
5.服务器a、服务器b、服务器c使用nccl-test测试124m、1g、18g情况,最终指标都差不多(a服务器更好);
6.驱动版本不同,都是12.4的cuda,其它torch等库一致,但是a是550.163.01,b是550.127.05(想问一下您这个应该不会影响吧?);
7.测试服务器a的cpu是intel(r)xeon(r)plainum 8500;240核一共,内存占用剩余是110g+39swap(测试关闭之后还是存在报错);服务器b是8480+版本,224核,内存剩余127g无swap;测试lscpu | grep NUMA情况,服务器a全在一个节点,b在2个节点上;另外使用numactl -H指令,服务器a显示240核,内部距离10;服务器b显示2个节点,0-0是10、0-1是21这样的情况;服务器c的情况和a类似,但是cpu更差一点,核数更少;
8.测试nvidia-smi topo -m,发现服务器a、c差不多:其中服务器a没有nvlink、gpu0-3和gpu4-7方式是sys、gpu3和nic0方式pix,还有一个nic1和所有都是sys连接;服务器c没有nvlink、gpu0-3和gpu4-7方式是sys,gpu2和nic2是pix,gpu6和nic0、1是pix,nic3和所有是sys;
所有错误情况报错都相同且如下:
Traceback (most recent call last):
File "/usr/local/lib/python3.10/runpy.py", line 196, in _run_module_as_main
return _run_code(code, main_globals, None,
File "/usr/local/lib/python3.10/runpy.py", line 86, in _run_code
exec(code, run_globals)
File "/usr/local/lib/python3.10/site-packages/torch/distributed/run.py", line 923, in
main()
File "/usr/local/lib/python3.10/site-packages/torch/distributed/elastic/multiprocessing/errors/init.py", line 355, in wrapper
return f(*args, **kwargs)
File "/usr/local/lib/python3.10/site-packages/torch/distributed/run.py", line 919, in main
run(args)
File "/usr/local/lib/python3.10/site-packages/torch/distributed/run.py", line 910, in run
elastic_launch(
File "/usr/local/lib/python3.10/site-packages/torch/distributed/launcher/api.py", line 138, in call
return launch_agent(self._config, self._entrypoint, list(args))
File "/usr/local/lib/python3.10/site-packages/torch/distributed/launcher/api.py", line 269, in launch_agent
raise ChildFailedError(
torch.distributed.elastic.multiprocessing.errors.ChildFailedError:
/usr/local/lib/python3.10/site-packages/swift/cli/sft.py FAILED
Failures:
<NO_OTHER_FAILURES>
Root Cause (first observed failure):
[0]:
time : 2025-05-21_14:43:51
host : cnnxdx-gpu-32-12
rank : 2 (local_rank: 2)
exitcode : -11 (pid: 4603)
error_file: <N/A>
traceback : Signal 11 (SIGSEGV) received by PID 4603
问题:
1.想问一下您以上情况可能是什么错误导致的呢?使用一些大模型查到说可能和拓扑结构相关。
2.最近还在尝试微调自己处理的数据,但是数据不足,尝试增加了一些开源数据,但是发现loss部分是一起计算的,想根据训练集/标签实现channel_loss,您能推荐一些资料吗?
3.想问一下代码版本的资料,虽然使用指令版本很方便,但想做一些修改,想问一下有没有最新的资料。