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

Integrate DeepSpeed's new HF interface for sequence parallelism #3299

Open
wants to merge 14 commits into
base: main
Choose a base branch
from

Conversation

ronald-d-rogers
Copy link

@ronald-d-rogers ronald-d-rogers commented Dec 16, 2024

What does this PR do?

This PR adds changes to support DeepSpeed's updated mesh device interface for sequence parallel training, introduced here:
microsoft/DeepSpeed#5774

It adds flags to DeepSpeedPlugin and HFDeepSpeedConfig which can be used in tranformers to determine the state of sequence parallelism.

Note that in sequence parallel the inputs must be sharded such that only the each rank in the sequence parallel groups gets only its shard of the sequence.

If you look at the commit history, you will see that I toyed with doing this in accelerate itself, but ultimately determined that the sharding must be done in the trainers, right before the call the model(**inputs), otherwise libraries with custom trainers (i.e. `trl) would have to refactor the way their trainers prepare data.

Currently, this must be merged before the corresponding ds-ulysses PR in tranformers is merged.

Before submitting

  • This PR fixes a typo or improves the docs (you can dismiss the other checks if that's the case).
  • Did you read the contributor guideline,
    Pull Request section?
  • Was this discussed/approved via a Github issue or the forum? Please add a link
    to it if that's the case.
  • Did you make sure to update the documentation with your changes? Here are the
    documentation guidelines, and
    here are tips on formatting docstrings.
  • Did you write any new necessary tests?

Who can review?

Anyone in the community is free to review the PR once the tests have passed. Feel free to tag
members/contributors who may be interested in your PR.

@SunMarc
Copy link
Member

SunMarc commented Dec 30, 2024

cc @XuehaiPan

Copy link

This issue has been automatically marked as stale because it has not had recent activity. If you think this still needs to be addressed please comment on this thread.

Please note that issues that do not follow the contributing guidelines are likely to be ignored.

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

Successfully merging this pull request may close these issues.

3 participants