Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

hetero训练模式 #239

Closed
drakethree3 opened this issue Oct 22, 2024 · 18 comments
Closed

hetero训练模式 #239

drakethree3 opened this issue Oct 22, 2024 · 18 comments

Comments

@drakethree3
Copy link

请问在hetero模式下是不是必须要enable_hetero:True?显卡数量是不是要大于4?hostfile是不是必须需要?期待大家耐心回答!

@heavyrain-lzy
Copy link
Collaborator

  1. hetero模式下必须要enable_hetero:True
  2. 显卡数量没有要求,具体看异构并行策略
  3. 如果是单机运行可以不用hostfile
    可以按照命令尝试调试
    python run.py --config-path ./examples/aquila/conf --config-name config_hetero

@drakethree3
Copy link
Author

感谢你的回答!我按照正常配置使用hetero模式,在enable_hetero:True前提下会有如下报错,我的服务器是4张卡。这个报错是什么原因呢?
image

@heavyrain-lzy
Copy link
Collaborator

感谢你的回答!我按照正常配置使用hetero模式,在enable_hetero:True前提下会有如下报错,我的服务器是4张卡。这个报错是什么原因呢? image

可以在报错的地方进行debug 或给出详细的yaml配置文件协助分析

@drakethree3
Copy link
Author

我查看代码之后的理解是和服务器的卡数有关系,不知道对不对。yaml配置如下,请您帮忙看一下,谢谢啦!
yaml.zip

@heavyrain-lzy
Copy link
Collaborator

我查看代码之后的理解是和服务器的卡数有关系,不知道对不对。yaml配置如下,请您帮忙看一下,谢谢啦! yaml.zip

  #enable_hetero: True
  #hetero_device_types: ["A100", "A100", "A100", "A100"]
  hetero_device_types: A100
  hetero_current_device_type: A100
  hetero_pipeline_layer_split: [4, 2]
  #hetero_process_meshes: [4, 1, 1, 2, 1]

-->

  enable_hetero: True
  hetero_device_types: ["A100"]
  hetero_current_device_type: A100
  hetero_pipeline_layer_split: [4, 2]
  hetero_process_meshes: [1, 1, 1, 2, 2] #长度是5的倍速:tp1,cp1,ep1,dp1,pp1

@drakethree3
Copy link
Author

好的太感谢了!代码还是没理解透彻,现在明白啦!

@heavyrain-lzy
Copy link
Collaborator

最新的版本即将发布,会一同更新readme,可以持续关注!
如果问题得到解决,请及时关闭issue!

@drakethree3
Copy link
Author

不好意思还有点问题想咨询,hetero_process_meshes参数内dp相等、pp是求和等于pipeline_model_parallel_size,但是tp的值如何设置呢?另外,hetero_device_types设置的个数和实际使用的卡数有什么关系呢?

@drakethree3
Copy link
Author

如下图设置是可以的,tp的值也只能是等于tensor_model_parallel_size吗?
image

@heavyrain-lzy
Copy link
Collaborator

如下图设置是可以的,tp的值也只能是等于tensor_model_parallel_size吗? image

Using the degree in the hetero_process_meshes.

@drakethree3
Copy link
Author

hetero_process_meshes的degree怎么设置?pp的值设定有什么规定吗?

@drakethree3
Copy link
Author

接上一次的问题我是用提供的example/aquila/conf/下的config_hetero.yaml测试功能,也是报错如下,这个问题如何解决呢?感谢解答!
image

@heavyrain-lzy
Copy link
Collaborator

接上一次的问题我是用提供的example/aquila/conf/下的config_hetero.yaml测试功能,也是报错如下,这个问题如何解决呢?感谢解答! image

请参考arguments.py中的参数说明配置相关yaml,确保参数使用符合要求。

@tingyecang
Copy link

@heavyrain-lzy 请问一下,异构pp间的通信组是怎么创建的呢,以及他们的收发逻辑,flagscale/train/parallel_context.py中build_global_groups的实现逻辑,有相关文档或者示例图吗

@a545394427
Copy link

您好,请问一下,我根据github提示构建相关环境,运行异构训练的代码,出现如下提示:
[default6]:Traceback (most recent call last):
[default6]: File "/usr/local/lib/python3.10/dist-packages/transformer_engine-1.14.0.dev0+1975ace-py3.10-linux-x86_64.egg/transformer_engine/pytorch/init.py", line 52, in _load_library
[default6]: so_path = next(so_dir.glob(f"{module_name}..{extension}"))
[default6]:StopIteration
即使我重新构建了transformer_engine,仍然找不到所需要的transformer_engine_torch.
.so文件,这种情况需要对于环境再做哪些配置呢?

@heavyrain-lzy
Copy link
Collaborator

1975ace

请查看TE官网相关配置。也可以使用NGC镜像构建相应运行环境

@a545394427
Copy link

1975ace

请查看TE官网相关配置。也可以使用NGC镜像构建相应的运行环境

我基于2411和2410的NGC镜像都构建过,出现如下问题,请问推荐使用哪个版本进行构建?

@a545394427
Copy link

好的太感谢了!代码还是没理解透彻,现在明白啦!

您好,我这边也在复现您的这个实验结果。基于NGC的2411和2412镜像,按照flagscale指引进行构建之后,有提示transformer_engine库没有pytorch模块,
[default6]: File "/root/FlagScale/megatron/megatron/core/extensions/transformer_engine.py", line 94, in
[default6]: class TELinear(te.pytorch.Linear):
[default6]: ^^^^^^^^^^
[default6]:AttributeError: module 'transformer_engine' has no attribute 'pytorch'
请问您是基于什么镜像环境构建的?

@aoyulong aoyulong closed this as completed Jan 6, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants