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

Fix: Support model parallelism in HF transformer #3459

Merged
merged 11 commits into from
Mar 17, 2024

Conversation

gavrishp
Copy link
Contributor

What this PR does / why we need it:

Include device_map changes and set it to "auto" to allow model parallelism prevent from OOM trying to fit model into a single device

Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #

Type of changes
Please delete options that are not relevant.

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • This change requires a documentation update

Feature/Issue validation/testing:

Please describe the tests that you ran to verify your changes and relevant result summary. Provide instructions so it can be reproduced.
Please also list any relevant details for your test configuration.

  • Test A

  • Test B

  • Logs

Special notes for your reviewer:

  1. Please confirm that if this PR changes any image versions, then that's the sole change this PR makes.

Tested with large models like in llama2 70B

Checklist:

  • Have you added unit/e2e tests that prove your fix is effective or that this feature works?
  • Has code been commented, particularly in hard-to-understand areas?
  • Have you made corresponding changes to the documentation?

Release note:


Signed-off-by: Gavrish Prabhu <gavrish.prabhu@nutanix.com>
Signed-off-by: Gavrish Prabhu <gavrish.prabhu@nutanix.com>
Signed-off-by: Gavrish Prabhu <gavrish.prabhu@nutanix.com>
Signed-off-by: Gavrish Prabhu <gavrish.prabhu@nutanix.com>
Signed-off-by: Gavrish Prabhu <gavrish.prabhu@nutanix.com>
Signed-off-by: Gavrish Prabhu <gavrish.prabhu@nutanix.com>
Signed-off-by: Gavrish Prabhu <gavrish.prabhu@nutanix.com>
Signed-off-by: Gavrish Prabhu <gavrish.prabhu@nutanix.com>
Signed-off-by: Gavrish Prabhu <gavrish.prabhu@nutanix.com>
Signed-off-by: Gavrish Prabhu <gavrish.prabhu@nutanix.com>
Signed-off-by: Gavrish Prabhu <gavrish.prabhu@nutanix.com>
Comment on lines +123 to +124
if self.model._no_split_modules:
self.device_map = "auto"
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

should we call infer_auto_device_map here?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the functionality wise it's the same

@yuzisun
Copy link
Member

yuzisun commented Mar 17, 2024

/lgtm
/approve

Copy link

oss-prow-bot bot commented Mar 17, 2024

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: gavrishp, yuzisun

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@oss-prow-bot oss-prow-bot bot merged commit aa1aa24 into kserve:master Mar 17, 2024
60 checks passed
tjandy98 pushed a commit to tjandy98/kserve that referenced this pull request Apr 10, 2024
* Support model parallelism in HF transformer

Signed-off-by: Gavrish Prabhu <gavrish.prabhu@nutanix.com>

* Support models that dont supoort slipt

Signed-off-by: Gavrish Prabhu <gavrish.prabhu@nutanix.com>

* fix padding

Signed-off-by: Gavrish Prabhu <gavrish.prabhu@nutanix.com>

* fix defauults

Signed-off-by: Gavrish Prabhu <gavrish.prabhu@nutanix.com>

* set cuda as default

Signed-off-by: Gavrish Prabhu <gavrish.prabhu@nutanix.com>

* set cuda as default

Signed-off-by: Gavrish Prabhu <gavrish.prabhu@nutanix.com>

* fix lint

Signed-off-by: Gavrish Prabhu <gavrish.prabhu@nutanix.com>

* update automodel

Signed-off-by: Gavrish Prabhu <gavrish.prabhu@nutanix.com>

* fix review comment

Signed-off-by: Gavrish Prabhu <gavrish.prabhu@nutanix.com>

* update review comment

Signed-off-by: Gavrish Prabhu <gavrish.prabhu@nutanix.com>

* update comment

Signed-off-by: Gavrish Prabhu <gavrish.prabhu@nutanix.com>

---------

Signed-off-by: Gavrish Prabhu <gavrish.prabhu@nutanix.com>
Signed-off-by: tjandy98 <3953059+tjandy98@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants