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

[Feature Request] Multi-Node Model Parallel #887

Open
5 tasks done
brthor opened this issue Nov 22, 2023 · 2 comments
Open
5 tasks done

[Feature Request] Multi-Node Model Parallel #887

brthor opened this issue Nov 22, 2023 · 2 comments
Labels
enhancement New feature or request

Comments

@brthor
Copy link
Contributor

brthor commented Nov 22, 2023

⚠️ Please check that this feature request hasn't been suggested before.

  • I searched previous Ideas in Discussions didn't find any similar feature requests.
  • I searched previous Issues didn't find any similar feature requests.

🔖 Feature description

Allow for training in the model parallel mode when there is more than one node involved.

Specifically, allow the model to be split sequentially over multiple GPUs in the case when there is more than one node present in the system.

This will allow for training large models across multiple nodes, in cases where a person cannot fit all of the required VRAM on a single machine, whether by hardware or space constraints.

✔️ Solution

From these PRs:
#816
#538

It seems that the solution could be as simple as triggering the model parallel state when WORLD_SIZE > 1 with a configurable value, either in the config yaml file or passed via cli.

❓ Alternatives

No response

📝 Additional Context

No response

Acknowledgements

  • My issue title is concise, descriptive, and in title casing.
  • I have searched the existing issues to make sure this feature has not been requested yet.
  • I have provided enough information for the maintainers to understand and evaluate this request.
@brthor brthor added the enhancement New feature or request label Nov 22, 2023
@creatorrr
Copy link

@winglian any thoughts on this?

@brthor
Copy link
Contributor Author

brthor commented Apr 13, 2024

I tried to implement this and discovered that some custom work will need to be done to split the model across nodes, and then ferry data back and forth. Accelerate supports multinode with mpi-like operators, but the device_map does not support multi-node.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants