Skip to content

[Huggingface][Neuronx] Training - update for Optimum-Neuron 0.0.21 - Neuron sdk 2.18.0 - Transformers to 4.36.2 #3824

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

Merged
merged 16 commits into from
May 10, 2024

Conversation

JingyaHuang
Copy link
Contributor

GitHub Issue #3822 :

Description

This PR updates Hugginface's PyTorch DLC for training on neuron devices. Here are the corresponding updated dependencies versions:

Dependencies versions:

aws-neuronx-runtime-discovery 2.9
datasets                      2.18.0
diffusers                     0.27.2
libneuronxla                  0.5.971
neuronx-cc                    2.13.66.0+6dfecc895
neuronx-distributed           0.7.0
optimum                       1.18.1.3
optimum-neuron                0.0.21.dev0
sentence-transformers         2.6.1
torch                         1.13.1
torch-neuronx                 1.13.1.1.14.0
torch-xla                     1.13.1+torchneurone
torchvision                   0.14.1
transformers                  4.36.2
transformers-neuronx          0.10.0.21
aws-neuronx-collectives/unknown,now 2.20.22.0-c101c322e amd64 [installed]
aws-neuronx-dkms/unknown,now 2.16.7.0 amd64 [installed]
aws-neuronx-runtime-lib/unknown,now 2.20.22.0-1b3ca6425 amd64 [installed]
aws-neuronx-tools/unknown,now 2.17.1.0 amd64 [installed]

cc. @catalin-manciu-aws @haixiw @arjkesh

Tests run

NOTE: By default, docker builds are disabled. In order to build your container, please update dlc_developer_config.toml and specify the framework to build in "build_frameworks"

  • I have run builds/tests on commit for my changes.

NOTE: If you are creating a PR for a new framework version, please ensure success of the standard, rc, and efa sagemaker remote tests by updating the dlc_developer_config.toml file:

Expand
  • sagemaker_remote_tests = true
  • sagemaker_efa_tests = true
  • sagemaker_rc_tests = true

Additionally, please run the sagemaker local tests in at least one revision:

  • sagemaker_local_tests = true

Formatting

DLC image/dockerfile

Builds to Execute

Expand

Click the checkbox to enable a build to execute upon merge.

Note: By default, pipelines are set to "latest". Replace with major.minor framework version if you do not want "latest".

  • build_pytorch_training_latest
  • build_pytorch_inference_latest
  • build_tensorflow_training_latest
  • build_tensorflow_inference_latest

Additional context

PR Checklist

Expand
  • I've prepended PR tag with frameworks/job this applies to : [mxnet, tensorflow, pytorch] | [ei/neuron/graviton] | [build] | [test] | [benchmark] | [ec2, ecs, eks, sagemaker]
  • If the PR changes affects SM test, I've modified dlc_developer_config.toml in my PR branch by setting sagemaker_tests = true and efa_tests = true
  • If this PR changes existing code, the change fully backward compatible with pre-existing code. (Non backward-compatible changes need special approval.)
  • (If applicable) I've documented below the DLC image/dockerfile this relates to
  • (If applicable) I've documented below the tests I've run on the DLC image
  • (If applicable) I've reviewed the licenses of updated and new binaries and their dependencies to make sure all licenses are on the Apache Software Foundation Third Party License Policy Category A or Category B license list. See https://www.apache.org/legal/resolved.html.
  • (If applicable) I've scanned the updated and new binaries to make sure they do not have vulnerabilities associated with them.

NEURON/GRAVITON Testing Checklist

  • When creating a PR:
  • I've modified dlc_developer_config.toml in my PR branch by setting neuron_mode = true or graviton_mode = true

Benchmark Testing Checklist

  • When creating a PR:
  • I've modified dlc_developer_config.toml in my PR branch by setting ec2_benchmark_tests = true or sagemaker_benchmark_tests = true

Pytest Marker Checklist

Expand
  • (If applicable) I have added the marker @pytest.mark.model("<model-type>") to the new tests which I have added, to specify the Deep Learning model that is used in the test (use "N/A" if the test doesn't use a model)
  • (If applicable) I have added the marker @pytest.mark.integration("<feature-being-tested>") to the new tests which I have added, to specify the feature that will be tested
  • (If applicable) I have added the marker @pytest.mark.multinode(<integer-num-nodes>) to the new tests which I have added, to specify the number of nodes used on a multi-node test
  • (If applicable) I have added the marker @pytest.mark.processor(<"cpu"/"gpu"/"eia"/"neuron">) to the new tests which I have added, if a test is specifically applicable to only one processor type

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license. I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

@JingyaHuang JingyaHuang requested a review from a team as a code owner April 11, 2024 12:37
@aws-deep-learning-containers-ci aws-deep-learning-containers-ci bot added build Reflects file change in build folder huggingface Reflects file change in huggingface folder sagemaker_tests Size:S Determines the size of the PR test Reflects file change in test folder labels Apr 11, 2024
@JingyaHuang JingyaHuang requested a review from a team as a code owner April 11, 2024 12:39
Captainia
Captainia previously approved these changes May 10, 2024
@Captainia Captainia merged commit 194ca5a into aws:master May 10, 2024
28 checks passed
@JingyaHuang JingyaHuang deleted the add-neuronx-train-2.18 branch August 12, 2024 11:53
evakravi pushed a commit to evakravi/deep-learning-containers that referenced this pull request Sep 5, 2024
…Neuron sdk 2.18.0 - Transformers to 4.36.2 (aws#3824)

* update

* change dlc_developer_config.toml

* fix base image url

* increase image size limit

* upgradePillow

* ignore vulnerable

* Revert "ignore vulnerable"

This reverts commit abacd52.

* add allowlist

* fix sanity

* fix again

* fix again

* add vulnerability to allowlist

* Revert "change dlc_developer_config.toml"

This reverts commit 2e7c5b9.

---------

Co-authored-by: Haotian An <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
build Reflects file change in build folder huggingface Reflects file change in huggingface folder sagemaker_tests Size:S Determines the size of the PR test Reflects file change in test folder
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants