xtuner icon indicating copy to clipboard operation
xtuner copied to clipboard

[fix] fix save eval result failed with mutil-node pretrain

Open HoBeedzc opened this issue 1 year ago • 0 comments

在运行 4 节点 32卡的 LLaVA-InternLM2-20B 的预训练时,每次到eval阶段除master节点之外都会报错 FileNotExist,经过阅读 xtuner 和 mmengine 的代码后定位到问题:

mmengine在多节点训练时,默认只在master节点保存log/vis_data等信息,这会导致worker节点的没有 vis_data 这个文件夹,但是 xtuner 在保存eval结果的时候是每个节点都保存一份,而且在打开文件的时候没有做父文件夹是否存在的验证,因此导致了除master节点外都因为文件夹不存在而挂掉。。。

修复方式也很简单:保证只在master节点存储结果(利用mmengine提供的 master_only 装饰器),每次保存前利用mmengine提供的接口 mkdir_or_exist 进行文件夹存在性检查。

HoBeedzc avatar May 11 '24 09:05 HoBeedzc