Skip to content
New issue

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

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

Already on GitHub? # to your account

feat: use jumpstart deployment config image as default optimization image #4992

Merged
merged 6 commits into from
Jan 29, 2025

Conversation

gwang111
Copy link
Collaborator

@gwang111 gwang111 commented Jan 13, 2025

Issue #, if available:

Description of changes:

  • Fetch the image uri default for .optimize() from the JumpStart deployment config in vLLM usecases
  • Update unit and integ tests to verify that the default is being propagated to .optimize()

Testing done:
Set

"ModelShardingConfig": {
    "Image": "dkr:jumpstart-deployment-config-image-uri"
}
or 
"ModelQuantizationConfig": {
    "Image": "dkr:jumpstart-deployment-config-image-uri"
}

In the following instances:

  1. When the customer wants to quantize their model
  2. When the customer wants to optimize with model sharding

Skip:

  1. For speculative decoding, .optimize() does not need to be called. No defaulting
  2. Skip configurations not supported by vLLM
  3. Skip for compilation as vLLM does not support compilation

Merge Checklist

Put an x in the boxes that apply. You can also fill these out after creating the PR. If you're unsure about any of them, don't hesitate to ask. We're here to help! This is simply a reminder of what we are going to look for before merging your pull request.

General

  • I have read the CONTRIBUTING doc
  • I certify that the changes I am introducing will be backward compatible, and I have discussed concerns about this, if any, with the Python SDK team
  • I used the commit message format described in CONTRIBUTING
  • I have passed the region in to all S3 and STS clients that I've initialized as part of this change.
  • I have updated any necessary documentation, including READMEs and API docs (if appropriate)

Tests

  • I have added tests that prove my fix is effective or that my feature works (if appropriate)
  • I have added unit and/or integration tests as appropriate to ensure backward compatibility of the changes
  • I have checked that my tests are not configured for a specific region or account (if appropriate)
  • I have used unique_name_from_base to create resource names in integ tests (if appropriate)
  • If adding any dependency in requirements.txt files, I have spell checked and ensured they exist in PyPi

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

@gwang111 gwang111 requested a review from a team as a code owner January 13, 2025 22:46
@gwang111 gwang111 requested review from nileshvd, Lokiiiiii and cj-zhang and removed request for nileshvd January 13, 2025 22:46
Copy link

codecov bot commented Jan 13, 2025

Codecov Report

Attention: Patch coverage is 94.00000% with 3 lines in your changes missing coverage. Please review.

Project coverage is 86.56%. Comparing base (7e5e69b) to head (427108f).
Report is 3 commits behind head on master.

Files with missing lines Patch % Lines
src/sagemaker/serve/builder/jumpstart_builder.py 94.00% 3 Missing ⚠️
Additional details and impacted files
@@           Coverage Diff           @@
##           master    #4992   +/-   ##
=======================================
  Coverage   86.55%   86.56%           
=======================================
  Files         438      438           
  Lines       42536    42584   +48     
=======================================
+ Hits        36817    36862   +45     
- Misses       5719     5722    +3     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@gwang111 gwang111 force-pushed the js_optimiziation_image_defaults branch from 2c7f025 to 068a8a7 Compare January 14, 2025 18:00
@gwang111 gwang111 force-pushed the js_optimiziation_image_defaults branch from 068a8a7 to 19894ea Compare January 14, 2025 18:05
@gwang111 gwang111 force-pushed the js_optimiziation_image_defaults branch from 19894ea to 3aaf596 Compare January 14, 2025 18:26
@gwang111 gwang111 force-pushed the js_optimiziation_image_defaults branch from 3aaf596 to a1b0dc3 Compare January 15, 2025 23:20
@gwang111 gwang111 force-pushed the js_optimiziation_image_defaults branch from a1b0dc3 to 73696ba Compare January 15, 2025 23:41
@gwang111 gwang111 force-pushed the js_optimiziation_image_defaults branch from 73696ba to 765e748 Compare January 16, 2025 00:50
@gwang111 gwang111 force-pushed the js_optimiziation_image_defaults branch from 765e748 to 92477ff Compare January 16, 2025 01:47
@gwang111 gwang111 force-pushed the js_optimiziation_image_defaults branch from 92477ff to 311ad62 Compare January 16, 2025 18:22
@gwang111 gwang111 force-pushed the js_optimiziation_image_defaults branch from 311ad62 to d6f25d8 Compare January 16, 2025 18:41
@gwang111 gwang111 force-pushed the js_optimiziation_image_defaults branch from d6f25d8 to 1104baf Compare January 16, 2025 18:46
@gwang111 gwang111 force-pushed the js_optimiziation_image_defaults branch from 1104baf to 7f5d892 Compare January 16, 2025 18:56
@gwang111 gwang111 force-pushed the js_optimiziation_image_defaults branch from 66a1cdc to e610cc8 Compare January 17, 2025 17:57
@gwang111
Copy link
Collaborator Author

