Upgrade python to 3.11 in Docker Image (#10718)

* install python 3.11 for cpu-inference docker image

* update xpu-inference dockerfile

* update cpu-serving image

* update qlora image

* update lora image

* update document
This commit is contained in:
Shaojun Liu 2024-04-10 14:41:27 +08:00 committed by GitHub
parent b727767f00
commit 29bf28bd6f
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
9 changed files with 34 additions and 26 deletions

View file

@ -21,7 +21,7 @@ RUN echo "deb [signed-by=/usr/share/keyrings/intel-oneapi-archive-keyring.gpg] h
RUN mkdir /ipex_llm/data && mkdir /ipex_llm/model && \ RUN mkdir /ipex_llm/data && mkdir /ipex_llm/model && \
# install pytorch 2.0.1 # install pytorch 2.0.1
apt-get update && \ apt-get update && \
apt-get install -y python3-pip python3.9-dev python3-wheel git software-properties-common && \ apt-get install -y python3-pip python3.11-dev python3-wheel git software-properties-common && \
pip3 install --upgrade pip && \ pip3 install --upgrade pip && \
export PIP_DEFAULT_TIMEOUT=100 && \ export PIP_DEFAULT_TIMEOUT=100 && \
pip install --upgrade torch==2.1.0 --index-url https://download.pytorch.org/whl/cpu && \ pip install --upgrade torch==2.1.0 --index-url https://download.pytorch.org/whl/cpu && \
@ -37,9 +37,9 @@ RUN mkdir /ipex_llm/data && mkdir /ipex_llm/model && \
pip install -r /ipex_llm/requirements.txt && \ pip install -r /ipex_llm/requirements.txt && \
# install python # install python
add-apt-repository ppa:deadsnakes/ppa -y && \ add-apt-repository ppa:deadsnakes/ppa -y && \
apt-get install -y python3.9 && \ apt-get install -y python3.11 && \
rm /usr/bin/python3 && \ rm /usr/bin/python3 && \
ln -s /usr/bin/python3.9 /usr/bin/python3 && \ ln -s /usr/bin/python3.11 /usr/bin/python3 && \
ln -s /usr/bin/python3 /usr/bin/python && \ ln -s /usr/bin/python3 /usr/bin/python && \
pip install --no-cache requests argparse cryptography==3.3.2 urllib3 && \ pip install --no-cache requests argparse cryptography==3.3.2 urllib3 && \
pip install --upgrade requests && \ pip install --upgrade requests && \

View file

@ -21,7 +21,7 @@ RUN echo "deb [signed-by=/usr/share/keyrings/intel-oneapi-archive-keyring.gpg] h
RUN mkdir -p /ipex_llm/data && mkdir -p /ipex_llm/model && \ RUN mkdir -p /ipex_llm/data && mkdir -p /ipex_llm/model && \
# install pytorch 2.1.0 # install pytorch 2.1.0
apt-get update && \ apt-get update && \
apt-get install -y --no-install-recommends python3-pip python3.9-dev python3-wheel python3.9-distutils git software-properties-common && \ apt-get install -y --no-install-recommends python3-pip python3.11-dev python3-wheel python3.11-distutils git software-properties-common && \
apt-get clean && \ apt-get clean && \
rm -rf /var/lib/apt/lists/* && \ rm -rf /var/lib/apt/lists/* && \
pip3 install --upgrade pip && \ pip3 install --upgrade pip && \

View file

@ -22,7 +22,7 @@ RUN echo "deb [signed-by=/usr/share/keyrings/intel-oneapi-archive-keyring.gpg] h
RUN mkdir -p /ipex_llm/data && mkdir -p /ipex_llm/model && \ RUN mkdir -p /ipex_llm/data && mkdir -p /ipex_llm/model && \
apt-get update && \ apt-get update && \
apt install -y --no-install-recommends openssh-server openssh-client libcap2-bin gnupg2 ca-certificates \ apt install -y --no-install-recommends openssh-server openssh-client libcap2-bin gnupg2 ca-certificates \
python3-pip python3.9-dev python3-wheel python3.9-distutils git software-properties-common && \ python3-pip python3.11-dev python3-wheel python3.11-distutils git software-properties-common && \
apt-get clean && \ apt-get clean && \
rm -rf /var/lib/apt/lists/* && \ rm -rf /var/lib/apt/lists/* && \
mkdir -p /var/run/sshd && \ mkdir -p /var/run/sshd && \

View file

@ -18,15 +18,15 @@ RUN curl -fsSL https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-P
apt-get install -y curl wget git gnupg gpg-agent software-properties-common libunwind8-dev vim less && \ apt-get install -y curl wget git gnupg gpg-agent software-properties-common libunwind8-dev vim less && \
# install Intel GPU driver # install Intel GPU driver
apt-get install -y intel-opencl-icd intel-level-zero-gpu=1.3.26241.33-647~22.04 level-zero level-zero-dev --allow-downgrades && \ apt-get install -y intel-opencl-icd intel-level-zero-gpu=1.3.26241.33-647~22.04 level-zero level-zero-dev --allow-downgrades && \
# install python 3.9 # install python 3.11
ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone && \ ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone && \
env DEBIAN_FRONTEND=noninteractive apt-get update && \ env DEBIAN_FRONTEND=noninteractive apt-get update && \
add-apt-repository ppa:deadsnakes/ppa -y && \ add-apt-repository ppa:deadsnakes/ppa -y && \
apt-get install -y python3.9 && \ apt-get install -y python3.11 && \
rm /usr/bin/python3 && \ rm /usr/bin/python3 && \
ln -s /usr/bin/python3.9 /usr/bin/python3 && \ ln -s /usr/bin/python3.11 /usr/bin/python3 && \
ln -s /usr/bin/python3 /usr/bin/python && \ ln -s /usr/bin/python3 /usr/bin/python && \
apt-get install -y python3-pip python3.9-dev python3-wheel python3.9-distutils && \ apt-get install -y python3-pip python3.11-dev python3-wheel python3.11-distutils && \
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py && \ curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py && \
# install XPU ipex-llm # install XPU ipex-llm
pip install --pre --upgrade ipex-llm[xpu] --extra-index-url https://pytorch-extension.intel.com/release-whl/stable/xpu/us/ && \ pip install --pre --upgrade ipex-llm[xpu] --extra-index-url https://pytorch-extension.intel.com/release-whl/stable/xpu/us/ && \

View file

@ -9,22 +9,30 @@ ENV PYTHONUNBUFFERED=1
COPY ./start-notebook.sh /llm/start-notebook.sh COPY ./start-notebook.sh /llm/start-notebook.sh
# Install PYTHON 3.9 # Update the software sources
RUN env DEBIAN_FRONTEND=noninteractive apt-get update && \ RUN env DEBIAN_FRONTEND=noninteractive apt-get update && \
# Install essential packages
apt install software-properties-common libunwind8-dev vim less -y && \ apt install software-properties-common libunwind8-dev vim less -y && \
# Install git, curl, and wget
apt-get install -y git curl wget && \
# Install Python 3.11
# Add Python 3.11 PPA repository
add-apt-repository ppa:deadsnakes/ppa -y && \ add-apt-repository ppa:deadsnakes/ppa -y && \
apt-get install -y python3.9 git curl wget && \ # Install Python 3.11
apt-get install -y python3.11 && \
# Remove the original /usr/bin/python3 symbolic link
rm /usr/bin/python3 && \ rm /usr/bin/python3 && \
ln -s /usr/bin/python3.9 /usr/bin/python3 && \ # Create a symbolic link pointing to Python 3.11 at /usr/bin/python3
ln -s /usr/bin/python3.11 /usr/bin/python3 && \
# Create a symbolic link pointing to /usr/bin/python3 at /usr/bin/python
ln -s /usr/bin/python3 /usr/bin/python && \ ln -s /usr/bin/python3 /usr/bin/python && \
apt-get install -y python3-pip python3.9-dev python3-wheel python3.9-distutils && \ # Install Python 3.11 development and utility packages
apt-get install -y python3-pip python3.11-dev python3-wheel python3.11-distutils && \
# Download and install pip, install FastChat from source requires PEP 660 support
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py && \ curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py && \
# Install FastChat from source requires PEP 660 support
python3 get-pip.py && \ python3 get-pip.py && \
rm get-pip.py && \ rm get-pip.py && \
pip install --upgrade requests argparse urllib3 && \ pip install --upgrade requests argparse urllib3 && \
pip3 install --no-cache-dir --upgrade torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu && \
pip install --pre --upgrade ipex-llm[all] && \
# Download ipex-llm-tutorial # Download ipex-llm-tutorial
cd /llm && \ cd /llm && \
pip install --upgrade jupyterlab && \ pip install --upgrade jupyterlab && \

View file

@ -20,16 +20,16 @@ RUN curl -fsSL https://apt.repos.intel.com/intel-gpg-keys/GPG-PUB-KEY-INTEL-SW-P
wget -qO - https://repositories.intel.com/graphics/intel-graphics.key | gpg --dearmor --output /usr/share/keyrings/intel-graphics.gpg && \ wget -qO - https://repositories.intel.com/graphics/intel-graphics.key | gpg --dearmor --output /usr/share/keyrings/intel-graphics.gpg && \
echo 'deb [arch=amd64,i386 signed-by=/usr/share/keyrings/intel-graphics.gpg] https://repositories.intel.com/graphics/ubuntu jammy arc' | tee /etc/apt/sources.list.d/intel.gpu.jammy.list && \ echo 'deb [arch=amd64,i386 signed-by=/usr/share/keyrings/intel-graphics.gpg] https://repositories.intel.com/graphics/ubuntu jammy arc' | tee /etc/apt/sources.list.d/intel.gpu.jammy.list && \
rm /etc/apt/sources.list.d/intel-graphics.list && \ rm /etc/apt/sources.list.d/intel-graphics.list && \
# Install PYTHON 3.9 and IPEX-LLM[xpu] # Install PYTHON 3.11 and IPEX-LLM[xpu]
ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone && \ ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone && \
env DEBIAN_FRONTEND=noninteractive apt-get update && \ env DEBIAN_FRONTEND=noninteractive apt-get update && \
apt install software-properties-common libunwind8-dev vim less -y && \ apt install software-properties-common libunwind8-dev vim less -y && \
add-apt-repository ppa:deadsnakes/ppa -y && \ add-apt-repository ppa:deadsnakes/ppa -y && \
apt-get install -y python3.9 git curl wget && \ apt-get install -y python3.11 git curl wget && \
rm /usr/bin/python3 && \ rm /usr/bin/python3 && \
ln -s /usr/bin/python3.9 /usr/bin/python3 && \ ln -s /usr/bin/python3.11 /usr/bin/python3 && \
ln -s /usr/bin/python3 /usr/bin/python && \ ln -s /usr/bin/python3 /usr/bin/python && \
apt-get install -y python3-pip python3.9-dev python3-wheel python3.9-distutils && \ apt-get install -y python3-pip python3.11-dev python3-wheel python3.11-distutils && \
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py && \ curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py && \
# Install FastChat from source requires PEP 660 support # Install FastChat from source requires PEP 660 support
python3 get-pip.py && \ python3 get-pip.py && \

View file

@ -16,7 +16,7 @@ RUN cd /llm && \
# Fix Trivy CVE Issues # Fix Trivy CVE Issues
pip install Jinja2==3.1.3 transformers==4.36.2 gradio==4.19.2 cryptography==42.0.4 && \ pip install Jinja2==3.1.3 transformers==4.36.2 gradio==4.19.2 cryptography==42.0.4 && \
# Fix Qwen model adpater in fastchat # Fix Qwen model adpater in fastchat
patch /usr/local/lib/python3.9/dist-packages/fastchat/model/model_adapter.py < /llm/model_adapter.py.patch && \ patch /usr/local/lib/python3.11/dist-packages/fastchat/model/model_adapter.py < /llm/model_adapter.py.patch && \
chmod +x /opt/entrypoint.sh && \ chmod +x /opt/entrypoint.sh && \
chmod +x /sbin/tini && \ chmod +x /sbin/tini && \
cp /sbin/tini /usr/bin/tini cp /sbin/tini /usr/bin/tini

View file

@ -60,7 +60,7 @@ pip install oneccl_bind_pt --extra-index-url https://developer.intel.com/ipex-wh
2. modify conf in `finetune_one_node_two_sockets.sh` and run 2. modify conf in `finetune_one_node_two_sockets.sh` and run
``` ```
source ${conda_env}/lib/python3.9/site-packages/oneccl_bindings_for_pytorch/env/setvars.sh source ${conda_env}/lib/python3.11/site-packages/oneccl_bindings_for_pytorch/env/setvars.sh
bash finetune_one_node_two_sockets.sh bash finetune_one_node_two_sockets.sh
``` ```

View file

@ -163,7 +163,7 @@ frame_data = np.frombuffer(audio.frame_data, np.int16).flatten().astype(np.float
#### Sample Output #### Sample Output
```bash ```bash
(llm) ipex@ipex-llm:~/Documents/voiceassistant$ python generate.py --llama2-repo-id-or-model-path /mnt/windows/demo/models/Llama-2-7b-chat-hf --whisper-repo-id-or-model-path /mnt/windows/demo/models/whisper-medium (llm) ipex@ipex-llm:~/Documents/voiceassistant$ python generate.py --llama2-repo-id-or-model-path /mnt/windows/demo/models/Llama-2-7b-chat-hf --whisper-repo-id-or-model-path /mnt/windows/demo/models/whisper-medium
/home/ipex/anaconda3/envs/llm/lib/python3.9/site-packages/torchvision/io/image.py:13: UserWarning: Failed to load image Python extension: ''If you don't plan on using image functionality from `torchvision.io`, you can ignore this warning. Otherwise, there might be something wrong with your environment. Did you have `libjpeg` or `libpng` installed before building `torchvision` from source? /home/ipex/anaconda3/envs/llm/lib/python3.11/site-packages/torchvision/io/image.py:13: UserWarning: Failed to load image Python extension: ''If you don't plan on using image functionality from `torchvision.io`, you can ignore this warning. Otherwise, there might be something wrong with your environment. Did you have `libjpeg` or `libpng` installed before building `torchvision` from source?
warn( warn(
[?] Which microphone do you choose?: Default [?] Which microphone do you choose?: Default
@ -189,11 +189,11 @@ Extracting data files: 100%|█████████████████
Generating validation split: 73 examples [00:00, 5328.37 examples/s] Generating validation split: 73 examples [00:00, 5328.37 examples/s]
Converting and loading models... Converting and loading models...
Loading checkpoint shards: 100%|██████████████████████████████████████████████████████████████████████████████████████| 3/3 [00:09<00:00, 3.04s/it] Loading checkpoint shards: 100%|██████████████████████████████████████████████████████████████████████████████████████| 3/3 [00:09<00:00, 3.04s/it]
/home/ipex/anaconda3/envs/yina-llm/lib/python3.9/site-packages/transformers/generation/configuration_utils.py:362: UserWarning: `do_sample` is set to `False`. However, `temperature` is set to `0.9` -- this flag is only used in sample-based generation modes. You should set `do_sample=True` or unset `temperature`. This was detected when initializing the generation config instance, which means the corresponding file may hold incorrect parameterization and should be fixed. /home/ipex/anaconda3/envs/yina-llm/lib/python3.11/site-packages/transformers/generation/configuration_utils.py:362: UserWarning: `do_sample` is set to `False`. However, `temperature` is set to `0.9` -- this flag is only used in sample-based generation modes. You should set `do_sample=True` or unset `temperature`. This was detected when initializing the generation config instance, which means the corresponding file may hold incorrect parameterization and should be fixed.
warnings.warn( warnings.warn(
/home/ipex/anaconda3/envs/yina-llm/lib/python3.9/site-packages/transformers/generation/configuration_utils.py:367: UserWarning: `do_sample` is set to `False`. However, `top_p` is set to `0.6` -- this flag is only used in sample-based generation modes. You should set `do_sample=True` or unset `top_p`. This was detected when initializing the generation config instance, which means the corresponding file may hold incorrect parameterization and should be fixed. /home/ipex/anaconda3/envs/yina-llm/lib/python3.11/site-packages/transformers/generation/configuration_utils.py:367: UserWarning: `do_sample` is set to `False`. However, `top_p` is set to `0.6` -- this flag is only used in sample-based generation modes. You should set `do_sample=True` or unset `top_p`. This was detected when initializing the generation config instance, which means the corresponding file may hold incorrect parameterization and should be fixed.
warnings.warn( warnings.warn(
/home/ipex/anaconda3/envs/yina-llm/lib/python3.9/site-packages/transformers/generation/utils.py:1411: UserWarning: You have modified the pretrained model configuration to control generation. This is a deprecated strategy to control generation and will be removed soon, in a future version. Please use a generation configuration file (see https://huggingface.co/docs/transformers/main_classes/text_generation ) /home/ipex/anaconda3/envs/yina-llm/lib/python3.11/site-packages/transformers/generation/utils.py:1411: UserWarning: You have modified the pretrained model configuration to control generation. This is a deprecated strategy to control generation and will be removed soon, in a future version. Please use a generation configuration file (see https://huggingface.co/docs/transformers/main_classes/text_generation )
warnings.warn( warnings.warn(
Calibrating... Calibrating...
Listening now... Listening now...