已关闭
[Usage]: FSDP2后端,并行策略使用咨询 #1220
jianhou创建于 3月3日关闭于 3月12日
3月3日 添加了label:usage
sunjunjie1587
3月3日 评论:
3月3日 评论:
目前框架上tp和dp的并行还没有实现,并不会生效,只有fsdp、ep、cp,这三种切分,world_size就等于fsdp_size,开启ep需要保证ep_size * ep_fsdp_size = fsdp_size


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


3月4日 添加了label:resolved
3月9日 删除了label:resolved
sunjunjie1587
3月12日 评论:
3月12日 评论:
CP部分的划分怎么理解,麻烦再给解释一下
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。


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


3月12日 添加了label:resolved

在提交新问题之前,请确保您已经在社区中搜索过相关问题,并使用了社区中提供的资源/工具后,仍未找到满意的解决方式。
环境信息
使用场景及问题
请问一下,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
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
麻烦帮忙解释以下上面这些限制,或者用法,具体怎么理解?
FSDP2后端的并行策略如何搭配使用,服从什么样的限制?
欢迎加入社区,感谢您对社区的贡献 🎉!