Integ tests r failing due to botocore.errorfactory.ResourceLimitExceeded exceptions

@gwang111 gwang111 force-pushed the js_optimiziation_image_defaults branch from 9d8344f to e610cc8 Compare January 17, 2025 21:25
@benieric benieric merged commit 51e4cc0 into master Jan 29, 2025
14 checks passed
@benieric benieric deleted the js_optimiziation_image_defaults branch January 29, 2025 17:39
Narrohag pushed a commit to Narrohag/sagemaker-python-sdk that referenced this pull request Mar 3, 2025
…mage (aws#4992)

Co-authored-by: Erick Benitez-Ramos <141277478+benieric@users.noreply.github.com>
pintaoz-aws pushed a commit that referenced this pull request Mar 5, 2025
…urated Hub Phase 2 (#5070)

* change: update image_uri_configs  01-27-2025 06:18:13 PST

* fix: skip TF tests for unsupported versions (#5007)

* fix: skip TF tests for unsupported versions

* flake8

* change: update image_uri_configs  01-29-2025 06:18:08 PST

* chore: add new images for HF TGI (#5005)

* feat: add pytorch-tgi-inference 2.4.0

* add tgi 3.0.1 image

* skip faulty test

* formatting

* formatting

* add hf pytorch training 4.46

* update version alias

* add py311 to training version

* update tests with pyversion 311

* formatting

---------

Co-authored-by: Erick Benitez-Ramos <141277478+benieric@users.noreply.github.com>

* feat: use jumpstart deployment config image as default optimization image (#4992)

Co-authored-by: Erick Benitez-Ramos <141277478+benieric@users.noreply.github.com>

* prepare release v2.238.0

* update development version to v2.238.1.dev0

* Fix ssh host policy (#4966)

* Fix ssh host policy

* Filter policy by algo-

* Add docstring

* Fix pylint

* Fix docstyle summary

* Unit test

* Fix unit test

* Change to unit test

* Fix unit tests

* Test comment out flaky tests

* Readd the flaky tests

* Remove flaky asserts

* Remove flaky asserts

---------

Co-authored-by: Erick Benitez-Ramos <141277478+benieric@users.noreply.github.com>

* change: Allow telemetry only in supported regions (#5009)

* change: Allow telemetry only in supported regions

* change: Allow telemetry only in supported regions

* change: Allow telemetry only in supported regions

* change: Allow telemetry only in supported regions

* change: Allow telemetry only in supported regions

---------

Co-authored-by: Roja Reddy Sareddy <rsareddy@amazon.com>

* mpirun protocol - distributed training with @Remote decorator (#4998)

* implemented multi-node distribution with @Remote function

* completed unit tests

* added distributed training with CPU and torchrun

* backwards compatibility nproc_per_node

* fixing code: permissions for non-root users, integration tests

* fixed docstyle

* refactor nproc_per_node for backwards compatibility

* refactor nproc_per_node for backwards compatibility

* pylint fix, newlines

* added unit tests for bootstrap_environment remote

* added  mpirun protocol for distributed training with @Remote decorator

* aligned mpi_utils_remote.py to mpi_utils.py for estimator

* updated docstring for sagemaker sdk doc

---------

Co-authored-by: Erick Benitez-Ramos <141277478+benieric@users.noreply.github.com>

* feat: Add support for deepseek recipes (#5011)

* feat: Add support for deeepseek recipes

* pylint

* add unit test

* feat: [JumpStart] Add access configs and training instance type variants artifact uri handling for Curated Hub Phase 2 training integration (#1653)

* Add access config to training input for Curated Hub Training Integration

* Add support to retrieve instance specific training artifact keys

* Fix some typos and naming issues

* Fix more typos

* fix formatting issues with black

* modify access config logic so accept_eula is passed into fit

* update black formatting

* Add more unit tests for passing access configs

* fix style errors

* fix for failing integ test

* fix styles and integ test error

* skip blocking integ test

* fix formatting

* remove env vars when access configs are being used

* fix docstyle issue

* update usage of access configs, remove conversion of training artifact key to uri

* fix styling issues

* fix styling issues

* fix unit tests

* fix adding hubaccessconfig only if hubcontentarn exists

* move logic to JumpStartEstimator from Job

* Fix styling issues

* Remove unused code

* fix styling issues

* fix unit test failure

* fix some formatting, add comments

* remove typing for estimator in get_access_configs function

* fix circular import dependency

* fix styling issues

---------

Co-authored-by: Erick Benitez-Ramos <141277478+benieric@users.noreply.github.com>

* Always add code channel, regardless of network isolation (#1657)

* fix formatting issue

* fix formatting issue

* fix formatting issue

* fix tensorflow file

---------

Co-authored-by: sagemaker-bot <sagemaker-bot@amazon.com>
Co-authored-by: Erick Benitez-Ramos <141277478+benieric@users.noreply.github.com>
Co-authored-by: varunmoris <176621270+varunmoris@users.noreply.github.com>
Co-authored-by: Gary Wang <38331932+gwang111@users.noreply.github.com>
Co-authored-by: ci <ci>
Co-authored-by: parknate@ <parknate@amazon.com>
Co-authored-by: rsareddy0329 <rsareddy0329@gmail.com>
Co-authored-by: Roja Reddy Sareddy <rsareddy@amazon.com>
Co-authored-by: Bruno Pistone <brn.pistone@gmail.com>
mollyheamazon pushed a commit to mollyheamazon/sagemaker-python-sdk that referenced this pull request Mar 14, 2025
…urated Hub Phase 2 (aws#5070)

* change: update image_uri_configs  01-27-2025 06:18:13 PST

* fix: skip TF tests for unsupported versions (aws#5007)

* fix: skip TF tests for unsupported versions

* flake8

* change: update image_uri_configs  01-29-2025 06:18:08 PST

* chore: add new images for HF TGI (aws#5005)

* feat: add pytorch-tgi-inference 2.4.0

* add tgi 3.0.1 image

* skip faulty test

* formatting

* formatting

* add hf pytorch training 4.46

* update version alias

* add py311 to training version

* update tests with pyversion 311

* formatting

---------

Co-authored-by: Erick Benitez-Ramos <141277478+benieric@users.noreply.github.com>

* feat: use jumpstart deployment config image as default optimization image (aws#4992)

Co-authored-by: Erick Benitez-Ramos <141277478+benieric@users.noreply.github.com>

* prepare release v2.238.0

* update development version to v2.238.1.dev0

* Fix ssh host policy (aws#4966)

* Fix ssh host policy

* Filter policy by algo-

* Add docstring

* Fix pylint

* Fix docstyle summary

* Unit test

* Fix unit test

* Change to unit test

* Fix unit tests

* Test comment out flaky tests

* Readd the flaky tests

* Remove flaky asserts

* Remove flaky asserts

---------

Co-authored-by: Erick Benitez-Ramos <141277478+benieric@users.noreply.github.com>

* change: Allow telemetry only in supported regions (aws#5009)

* change: Allow telemetry only in supported regions

* change: Allow telemetry only in supported regions

* change: Allow telemetry only in supported regions

* change: Allow telemetry only in supported regions

* change: Allow telemetry only in supported regions

---------

Co-authored-by: Roja Reddy Sareddy <rsareddy@amazon.com>

* mpirun protocol - distributed training with @Remote decorator (aws#4998)

* implemented multi-node distribution with @Remote function

* completed unit tests

* added distributed training with CPU and torchrun

* backwards compatibility nproc_per_node

* fixing code: permissions for non-root users, integration tests

* fixed docstyle

* refactor nproc_per_node for backwards compatibility

* refactor nproc_per_node for backwards compatibility

* pylint fix, newlines

* added unit tests for bootstrap_environment remote

* added  mpirun protocol for distributed training with @Remote decorator

* aligned mpi_utils_remote.py to mpi_utils.py for estimator

* updated docstring for sagemaker sdk doc

---------

Co-authored-by: Erick Benitez-Ramos <141277478+benieric@users.noreply.github.com>

* feat: Add support for deepseek recipes (aws#5011)

* feat: Add support for deeepseek recipes

* pylint

* add unit test

* feat: [JumpStart] Add access configs and training instance type variants artifact uri handling for Curated Hub Phase 2 training integration (aws#1653)

* Add access config to training input for Curated Hub Training Integration

* Add support to retrieve instance specific training artifact keys

* Fix some typos and naming issues

* Fix more typos

* fix formatting issues with black

* modify access config logic so accept_eula is passed into fit

* update black formatting

* Add more unit tests for passing access configs

* fix style errors

* fix for failing integ test

* fix styles and integ test error

* skip blocking integ test

* fix formatting

* remove env vars when access configs are being used

* fix docstyle issue

* update usage of access configs, remove conversion of training artifact key to uri

* fix styling issues

* fix styling issues

* fix unit tests

* fix adding hubaccessconfig only if hubcontentarn exists

* move logic to JumpStartEstimator from Job

* Fix styling issues

* Remove unused code

* fix styling issues

* fix unit test failure

* fix some formatting, add comments

* remove typing for estimator in get_access_configs function

* fix circular import dependency

* fix styling issues

---------

Co-authored-by: Erick Benitez-Ramos <141277478+benieric@users.noreply.github.com>

* Always add code channel, regardless of network isolation (aws#1657)

* fix formatting issue

* fix formatting issue

* fix formatting issue

* fix tensorflow file

---------

Co-authored-by: sagemaker-bot <sagemaker-bot@amazon.com>
Co-authored-by: Erick Benitez-Ramos <141277478+benieric@users.noreply.github.com>
Co-authored-by: varunmoris <176621270+varunmoris@users.noreply.github.com>
Co-authored-by: Gary Wang <38331932+gwang111@users.noreply.github.com>
Co-authored-by: ci <ci>
Co-authored-by: parknate@ <parknate@amazon.com>
Co-authored-by: rsareddy0329 <rsareddy0329@gmail.com>
Co-authored-by: Roja Reddy Sareddy <rsareddy@amazon.com>
Co-authored-by: Bruno Pistone <brn.pistone@gmail.com>
evakravi pushed a commit to evakravi/sagemaker-python-sdk that referenced this pull request Mar 20, 2025
…mage (aws#4992)

Co-authored-by: Erick Benitez-Ramos <141277478+benieric@users.noreply.github.com>
evakravi pushed a commit to evakravi/sagemaker-python-sdk that referenced this pull request Mar 20, 2025
…urated Hub Phase 2 (aws#5070)

* change: update image_uri_configs  01-27-2025 06:18:13 PST

* fix: skip TF tests for unsupported versions (aws#5007)

* fix: skip TF tests for unsupported versions

* flake8

* change: update image_uri_configs  01-29-2025 06:18:08 PST

* chore: add new images for HF TGI (aws#5005)

* feat: add pytorch-tgi-inference 2.4.0

* add tgi 3.0.1 image

* skip faulty test

* formatting

* formatting

* add hf pytorch training 4.46

* update version alias

* add py311 to training version

* update tests with pyversion 311

* formatting

---------

Co-authored-by: Erick Benitez-Ramos <141277478+benieric@users.noreply.github.com>

* feat: use jumpstart deployment config image as default optimization image (aws#4992)

Co-authored-by: Erick Benitez-Ramos <141277478+benieric@users.noreply.github.com>

* prepare release v2.238.0

* update development version to v2.238.1.dev0

* Fix ssh host policy (aws#4966)

* Fix ssh host policy

* Filter policy by algo-

* Add docstring

* Fix pylint

* Fix docstyle summary

* Unit test

* Fix unit test

* Change to unit test

* Fix unit tests

* Test comment out flaky tests

* Readd the flaky tests

* Remove flaky asserts

* Remove flaky asserts

---------

Co-authored-by: Erick Benitez-Ramos <141277478+benieric@users.noreply.github.com>

* change: Allow telemetry only in supported regions (aws#5009)

* change: Allow telemetry only in supported regions

* change: Allow telemetry only in supported regions

* change: Allow telemetry only in supported regions

* change: Allow telemetry only in supported regions

* change: Allow telemetry only in supported regions

---------

Co-authored-by: Roja Reddy Sareddy <rsareddy@amazon.com>

* mpirun protocol - distributed training with @Remote decorator (aws#4998)

* implemented multi-node distribution with @Remote function

* completed unit tests

* added distributed training with CPU and torchrun

* backwards compatibility nproc_per_node

* fixing code: permissions for non-root users, integration tests

* fixed docstyle

* refactor nproc_per_node for backwards compatibility

* refactor nproc_per_node for backwards compatibility

* pylint fix, newlines

* added unit tests for bootstrap_environment remote

* added  mpirun protocol for distributed training with @Remote decorator

* aligned mpi_utils_remote.py to mpi_utils.py for estimator

* updated docstring for sagemaker sdk doc

---------

Co-authored-by: Erick Benitez-Ramos <141277478+benieric@users.noreply.github.com>

* feat: Add support for deepseek recipes (aws#5011)

* feat: Add support for deeepseek recipes

* pylint

* add unit test

* feat: [JumpStart] Add access configs and training instance type variants artifact uri handling for Curated Hub Phase 2 training integration (aws#1653)

* Add access config to training input for Curated Hub Training Integration

* Add support to retrieve instance specific training artifact keys

* Fix some typos and naming issues

* Fix more typos

* fix formatting issues with black

* modify access config logic so accept_eula is passed into fit

* update black formatting

* Add more unit tests for passing access configs

* fix style errors

* fix for failing integ test

* fix styles and integ test error

* skip blocking integ test

* fix formatting

* remove env vars when access configs are being used

* fix docstyle issue

* update usage of access configs, remove conversion of training artifact key to uri

* fix styling issues

* fix styling issues

* fix unit tests

* fix adding hubaccessconfig only if hubcontentarn exists

* move logic to JumpStartEstimator from Job

* Fix styling issues

* Remove unused code

* fix styling issues

* fix unit test failure

* fix some formatting, add comments

* remove typing for estimator in get_access_configs function

* fix circular import dependency

* fix styling issues

---------

Co-authored-by: Erick Benitez-Ramos <141277478+benieric@users.noreply.github.com>

* Always add code channel, regardless of network isolation (aws#1657)

* fix formatting issue

* fix formatting issue

* fix formatting issue

* fix tensorflow file

---------

Co-authored-by: sagemaker-bot <sagemaker-bot@amazon.com>
Co-authored-by: Erick Benitez-Ramos <141277478+benieric@users.noreply.github.com>
Co-authored-by: varunmoris <176621270+varunmoris@users.noreply.github.com>
Co-authored-by: Gary Wang <38331932+gwang111@users.noreply.github.com>
Co-authored-by: ci <ci>
Co-authored-by: parknate@ <parknate@amazon.com>
Co-authored-by: rsareddy0329 <rsareddy0329@gmail.com>
Co-authored-by: Roja Reddy Sareddy <rsareddy@amazon.com>
Co-authored-by: Bruno Pistone <brn.pistone@gmail.com>
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants