From c642963d4612a15184b9fbe489cc086f4baa594d Mon Sep 17 00:00:00 2001 From: lucylq Date: Wed, 28 Aug 2024 13:56:55 -0700 Subject: [PATCH] Sync torchao version (#4945) Summary: Sync torchao installs across ExecuTorch install_requirements. torchao is used in: - llama2 - flamingo (via torchtune) - phi3 lora (via torchtune) Currently: - ExecuTorch llama2 installs torchao==0.0.1 - Torchtune installs torchao==0.3.0 - To export flamingo, which contains recent changes in torch and torchtune, we require a recent version, due to torch x torchao bc issue fixed by https://github.com/pytorch/ao/pull/638 This PR adds a torchao commit hash, so that we can use a recent and consistent version of torchao in ExecuTorch. Note that torchao does not have prebuilt macos nightlies, which is why we use a commit hash instead of nightly. Test Plan: Imported from GitHub, without a `Test Plan:` line. ``` ./install_requirements.sh --pybind xnnpack bash examples/models/flamingo/install_requirements.sh python examples/models/flamingo/export_preprocess.py ``` confirm torchao==0.5.0+git0916b5b installed confirm preprocess.pte generated Reviewed By: larryliu0820 Differential Revision: D61925882 Pulled By: lucylq --- .ci/docker/ci_commit_pins/torchao.txt | 1 + examples/models/flamingo/install_requirements.sh | 4 ++++ examples/models/llama2/install_requirements.sh | 5 ++++- examples/models/phi-3-mini-lora/install_requirements.sh | 4 ++++ 4 files changed, 13 insertions(+), 1 deletion(-) create mode 100644 .ci/docker/ci_commit_pins/torchao.txt diff --git a/.ci/docker/ci_commit_pins/torchao.txt b/.ci/docker/ci_commit_pins/torchao.txt new file mode 100644 index 00000000000..768110b82ff --- /dev/null +++ b/.ci/docker/ci_commit_pins/torchao.txt @@ -0,0 +1 @@ +0916b5b29b092afcbf2b898caae49abe80662bac diff --git a/examples/models/flamingo/install_requirements.sh b/examples/models/flamingo/install_requirements.sh index 0bcf302ca9e..8e1ebbd4576 100644 --- a/examples/models/flamingo/install_requirements.sh +++ b/examples/models/flamingo/install_requirements.sh @@ -7,3 +7,7 @@ # Install torchtune nightly for model definitions. pip install --pre torchtune --extra-index-url https://download.pytorch.org/whl/nightly/cpu --no-cache-dir + +# Install torchao. +TORCHAO_VERSION=$(cat "$(dirname "$0")"/../../../.ci/docker/ci_commit_pins/torchao.txt) +pip install --no-use-pep517 --user "git+https://github.com/pytorch/ao.git@${TORCHAO_VERSION}" diff --git a/examples/models/llama2/install_requirements.sh b/examples/models/llama2/install_requirements.sh index 6b106c1c214..ddd29ad3f6f 100755 --- a/examples/models/llama2/install_requirements.sh +++ b/examples/models/llama2/install_requirements.sh @@ -8,7 +8,10 @@ # Install snakeviz for cProfile flamegraph # Install sentencepiece for llama tokenizer pip install snakeviz sentencepiece -pip install torchao==0.1 + +# Install torchao. +TORCHAO_VERSION=$(cat "$(dirname "$0")"/../../../.ci/docker/ci_commit_pins/torchao.txt) +pip install --no-use-pep517 --user "git+https://github.com/pytorch/ao.git@${TORCHAO_VERSION}" # Install lm-eval for Model Evaluation with lm-evalution-harness # Install tiktoken for tokenizer diff --git a/examples/models/phi-3-mini-lora/install_requirements.sh b/examples/models/phi-3-mini-lora/install_requirements.sh index ab73d8dac40..c8aa428fe38 100755 --- a/examples/models/phi-3-mini-lora/install_requirements.sh +++ b/examples/models/phi-3-mini-lora/install_requirements.sh @@ -8,3 +8,7 @@ pip install torchvision pip install torchtune pip install tiktoken + +# Install torchao. +TORCHAO_VERSION=$(cat "$(dirname "$0")"/../../../.ci/docker/ci_commit_pins/torchao.txt) +pip install --no-use-pep517 --user "git+https://github.com/pytorch/ao.git@${TORCHAO_VERSION}"