-
-
Notifications
You must be signed in to change notification settings - Fork 2k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat(intel): add diffusers/transformers support (#1746)
* feat(intel): add diffusers support * try to consume upstream container image * Debug * Manually install deps * Map transformers/hf cache dir to modelpath if not specified * fix(compel): update initialization, pass by all gRPC options * fix: add dependencies, implement transformers for xpu * base it from the oneapi image * Add pillow * set threads if specified when launching the API * Skip conda install if intel * defaults to non-intel * ci: add to pipelines * prepare compel only if enabled * Skip conda install if intel * fix cleanup * Disable compel by default * Install torch 2.1.0 with Intel * Skip conda on some setups * Detect python * Quiet output * Do not override system python with conda * Prefer python3 * Fixups * exllama2: do not install without conda (overrides pytorch version) * exllama/exllama2: do not install if not using cuda * Add missing dataset dependency * Small fixups, symlink to python, add requirements * Add neural_speed to the deps * correctly handle model offloading * fix: device_map == xpu * go back at calling python, fixed at dockerfile level * Exllama2 restricted to only nvidia gpus * Tokenizer to xpu
- Loading branch information
Showing
23 changed files
with
250 additions
and
81 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,24 +1,38 @@ | ||
#!/bin/bash | ||
set -ex | ||
|
||
SKIP_CONDA=${SKIP_CONDA:-0} | ||
|
||
# Check if environment exist | ||
conda_env_exists(){ | ||
! conda list --name "${@}" >/dev/null 2>/dev/null | ||
} | ||
|
||
if conda_env_exists "transformers" ; then | ||
echo "Creating virtual environment..." | ||
conda env create --name transformers --file $1 | ||
echo "Virtual environment created." | ||
else | ||
echo "Virtual environment already exists." | ||
if [ $SKIP_CONDA -eq 1 ]; then | ||
echo "Skipping conda environment installation" | ||
else | ||
export PATH=$PATH:/opt/conda/bin | ||
if conda_env_exists "transformers" ; then | ||
echo "Creating virtual environment..." | ||
conda env create --name transformers --file $1 | ||
echo "Virtual environment created." | ||
else | ||
echo "Virtual environment already exists." | ||
fi | ||
fi | ||
|
||
if [ "$PIP_CACHE_PURGE" = true ] ; then | ||
export PATH=$PATH:/opt/conda/bin | ||
if [ -d "/opt/intel" ]; then | ||
# Intel GPU: If the directory exists, we assume we are using the intel image | ||
# (no conda env) | ||
# https://github.com/intel/intel-extension-for-pytorch/issues/538 | ||
pip install intel-extension-for-transformers datasets sentencepiece tiktoken neural_speed | ||
fi | ||
|
||
# Activate conda environment | ||
source activate transformers | ||
if [ "$PIP_CACHE_PURGE" = true ] ; then | ||
if [ $SKIP_CONDA -eq 0 ]; then | ||
# Activate conda environment | ||
source activate transformers | ||
fi | ||
|
||
pip cache purge | ||
fi |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,24 +1,50 @@ | ||
#!/bin/bash | ||
set -ex | ||
|
||
SKIP_CONDA=${SKIP_CONDA:-0} | ||
|
||
# Check if environment exist | ||
conda_env_exists(){ | ||
! conda list --name "${@}" >/dev/null 2>/dev/null | ||
} | ||
|
||
if conda_env_exists "diffusers" ; then | ||
echo "Creating virtual environment..." | ||
conda env create --name diffusers --file $1 | ||
echo "Virtual environment created." | ||
else | ||
echo "Virtual environment already exists." | ||
if [ $SKIP_CONDA -eq 1 ]; then | ||
echo "Skipping conda environment installation" | ||
else | ||
export PATH=$PATH:/opt/conda/bin | ||
if conda_env_exists "diffusers" ; then | ||
echo "Creating virtual environment..." | ||
conda env create --name diffusers --file $1 | ||
echo "Virtual environment created." | ||
else | ||
echo "Virtual environment already exists." | ||
fi | ||
fi | ||
|
||
if [ "$PIP_CACHE_PURGE" = true ] ; then | ||
export PATH=$PATH:/opt/conda/bin | ||
if [ -d "/opt/intel" ]; then | ||
# Intel GPU: If the directory exists, we assume we are using the Intel image | ||
# https://github.com/intel/intel-extension-for-pytorch/issues/538 | ||
pip install torch==2.1.0a0 \ | ||
torchvision==0.16.0a0 \ | ||
torchaudio==2.1.0a0 \ | ||
intel-extension-for-pytorch==2.1.10+xpu \ | ||
--extra-index-url https://pytorch-extension.intel.com/release-whl/stable/xpu/us/ | ||
|
||
pip install google-api-python-client \ | ||
grpcio \ | ||
grpcio-tools \ | ||
diffusers==0.24.0 \ | ||
transformers>=4.25.1 \ | ||
accelerate \ | ||
compel==2.0.2 \ | ||
Pillow | ||
fi | ||
|
||
# Activate conda environment | ||
source activate diffusers | ||
if [ "$PIP_CACHE_PURGE" = true ] ; then | ||
if [ $SKIP_CONDA -ne 1 ]; then | ||
# Activate conda environment | ||
source activate diffusers | ||
fi | ||
|
||
pip cache purge | ||
fi |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.