diff --git a/.github/workflows/build-docker-images.yml b/.github/workflows/build-docker-images.yml index c21faf2d747942..8b691f9c5829bc 100644 --- a/.github/workflows/build-docker-images.yml +++ b/.github/workflows/build-docker-images.yml @@ -3,7 +3,7 @@ name: Build docker images (scheduled) on: push: branches: - - build_ci_docker_image* + - test_docker_run_quantization repository_dispatch: workflow_call: inputs: @@ -18,341 +18,341 @@ concurrency: cancel-in-progress: false jobs: - latest-docker: - name: "Latest PyTorch + TensorFlow [dev]" - runs-on: - group: aws-general-8-plus - steps: - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - - - name: Check out code - uses: actions/checkout@v4 - - - name: Login to DockerHub - uses: docker/login-action@v3 - with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_PASSWORD }} - - - name: Build and push - uses: docker/build-push-action@v5 - with: - context: ./docker/transformers-all-latest-gpu - build-args: | - REF=main - push: true - tags: huggingface/transformers-all-latest-gpu${{ inputs.image_postfix }} - # Push CI images still need to be re-built daily - - - name: Build and push (for Push CI) in a daily basis - # This condition allows `schedule` events, or `push` events that trigger this workflow NOT via `workflow_call`. - # The later case is useful for manual image building for debugging purpose. Use another tag in this case! - if: inputs.image_postfix != '-push-ci' - uses: docker/build-push-action@v5 - with: - context: ./docker/transformers-all-latest-gpu - build-args: | - REF=main - push: true - tags: huggingface/transformers-all-latest-gpu-push-ci + # latest-docker: + # name: "Latest PyTorch + TensorFlow [dev]" + # runs-on: + # group: aws-general-8-plus + # steps: + # - + # name: Set up Docker Buildx + # uses: docker/setup-buildx-action@v3 + # - + # name: Check out code + # uses: actions/checkout@v4 + # - + # name: Login to DockerHub + # uses: docker/login-action@v3 + # with: + # username: ${{ secrets.DOCKERHUB_USERNAME }} + # password: ${{ secrets.DOCKERHUB_PASSWORD }} + # - + # name: Build and push + # uses: docker/build-push-action@v5 + # with: + # context: ./docker/transformers-all-latest-gpu + # build-args: | + # REF=main + # push: true + # tags: huggingface/transformers-all-latest-gpu${{ inputs.image_postfix }} + # # Push CI images still need to be re-built daily + # - + # name: Build and push (for Push CI) in a daily basis + # # This condition allows `schedule` events, or `push` events that trigger this workflow NOT via `workflow_call`. + # # The later case is useful for manual image building for debugging purpose. Use another tag in this case! + # if: inputs.image_postfix != '-push-ci' + # uses: docker/build-push-action@v5 + # with: + # context: ./docker/transformers-all-latest-gpu + # build-args: | + # REF=main + # push: true + # tags: huggingface/transformers-all-latest-gpu-push-ci - - name: Post to Slack - if: always() - uses: huggingface/hf-workflows/.github/actions/post-slack@main - with: - slack_channel: ${{ secrets.CI_SLACK_CHANNEL_DOCKER }} - title: 🤗 Results of the transformers-all-latest-gpu-push-ci docker build - status: ${{ job.status }} - slack_token: ${{ secrets.SLACK_CIFEEDBACK_BOT_TOKEN }} + # - name: Post to Slack + # if: always() + # uses: huggingface/hf-workflows/.github/actions/post-slack@main + # with: + # slack_channel: ${{ secrets.CI_SLACK_CHANNEL_DOCKER }} + # title: 🤗 Results of the transformers-all-latest-gpu-push-ci docker build + # status: ${{ job.status }} + # slack_token: ${{ secrets.SLACK_CIFEEDBACK_BOT_TOKEN }} - latest-torch-deepspeed-docker: - name: "Latest PyTorch + DeepSpeed" - runs-on: - group: aws-general-8-plus - steps: - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - - - name: Check out code - uses: actions/checkout@v4 - - - name: Login to DockerHub - uses: docker/login-action@v3 - with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_PASSWORD }} - - - name: Build and push - uses: docker/build-push-action@v5 - with: - context: ./docker/transformers-pytorch-deepspeed-latest-gpu - build-args: | - REF=main - push: true - tags: huggingface/transformers-pytorch-deepspeed-latest-gpu${{ inputs.image_postfix }} + # latest-torch-deepspeed-docker: + # name: "Latest PyTorch + DeepSpeed" + # runs-on: + # group: aws-general-8-plus + # steps: + # - + # name: Set up Docker Buildx + # uses: docker/setup-buildx-action@v3 + # - + # name: Check out code + # uses: actions/checkout@v4 + # - + # name: Login to DockerHub + # uses: docker/login-action@v3 + # with: + # username: ${{ secrets.DOCKERHUB_USERNAME }} + # password: ${{ secrets.DOCKERHUB_PASSWORD }} + # - + # name: Build and push + # uses: docker/build-push-action@v5 + # with: + # context: ./docker/transformers-pytorch-deepspeed-latest-gpu + # build-args: | + # REF=main + # push: true + # tags: huggingface/transformers-pytorch-deepspeed-latest-gpu${{ inputs.image_postfix }} - - name: Post to Slack - if: always() - uses: huggingface/hf-workflows/.github/actions/post-slack@main - with: - slack_channel: ${{ secrets.CI_SLACK_CHANNEL_DOCKER}} - title: 🤗 Results of the transformers-pytorch-deepspeed-latest-gpu docker build - status: ${{ job.status }} - slack_token: ${{ secrets.SLACK_CIFEEDBACK_BOT_TOKEN }} + # - name: Post to Slack + # if: always() + # uses: huggingface/hf-workflows/.github/actions/post-slack@main + # with: + # slack_channel: ${{ secrets.CI_SLACK_CHANNEL_DOCKER}} + # title: 🤗 Results of the transformers-pytorch-deepspeed-latest-gpu docker build + # status: ${{ job.status }} + # slack_token: ${{ secrets.SLACK_CIFEEDBACK_BOT_TOKEN }} - # Can't build 2 images in a single job `latest-torch-deepspeed-docker` (for `nvcr.io/nvidia`) - latest-torch-deepspeed-docker-for-push-ci-daily-build: - name: "Latest PyTorch + DeepSpeed (Push CI - Daily Build)" - runs-on: - group: aws-general-8-plus - steps: - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - - - name: Check out code - uses: actions/checkout@v4 - - - name: Login to DockerHub - uses: docker/login-action@v3 - with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_PASSWORD }} - # Push CI images still need to be re-built daily - - - name: Build and push (for Push CI) in a daily basis - # This condition allows `schedule` events, or `push` events that trigger this workflow NOT via `workflow_call`. - # The later case is useful for manual image building for debugging purpose. Use another tag in this case! - if: inputs.image_postfix != '-push-ci' - uses: docker/build-push-action@v5 - with: - context: ./docker/transformers-pytorch-deepspeed-latest-gpu - build-args: | - REF=main - push: true - tags: huggingface/transformers-pytorch-deepspeed-latest-gpu-push-ci + # # Can't build 2 images in a single job `latest-torch-deepspeed-docker` (for `nvcr.io/nvidia`) + # latest-torch-deepspeed-docker-for-push-ci-daily-build: + # name: "Latest PyTorch + DeepSpeed (Push CI - Daily Build)" + # runs-on: + # group: aws-general-8-plus + # steps: + # - + # name: Set up Docker Buildx + # uses: docker/setup-buildx-action@v3 + # - + # name: Check out code + # uses: actions/checkout@v4 + # - + # name: Login to DockerHub + # uses: docker/login-action@v3 + # with: + # username: ${{ secrets.DOCKERHUB_USERNAME }} + # password: ${{ secrets.DOCKERHUB_PASSWORD }} + # # Push CI images still need to be re-built daily + # - + # name: Build and push (for Push CI) in a daily basis + # # This condition allows `schedule` events, or `push` events that trigger this workflow NOT via `workflow_call`. + # # The later case is useful for manual image building for debugging purpose. Use another tag in this case! + # if: inputs.image_postfix != '-push-ci' + # uses: docker/build-push-action@v5 + # with: + # context: ./docker/transformers-pytorch-deepspeed-latest-gpu + # build-args: | + # REF=main + # push: true + # tags: huggingface/transformers-pytorch-deepspeed-latest-gpu-push-ci - - name: Post to Slack - if: always() - uses: huggingface/hf-workflows/.github/actions/post-slack@main - with: - slack_channel: ${{ secrets.CI_SLACK_CHANNEL_DOCKER }} - title: 🤗 Results of the transformers-pytorch-deepspeed-latest-gpu-push-ci docker build - status: ${{ job.status }} - slack_token: ${{ secrets.SLACK_CIFEEDBACK_BOT_TOKEN }} + # - name: Post to Slack + # if: always() + # uses: huggingface/hf-workflows/.github/actions/post-slack@main + # with: + # slack_channel: ${{ secrets.CI_SLACK_CHANNEL_DOCKER }} + # title: 🤗 Results of the transformers-pytorch-deepspeed-latest-gpu-push-ci docker build + # status: ${{ job.status }} + # slack_token: ${{ secrets.SLACK_CIFEEDBACK_BOT_TOKEN }} - doc-builder: - name: "Doc builder" - # Push CI doesn't need this image - if: inputs.image_postfix != '-push-ci' - runs-on: - group: aws-general-8-plus - steps: - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - - - name: Check out code - uses: actions/checkout@v4 - - - name: Login to DockerHub - uses: docker/login-action@v3 - with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_PASSWORD }} - - - name: Build and push - uses: docker/build-push-action@v5 - with: - context: ./docker/transformers-doc-builder - push: true - tags: huggingface/transformers-doc-builder + # doc-builder: + # name: "Doc builder" + # # Push CI doesn't need this image + # if: inputs.image_postfix != '-push-ci' + # runs-on: + # group: aws-general-8-plus + # steps: + # - + # name: Set up Docker Buildx + # uses: docker/setup-buildx-action@v3 + # - + # name: Check out code + # uses: actions/checkout@v4 + # - + # name: Login to DockerHub + # uses: docker/login-action@v3 + # with: + # username: ${{ secrets.DOCKERHUB_USERNAME }} + # password: ${{ secrets.DOCKERHUB_PASSWORD }} + # - + # name: Build and push + # uses: docker/build-push-action@v5 + # with: + # context: ./docker/transformers-doc-builder + # push: true + # tags: huggingface/transformers-doc-builder - - name: Post to Slack - if: always() - uses: huggingface/hf-workflows/.github/actions/post-slack@main - with: - slack_channel: ${{ secrets.CI_SLACK_CHANNEL_DOCKER }} - title: 🤗 Results of the huggingface/transformers-doc-builder docker build - status: ${{ job.status }} - slack_token: ${{ secrets.SLACK_CIFEEDBACK_BOT_TOKEN }} + # - name: Post to Slack + # if: always() + # uses: huggingface/hf-workflows/.github/actions/post-slack@main + # with: + # slack_channel: ${{ secrets.CI_SLACK_CHANNEL_DOCKER }} + # title: 🤗 Results of the huggingface/transformers-doc-builder docker build + # status: ${{ job.status }} + # slack_token: ${{ secrets.SLACK_CIFEEDBACK_BOT_TOKEN }} - latest-pytorch: - name: "Latest PyTorch [dev]" - # Push CI doesn't need this image - if: inputs.image_postfix != '-push-ci' - runs-on: - group: aws-general-8-plus - steps: - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - - - name: Check out code - uses: actions/checkout@v4 - - - name: Login to DockerHub - uses: docker/login-action@v3 - with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_PASSWORD }} - - - name: Build and push - uses: docker/build-push-action@v5 - with: - context: ./docker/transformers-pytorch-gpu - build-args: | - REF=main - push: true - tags: huggingface/transformers-pytorch-gpu + # latest-pytorch: + # name: "Latest PyTorch [dev]" + # # Push CI doesn't need this image + # if: inputs.image_postfix != '-push-ci' + # runs-on: + # group: aws-general-8-plus + # steps: + # - + # name: Set up Docker Buildx + # uses: docker/setup-buildx-action@v3 + # - + # name: Check out code + # uses: actions/checkout@v4 + # - + # name: Login to DockerHub + # uses: docker/login-action@v3 + # with: + # username: ${{ secrets.DOCKERHUB_USERNAME }} + # password: ${{ secrets.DOCKERHUB_PASSWORD }} + # - + # name: Build and push + # uses: docker/build-push-action@v5 + # with: + # context: ./docker/transformers-pytorch-gpu + # build-args: | + # REF=main + # push: true + # tags: huggingface/transformers-pytorch-gpu - - name: Post to Slack - if: always() - uses: huggingface/hf-workflows/.github/actions/post-slack@main - with: - slack_channel: ${{ secrets.CI_SLACK_CHANNEL_DOCKER }} - title: 🤗 Results of the huggingface/transformers-pytorch-gpudocker build - status: ${{ job.status }} - slack_token: ${{ secrets.SLACK_CIFEEDBACK_BOT_TOKEN }} + # - name: Post to Slack + # if: always() + # uses: huggingface/hf-workflows/.github/actions/post-slack@main + # with: + # slack_channel: ${{ secrets.CI_SLACK_CHANNEL_DOCKER }} + # title: 🤗 Results of the huggingface/transformers-pytorch-gpudocker build + # status: ${{ job.status }} + # slack_token: ${{ secrets.SLACK_CIFEEDBACK_BOT_TOKEN }} - latest-pytorch-amd: - name: "Latest PyTorch (AMD) [dev]" - runs-on: - group: aws-general-8-plus - steps: - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - - - name: Check out code - uses: actions/checkout@v4 - - - name: Login to DockerHub - uses: docker/login-action@v3 - with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_PASSWORD }} - - - name: Build and push - uses: docker/build-push-action@v5 - with: - context: ./docker/transformers-pytorch-amd-gpu - build-args: | - REF=main - push: true - tags: huggingface/transformers-pytorch-amd-gpu${{ inputs.image_postfix }} - # Push CI images still need to be re-built daily - - - name: Build and push (for Push CI) in a daily basis - # This condition allows `schedule` events, or `push` events that trigger this workflow NOT via `workflow_call`. - # The later case is useful for manual image building for debugging purpose. Use another tag in this case! - if: inputs.image_postfix != '-push-ci' - uses: docker/build-push-action@v5 - with: - context: ./docker/transformers-pytorch-amd-gpu - build-args: | - REF=main - push: true - tags: huggingface/transformers-pytorch-amd-gpu-push-ci + # latest-pytorch-amd: + # name: "Latest PyTorch (AMD) [dev]" + # runs-on: + # group: aws-general-8-plus + # steps: + # - + # name: Set up Docker Buildx + # uses: docker/setup-buildx-action@v3 + # - + # name: Check out code + # uses: actions/checkout@v4 + # - + # name: Login to DockerHub + # uses: docker/login-action@v3 + # with: + # username: ${{ secrets.DOCKERHUB_USERNAME }} + # password: ${{ secrets.DOCKERHUB_PASSWORD }} + # - + # name: Build and push + # uses: docker/build-push-action@v5 + # with: + # context: ./docker/transformers-pytorch-amd-gpu + # build-args: | + # REF=main + # push: true + # tags: huggingface/transformers-pytorch-amd-gpu${{ inputs.image_postfix }} + # # Push CI images still need to be re-built daily + # - + # name: Build and push (for Push CI) in a daily basis + # # This condition allows `schedule` events, or `push` events that trigger this workflow NOT via `workflow_call`. + # # The later case is useful for manual image building for debugging purpose. Use another tag in this case! + # if: inputs.image_postfix != '-push-ci' + # uses: docker/build-push-action@v5 + # with: + # context: ./docker/transformers-pytorch-amd-gpu + # build-args: | + # REF=main + # push: true + # tags: huggingface/transformers-pytorch-amd-gpu-push-ci - - name: Post to Slack - if: always() - uses: huggingface/hf-workflows/.github/actions/post-slack@main - with: - slack_channel: ${{ secrets.CI_SLACK_CHANNEL_DOCKER }} - title: 🤗 Results of the huggingface/transformers-pytorch-amd-gpu-push-ci build - status: ${{ job.status }} - slack_token: ${{ secrets.SLACK_CIFEEDBACK_BOT_TOKEN }} + # - name: Post to Slack + # if: always() + # uses: huggingface/hf-workflows/.github/actions/post-slack@main + # with: + # slack_channel: ${{ secrets.CI_SLACK_CHANNEL_DOCKER }} + # title: 🤗 Results of the huggingface/transformers-pytorch-amd-gpu-push-ci build + # status: ${{ job.status }} + # slack_token: ${{ secrets.SLACK_CIFEEDBACK_BOT_TOKEN }} - latest-tensorflow: - name: "Latest TensorFlow [dev]" - # Push CI doesn't need this image - if: inputs.image_postfix != '-push-ci' - runs-on: - group: aws-general-8-plus - steps: - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - - - name: Check out code - uses: actions/checkout@v4 - - - name: Login to DockerHub - uses: docker/login-action@v3 - with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_PASSWORD }} - - - name: Build and push - uses: docker/build-push-action@v5 - with: - context: ./docker/transformers-tensorflow-gpu - build-args: | - REF=main - push: true - tags: huggingface/transformers-tensorflow-gpu + # latest-tensorflow: + # name: "Latest TensorFlow [dev]" + # # Push CI doesn't need this image + # if: inputs.image_postfix != '-push-ci' + # runs-on: + # group: aws-general-8-plus + # steps: + # - + # name: Set up Docker Buildx + # uses: docker/setup-buildx-action@v3 + # - + # name: Check out code + # uses: actions/checkout@v4 + # - + # name: Login to DockerHub + # uses: docker/login-action@v3 + # with: + # username: ${{ secrets.DOCKERHUB_USERNAME }} + # password: ${{ secrets.DOCKERHUB_PASSWORD }} + # - + # name: Build and push + # uses: docker/build-push-action@v5 + # with: + # context: ./docker/transformers-tensorflow-gpu + # build-args: | + # REF=main + # push: true + # tags: huggingface/transformers-tensorflow-gpu - - name: Post to Slack - if: always() - uses: huggingface/hf-workflows/.github/actions/post-slack@main - with: - slack_channel: ${{ secrets.CI_SLACK_CHANNEL_DOCKER }} - title: 🤗 Results of the huggingface/transformers-tensorflow-gpu build - status: ${{ job.status }} - slack_token: ${{ secrets.SLACK_CIFEEDBACK_BOT_TOKEN }} + # - name: Post to Slack + # if: always() + # uses: huggingface/hf-workflows/.github/actions/post-slack@main + # with: + # slack_channel: ${{ secrets.CI_SLACK_CHANNEL_DOCKER }} + # title: 🤗 Results of the huggingface/transformers-tensorflow-gpu build + # status: ${{ job.status }} + # slack_token: ${{ secrets.SLACK_CIFEEDBACK_BOT_TOKEN }} - latest-pytorch-deepspeed-amd: - name: "PyTorch + DeepSpeed (AMD) [dev]" - runs-on: - group: aws-general-8-plus - steps: - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v3 - - - name: Check out code - uses: actions/checkout@v4 - - - name: Login to DockerHub - uses: docker/login-action@v3 - with: - username: ${{ secrets.DOCKERHUB_USERNAME }} - password: ${{ secrets.DOCKERHUB_PASSWORD }} - - - name: Build and push - uses: docker/build-push-action@v5 - with: - context: ./docker/transformers-pytorch-deepspeed-amd-gpu - build-args: | - REF=main - push: true - tags: huggingface/transformers-pytorch-deepspeed-amd-gpu${{ inputs.image_postfix }} - # Push CI images still need to be re-built daily - - - name: Build and push (for Push CI) in a daily basis - # This condition allows `schedule` events, or `push` events that trigger this workflow NOT via `workflow_call`. - # The later case is useful for manual image building for debugging purpose. Use another tag in this case! - if: inputs.image_postfix != '-push-ci' - uses: docker/build-push-action@v5 - with: - context: ./docker/transformers-pytorch-deepspeed-amd-gpu - build-args: | - REF=main - push: true - tags: huggingface/transformers-pytorch-deepspeed-amd-gpu-push-ci + # latest-pytorch-deepspeed-amd: + # name: "PyTorch + DeepSpeed (AMD) [dev]" + # runs-on: + # group: aws-general-8-plus + # steps: + # - + # name: Set up Docker Buildx + # uses: docker/setup-buildx-action@v3 + # - + # name: Check out code + # uses: actions/checkout@v4 + # - + # name: Login to DockerHub + # uses: docker/login-action@v3 + # with: + # username: ${{ secrets.DOCKERHUB_USERNAME }} + # password: ${{ secrets.DOCKERHUB_PASSWORD }} + # - + # name: Build and push + # uses: docker/build-push-action@v5 + # with: + # context: ./docker/transformers-pytorch-deepspeed-amd-gpu + # build-args: | + # REF=main + # push: true + # tags: huggingface/transformers-pytorch-deepspeed-amd-gpu${{ inputs.image_postfix }} + # # Push CI images still need to be re-built daily + # - + # name: Build and push (for Push CI) in a daily basis + # # This condition allows `schedule` events, or `push` events that trigger this workflow NOT via `workflow_call`. + # # The later case is useful for manual image building for debugging purpose. Use another tag in this case! + # if: inputs.image_postfix != '-push-ci' + # uses: docker/build-push-action@v5 + # with: + # context: ./docker/transformers-pytorch-deepspeed-amd-gpu + # build-args: | + # REF=main + # push: true + # tags: huggingface/transformers-pytorch-deepspeed-amd-gpu-push-ci - - name: Post to Slack - if: always() - uses: huggingface/hf-workflows/.github/actions/post-slack@main - with: - slack_channel: ${{ secrets.CI_SLACK_CHANNEL_DOCKER }} - title: 🤗 Results of the transformers-pytorch-deepspeed-amd-gpu build - status: ${{ job.status }} - slack_token: ${{ secrets.SLACK_CIFEEDBACK_BOT_TOKEN }} + # - name: Post to Slack + # if: always() + # uses: huggingface/hf-workflows/.github/actions/post-slack@main + # with: + # slack_channel: ${{ secrets.CI_SLACK_CHANNEL_DOCKER }} + # title: 🤗 Results of the transformers-pytorch-deepspeed-amd-gpu build + # status: ${{ job.status }} + # slack_token: ${{ secrets.SLACK_CIFEEDBACK_BOT_TOKEN }} latest-quantization-torch-docker: name: "Latest Pytorch + Quantization [dev]" diff --git a/docker/transformers-quantization-latest-gpu/Dockerfile b/docker/transformers-quantization-latest-gpu/Dockerfile index 53e66662f9ee99..2fd5901aae25c4 100755 --- a/docker/transformers-quantization-latest-gpu/Dockerfile +++ b/docker/transformers-quantization-latest-gpu/Dockerfile @@ -9,7 +9,7 @@ SHELL ["sh", "-lc"] # The following `ARG` are mainly used to specify the versions explicitly & directly in this docker file, and not meant # to be used as arguments for docker build (so far). -ARG PYTORCH='2.4.1' +ARG PYTORCH='2.5.1' # Example: `cu102`, `cu113`, etc. ARG CUDA='cu118'