diff --git a/docker/Dockerfile b/docker/Dockerfile index 116361dcd..d80cede55 100644 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -6,6 +6,7 @@ ARG AXOLOTL_EXTRAS="" ARG AXOLOTL_ARGS="" ARG CUDA="118" ARG PYTORCH_VERSION="2.1.2" +ARG TARGETARCH ENV PYTORCH_VERSION=$PYTORCH_VERSION @@ -20,13 +21,17 @@ RUN git clone --depth=1 https://github.com/axolotl-ai-cloud/axolotl.git WORKDIR /workspace/axolotl -# If AXOLOTL_EXTRAS is set, append it in brackets -RUN if [ "$AXOLOTL_EXTRAS" != "" ] ; then \ - pip install --no-build-isolation -e .[deepspeed,flash-attn,ring-flash-attn,optimizers,ray,$AXOLOTL_EXTRAS] $AXOLOTL_ARGS; \ +# If AXOLOTL_EXTRAS is set, append it in brackets; don't install deepspeed with arm64 +RUN if [ "$TARGETARCH" = "arm64" ]; then \ + BASE_EXTRAS="flash-attn,ring-flash-attn,optimizers,ray"; \ else \ - pip install --no-build-isolation -e .[deepspeed,flash-attn,ring-flash-attn,optimizers,ray] $AXOLOTL_ARGS; \ + BASE_EXTRAS="deepspeed,flash-attn,ring-flash-attn,optimizers,ray"; \ fi && \ - python scripts/unsloth_install.py | sh && \ + if [ "$AXOLOTL_EXTRAS" != "" ]; then \ + pip install --no-build-isolation -e .[$BASE_EXTRAS,$AXOLOTL_EXTRAS] $AXOLOTL_ARGS; \ + else \ + pip install --no-build-isolation -e .[$BASE_EXTRAS] $AXOLOTL_ARGS; \ + fi && \ python scripts/unsloth_install.py | sh && \ python scripts/cutcrossentropy_install.py | sh && \ pip install pytest && \ pip cache purge