本文聊天機器人為例,介紹如何使用Alibaba Cloud AI Containers(簡稱AC2)提供的AI容器鏡像在NVIDIA GPU上部署通義千問Qwen-7B-Chat。
背景信息
通義千問-7B(Qwen-7B)是阿里云研發的通義千問大模型系列的70億參數規模模型。Qwen-7B是基于Transformer的大語言模型,在超大規模的預訓練數據上進行訓練得到。預訓練數據類型多樣,覆蓋廣泛,包括大量網絡文本、專業書籍、代碼等。同時,在Qwen-7B 的基礎上,使用對齊機制打造了基于大語言模型的AI助手Qwen-7B-Chat。
步驟一:創建ECS實例
步驟二:創建Docker運行環境
安裝Docker。
在Alibaba Cloud Linux 3上安裝Docker可以參考安裝Docker并使用(Linux)。
運行以下命令,確保Docker守護進程已經啟用。
sudo systemctl status docker
安裝NVIDIA驅動以及CUDA組件。
sudo dnf install -y anolis-epao-release sudo dnf install -y kernel-devel-$(uname -r) nvidia-driver{,-cuda}
使用以下命令安裝NVIDIA Container Toolkit。
sudo dnf install -y nvidia-container-toolkit
安裝NVIDIA Container Toolkit時會添加OCI預啟動鉤子,以在啟動階段將GPU暴露給容器,所以需要重新啟動Docker守護進程。
sudo systemctl restart docker
重啟服務后,Docker就具備了GPU透傳能力,后續創建容器時,需要添加
--gpus <gpu-request>
參數,指定需要透傳的GPU。運行以下命令,創建并運行PyTorch AI容器。
AC2提供了豐富的AI場景下的容器鏡像,可以使用該鏡像快速創建一個PyTorch運行環境。
sudo docker pull ac2-registry.cn-hangzhou.cr.aliyuncs.com/ac2/pytorch:2.2.0.1-3.2304-cu121 sudo docker run -itd --name pytorch --gpus all --net host -v $HOME/workspace:/workspace \ ac2-registry.cn-hangzhou.cr.aliyuncs.com/ac2/pytorch:2.2.0.1-3.2304-cu121
以上命令首先拉取容器鏡像,隨后使用該鏡像創建一個以分離模式運行的,名為
pytorch
的容器,并將用戶的家目錄映射到容器中,以保留開發內容。
步驟三:手動部署Qwen-7B-Chat
運行以下命令,進入容器環境。
sudo docker exec -it -w /workspace pytorch /bin/bash
后續命令需在容器環境中執行,如意外退出,請使用以上命令重新進入容器環境。您可以運行
cat /proc/1/cgroup | grep docker
命令查看當前環境是否為容器,如有回顯信息則為容器環境。運行以下命令,安裝配置軟件。
yum install -y git git-lfs wget tmux
運行以下命令,啟用Git LFS。
下載預訓練模型需要Git LFS的支持。
git lfs install
下載源碼與模型。
新建一個tmux session。
tmux
注意:下載預訓練模型耗時較長,建議在tmux會話中下載。實例連接中斷后,通過
tmux attach
恢復會話。運行以下命令,下載Qwen-7B項目源碼,以及預訓練模型。
git clone https://github.com/QwenLM/Qwen.git git clone https://www.modelscope.cn/qwen/Qwen-7B-Chat.git qwen-7b-chat --depth=1
運行以下命令,部署運行環境。
AC2容器中,集成了眾多的Python AI依賴組件,可以直接使用
yum
或dnf
安裝Python運行依賴。dnf install -y python-einops \ python3-datasets \ python3-gradio \ python3-mdtex2html \ python3-protobuf \ python3-psutil \ python3-pyyaml \ python3-rich \ python3-scikit-learn \ python3-scipy \ python3-sentencepiece \ python3-tensorboard \ python3-tiktoken \ python3-transformers \ python3-transformers-stream-generator \ yum-utils
部分依賴組件需要手動下載并安裝,防止安裝過程中覆蓋 AC2 鏡像中的組件。
yumdownloader --destdir ./rpmpkgs python3-timm python3-accelerate rpm -ivh --nodeps rpmpkgs/*.rpm && rm -rf rpmpkgs
運行AI對話。
運行以下命令,啟動聊天機器人。
cd /workspace/Qwen python3 cli_demo.py -c ../qwen-7b-chat
部署完成后可以通過在
User>
提示符處輸入對話內容,就可以與Qwen-7B-Chat大模型進行實時對話。說明您可以運行
:exit
命令退出聊天機器人