已关闭
[Usage]: FSDP2后端,并行策略使用咨询 #1220
jianhou创建于  3月3日关闭于  3月12日
jianhou
3月3日 创建

在提交新问题之前,请确保您已经在社区中搜索过相关问题,并使用了社区中提供的资源/工具后,仍未找到满意的解决方式。

环境信息

不涉及

使用场景及问题

请问一下,FSDP2后端的并行策略如何搭配使用,有没有详细的介绍?

目前主要遇到以下困惑:
1、mindspeed_llm/fsdp2/models/model_factory.py ModelFactory.create代码中看到并行策略遵循如下的限制:
dp_size = world_size // (tp_size * fsdp_size * cp_size)
2、但是通过配置文件看,单机16卡,并不遵循上面的限制
https://gitcode.com/Ascend/MindSpeed-LLM/blob/master/examples/fsdp2/gpt_oss/pretrain_gpt_oss_20b_4k_fsdp2_A3.sh
https://gitcode.com/Ascend/MindSpeed-LLM/blob/master/examples/fsdp2/gpt_oss/pretrain_gpt_oss_20b_4k_fsdp2_A3.yaml
image.png
3、mindspeed_llm/fsdp2/distributed/parallel_state.py代码中,又定义了三种mesh
(1)第一种:dp x fsdp x tp=world_size
(2)第二种:edp x efsdp x ep=world_size
(3)第三种:dp_fsdp=fsdp x dp/cp
image.png

麻烦帮忙解释以下上面这些限制,或者用法,具体怎么理解?
FSDP2后端的并行策略如何搭配使用,服从什么样的限制?

欢迎加入社区,感谢您对社区的贡献 🎉!

likedislike
ascend-robotascend-robot成员
3月3日 添加了label:usage
Jjianhou
3月3日 修改了issue 的描述
z__y成员
3月3日 评论:

您好,已收到您的反馈,我们正在研究处理中,如有结果将第一时间告知您。

likedislike
Zz__y成员
3月3日 将 sunjunjie1587 设为负责人
sunjunjie1587成员
3月3日 评论:

目前框架上tp和dp的并行还没有实现,并不会生效,只有fsdp、ep、cp,这三种切分,world_size就等于fsdp_size,开启ep需要保证ep_size * ep_fsdp_size = fsdp_size

likedislike
Zz__y成员
3月3日 将 z__y 设为负责人
Zz__y成员
3月3日 移除了负责人 sunjunjie1587
z__y成员
3月4日 评论:

如果您目前没有其他问题,我们将根据流程关闭此 issue。
如后续有新的疑问或补充内容,欢迎随时重新打开本 issue,或另起一个新的 issue 进行提问。

likedislike
z__y成员
3月4日 评论:

/label add resolved

likedislike
ascend-robotascend-robot成员
3月4日 添加了label:resolved
Zz__y成员
3月4日 issue状态由 TODO 改变为 DONE
Zz__y成员
3月4日 关闭了 issue
jianhou
3月9日 评论:

CP部分的划分怎么理解,麻烦再给解释一下
image.png

likedislike
jianhou
3月9日 评论:

/label remove resolved

likedislike
ascend-robotascend-robot成员
3月9日 删除了label:resolved
Jjianhou
3月9日 issue状态由 DONE 改变为 TODO
Jjianhou
3月9日 重新打开了 issue
sunjunjie1587成员
3月12日 评论:

CP部分的划分怎么理解,麻烦再给解释一下
image.png

@jianhou

cp_size和fsdp_size的关系是,fsdp_size / cp_size要是整数,举个例子,8卡环境下,如果cp_size是1,fsdp_size是8,那么一步训练的batch数是8;如果cp_size是2,fsdp_size是8,那么一步训练的batch数是4。cp_size不能大于fsdp_size。

likedislike
z__y成员
3月12日 评论:

如果您目前没有其他问题,我们将根据流程关闭此 issue。
如后续有新的疑问或补充内容,欢迎随时重新打开本 issue,或另起一个新的 issue 进行提问。
感谢您的理解与支持!

likedislike
z__y成员
3月12日 评论:

/label add resolved

likedislike
ascend-robotascend-robot成员
3月12日 添加了label:resolved
Zz__y成员
3月12日 issue状态由 TODO 改变为 DONE
Zz__y成员
3月12日 关闭了 issue