AlibabaResearch / DAMO-ConvAI

DAMO-ConvAI: The official repository which contains the codebase for Alibaba DAMO Conversational AI.
MIT License
1.18k stars 186 forks source link

请问下使用zero3 bf16只保存了部分模型是怎么回事啊 #66

Open manateeniu opened 1 year ago

huybery commented 1 year ago

您好,请提供询问的具体项目、代码,以便我们进行问题定位。

manateeniu commented 1 year ago

使用的https://github.com/AlibabaResearch/DAMO-ConvAI/tree/main/PRO/train/main.py训练llama模型,使用zero3,保存模型就只保存部分,使用fp16就是正常的

F2-Song commented 6 months ago

hi~这边也有点疑惑为什么会和fp16/bf16相关。但zero3下只保存部分应该是代码里多处限制了仅主线程执行save所致,如 process_manager.py中第265/317行的self.accelerator.is_main_process,以及第371行的is_main_process=self.accelerator.is_main_process。因zero2下每张卡上都有一份完整的checkpoint,所以不会出现保存部分的情况。 此外,使用zero3会使得训练过程中模型inference被阻塞,对此也还没有找到较好的解决办法,建议还是使用zero2或关闭do_validation。