本文聊天機器人為例,介紹如何使用Alibaba Cloud AI Containers(簡稱AC2)提供的AI容器鏡像在Intel CPU上部署通義千問Qwen-7B-Chat。
背景資訊
通義千問-7B(Qwen-7B)是阿里雲研發的通義千問大模型系列的70億參數規模模型。Qwen-7B是基於Transformer的大語言模型,在超大規模的預訓練資料上進行訓練得到。預訓練資料類型多樣,覆蓋廣泛,包括大量網路文本、專業書籍、代碼等。同時,在Qwen-7B 的基礎上,使用對齊機制打造了基於大語言模型的AI助手Qwen-7B-Chat。
步驟一:建立ECS執行個體
前往執行個體建立頁。
按照介面提示完成參數配置,建立一台ECS執行個體。
需要注意的參數如下,其他參數的配置,請參見自訂購買執行個體。
執行個體:Qwen-7B-Chat大概需要30 GiB記憶體,為了保證模型啟動並執行穩定,執行個體規格至少需要選擇ecs.g8i.4xlarge(64 GiB記憶體)。
鏡像:Alibaba Cloud Linux 3.2104 LTS 64位。
公網IP:選中分配公網IPv4地址,頻寬計費模式選擇按使用流量,頻寬峰值設定為100 Mbps。以加快模型下載速度。
資料盤:Qwen-7B-Chat的運行需要下載多個模型檔案,會佔用大量儲存空間,為了保證模型順利運行,建議資料盤設定為100 GiB。
步驟二:建立Docker運行環境
安裝Docker。
在Alibaba Cloud Linux 3上安裝Docker可以參考安裝Docker並使用(Linux)。
運行以下命令,確保Docker守護進程已經啟用。
sudo systemctl status docker
運行以下命令,建立並運行PyTorch AI容器。
AC2提供了豐富的AI情境下的容器鏡像,其中就包括針對Intel最佳化的PyTorch鏡像,可以使用該鏡像快速建立一個PyTorch運行環境。
sudo docker pull ac2-registry.cn-hangzhou.cr.aliyuncs.com/ac2/pytorch:2.0.1-3.2304 sudo docker run -itd --name pytorch --net host -v $HOME/workspace:/workspace \ ac2-registry.cn-hangzhou.cr.aliyuncs.com/ac2/pytorch:2.0.1-3.2304
步驟三:手動部署Qwen-7B-Chat
運行以下命令,進入容器環境。
sudo docker exec -it -w /workspace pytorch /bin/bash
後續命令需在容器環境中執行,如意外退出,請使用以上命令重新進入容器環境。您可以運行
cat /proc/1/cgroup | grep docker
命令查看當前環境是否為容器,如有回顯資訊則為容器環境。運行以下命令,安裝配置軟體。
yum install -y tmux git git-lfs wget
運行以下命令,啟用Git LFS。
下載預訓練模型需要Git LFS的支援。
git lfs install
下載源碼與模型。
運行以下命令,建立一個tmux session。
tmux
說明下載預訓練模型耗時較長,且成功率受網路情況影響較大,建議在tmux session中下載,以免ECS中斷連線導致下載模型中斷。
運行以下命令,下載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
運行以下命令,查看目前的目錄。
ls -l
運行以下命令,部署運行環境。
AC2容器中,整合了眾多的Python AI相依元件,可以直接使用
yum
或dnf
安裝Python運行依賴。yum install -y python3-{transformers{,-stream-generator},tiktoken,accelerate} python-einops
運行AI對話。
運行以下命令,修改模型載入參數。
在專案源碼中提供了終端樣本指令碼,可以運行Qwen-7B-Chat模型實現本地聊天機器人。在運行指令碼之前,需要修改模型載入參數,使用BF16精度載入,以利用CPU的AVX-512指令集進行加速。
cd /workspace/Qwen grep "torch.bfloat16" cli_demo.py 2>&1 >/dev/null || sed -i "57i\torch_dtype=torch.bfloat16," cli_demo.py
運行以下命令,啟動聊天機器人。
cd /workspace/Qwen python3 cli_demo.py -c ../qwen-7b-chat --cpu-only
部署完成後可以通過在
User>
提示符處輸入對話內容,就可以與Qwen-7B-Chat大模型進行即時對話。說明您可以運行
:exit
命令退出聊天機器人。