-
Notifications
You must be signed in to change notification settings - Fork 371
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] Support deepspeed integration #627
Comments
Hi, @nijkah We welcome any kind of contribution, and deepspeed integration is definitely what we desire! |
Hi, @nijkah Have you got any new progress on deepspeed integration? Hope we can discuss on it before you post a PR because it might not be a small & easy one. If you have any ideas/problems/progress, we are always open to have a discussion, either in this issue, or our discussion board. |
Hi, @C1rN09. Our integration development is almost done although there are still several choices left to consider. Our current implementation supports
doesn't support yet
There are several reasons why we try to write a new deepspeed-dedicated runner. Main logic of >>> self.model = self.build_model(model)
>>> self.optim_wrapper = self.build_optim_wrapper(optim_wrapper)
>>> ds_config = json.load(open(cfg.deepspeed_config))
>>> self.model, optimizer = deepspeed.initialize(
>>> model=self.model,
>>> optimizer=self.optim_wrapper.optimizer,
>>> model_parameters=self.model.parameters(),
>>> config=ds_config)
>>> self.optim_wrapper.optimizer = optimizer
>>> self.inject_base_model_methods() First, the order of logic should be changed when using Moreover, I think it is better to share our prototype code when we are ready instead of explaining by writing. |
Describe the feature
Motivation
Nowadays, deepspeed became a fundamental framework that facilitates training and inference for large-scale or foundation models.
We are developing a feature for deepspeed integration into mmengine with support for a deepspeed-specified runner and optim_wrapper.
Does MMEngine have a plan to support deepspeed?
Then we can contribute to MMEngine with our implementation :)
Please let me know any guide, plan or opinion about this. :)
The text was updated successfully, but these errors were encountered: