Dockerfile 2.02 KB
Newer Older
Yih-Dar's avatar
Yih-Dar committed
1
2
# https://docs.nvidia.com/deeplearning/frameworks/pytorch-release-notes/rel_22-04.html#rel_22-04
FROM nvcr.io/nvidia/pytorch:22.04-py3
3
4
5
6
LABEL maintainer="Hugging Face"

ARG DEBIAN_FRONTEND=noninteractive

Yih-Dar's avatar
Yih-Dar committed
7
ARG PYTORCH='1.13.0'
8
# Example: `cu102`, `cu113`, etc.
Yih-Dar's avatar
Yih-Dar committed
9
ARG CUDA='cu116'
10

11
12
13
14
RUN apt -y update
RUN apt install -y libaio-dev
RUN python3 -m pip install --no-cache-dir --upgrade pip

15
ARG REF=main
16
17
RUN git clone https://github.com/huggingface/transformers && cd transformers && git checkout $REF

18
# Install latest release PyTorch
Yih-Dar's avatar
Yih-Dar committed
19
20
# (PyTorch must be installed before pre-compiling any DeepSpeed c++/cuda ops.)
# (https://www.deepspeed.ai/tutorials/advanced-install/#pre-install-deepspeed-ops)
21
RUN python3 -m pip install --no-cache-dir -U torch==$PYTORCH torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/$CUDA
22

Yih-Dar's avatar
Yih-Dar committed
23
24
RUN python3 -m pip install --no-cache-dir ./transformers[deepspeed-testing]

25
26
27
# The base image ships with `torch_tensorrt` which currently causes the DeepSpeed CI fail from test collection
RUN python3 -m pip uninstall -y torch_tensorrt

28
# Pre-build **latest** DeepSpeed, so it would be ready for testing (otherwise, the 1st deepspeed test will timeout)
Yih-Dar's avatar
Yih-Dar committed
29
RUN python3 -m pip uninstall -y deepspeed
30
31
32
# This has to be run (again) inside the GPU VMs running the tests.
# The installation works here, but some tests fail, if we don't pre-build deepspeed again in the VMs running the tests.
# TODO: Find out why test fail.
33
RUN DS_BUILD_CPU_ADAM=1 DS_BUILD_FUSED_ADAM=1 DS_BUILD_AIO=1 DS_BUILD_UTILS=1 python3 -m pip install deepspeed --global-option="build_ext" --global-option="-j8" --no-cache -v --disable-pip-version-check 2>&1
Yih-Dar's avatar
Yih-Dar committed
34

35
36
37
38
# When installing in editable mode, `transformers` is not recognized as a package.
# this line must be added in order for python to be aware of transformers.
RUN cd transformers && python3 setup.py develop

Yih-Dar's avatar
Yih-Dar committed
39
40
# The base image ships with `pydantic==1.8.2` which is not working - i.e. the next command fails
RUN python3 -m pip install -U --no-cache-dir pydantic
41
RUN python3 -c "from deepspeed.launcher.runner import main"