在處理大語言模型(LLM)任務中,您可以根據實際業務部署情況,選擇在不同環境(例如GPU云服務器環境或Docker環境)下安裝推理引擎DeepGPU-LLM,然后通過使用DeepGPU-LLM實現大語言模型(例如Llama模型、ChatGLM模型、百川Baichuan模型或通義千問Qwen模型)在GPU上的高性能推理優化功能。
LLM模型的特性適用于GPU計算型實例,更多信息,請參見GPU計算型(gn系列)。本文以GPU計算型實例規格gn7i為例。
在GPU云服務器環境下安裝DeepGPU-LLM
部分云市場鏡像中已預裝了DeepGPU-LLM工具,在創建GPU實例時,您可以一鍵獲取預裝DeepGPU-LLM的鏡像來自動安裝DeepGPU-LLM;也可以先購買GPU實例,然后手動安裝DeepGPU-LLM。
自動方式(選擇云市場鏡像)
獲取云市場鏡像并創建GPU實例。
云市場鏡像中預裝了DeepGPU-LLM工具,您可以通過以下兩個入口獲取云市場鏡像。
通過ECS購買頁面獲取
前往實例創建頁。
選擇自定義購買頁簽。
按需選擇付費類型、地域、實例規格、鏡像等配置。
需要注意的參數項設置如下圖所示,其他配置項參數的詳細說明,請參見配置項說明。
①實例:以
ecs.gn7i-c8g1.2xlarge,8 vCPU 30 GiB
實例規格為例。②鏡像:以選擇云市場鏡像中的鏡像為例,該鏡像是阿里云免費提供的基于大語言模型LLM場景的AI推理解決方案鏡像。在創建GPU計算型實例時,云市場鏡像中提供了更多基于大語言模型LLM場景的AI推理解決方案鏡像供您選擇,具體鏡像如下:
支持的實例規格
預裝大語言模型框架的鏡像
最新版本
預裝deepgpu-llm的centos7.9系統
24.3
預裝deepgpu-llm的ubuntu 20.04系統
24.4
預裝deepgpu-llm的ubuntu 22.04系統
24.3
部署DeepGPU-LLM的Ubuntu鏡像
V 1.1.3
deepgpu-llm-inference-ubuntu2004
V 0.1
預裝deepgpu-llm的centos 8.5系統(uefi erdma)
24.3
預裝deepgpu-llm的centos7.9系統(uefi erdma)
24.3
預裝deepgpu-llm的ubuntu 20.04系統(uefi + erdma)
24.3.1
預裝deepgpu-llm的ubuntu 22.04系統(uefi + erdma)
24.3
說明僅部分規格支持帶有
uefi
和erdma
的鏡像,例如ebmgn7ix、ebmgn8is等,請您以實際控制臺選擇為準。公網IP:選中分配公網IPv4地址,帶寬計費方式選擇按使用流量,帶寬峰值選擇100Mbps,以加快模型下載速度。
按照頁面提示操作,單擊確定下單。
在支付頁面查看實例的總費用,如無疑問,按照提示完成支付。
通過云市場獲取
前往阿里云云市場頁面。
在頁面的搜索框輸入
deepgpu-llm
并按回車鍵。選擇需要的鏡像類型,單擊詳情。
以選擇預裝deepgpu-llm的ubuntu 22.04系統鏡像為例。
云市場鏡像中提供了更多基于大語言模型LLM場景的AI推理解決方案鏡像供您選擇,具體鏡像如下:
支持的實例規格
預裝大語言模型框架的鏡像
最新版本
預裝deepgpu-llm的centos7.9系統
24.3
預裝deepgpu-llm的ubuntu 20.04系統
24.4
預裝deepgpu-llm的ubuntu 22.04系統
24.3
部署DeepGPU-LLM的Ubuntu鏡像
V 1.1.3
deepgpu-llm-inference-ubuntu2004
V 0.1
預裝deepgpu-llm的centos 8.5系統(uefi erdma)
24.3
預裝deepgpu-llm的centos7.9系統(uefi erdma)
24.3
預裝deepgpu-llm的ubuntu 20.04系統(uefi + erdma)
24.3.1
預裝deepgpu-llm的ubuntu 22.04系統(uefi + erdma)
24.3
說明僅部分規格支持帶有
uefi
和erdma
的鏡像,例如ebmgn7ix、ebmgn8is等,請您以實際控制臺選擇為準。在鏡像詳情頁,單擊自定義購買。
說明購買鏡像時,系統鏡像本身是免費的,您只需要支付GPU云服務器的費用。
在實例購買頁的鏡像區域,查看云市場鏡像頁簽下是否已選中所購買鏡像。
下圖以購買的鏡像被選中為例,如果鏡像未被選中,則您需要繼續單擊重新選擇鏡像,選擇所需鏡像。
在實例購買頁,配置其他參數并創建GPU實例。
其中,公網IP選中分配公網IPv4地址,帶寬計費方式選擇按使用流量,帶寬峰值選擇100Mbps,以加快模型下載速度。其他更多配置項信息,請參見配置項說明。
遠程連接已創建的GPU實例。
具體操作,請參見通過密碼或密鑰認證登錄Linux實例。
執行以下命令,查看DeepGPU-LLM安裝狀態及版本。
sudo pip list | grep deepgpu-llm
顯示結果如下,表示DeepGPU-LLM已成功安裝且當前版本為24.3。
說明您也可以執行
sudo pip show -f deepgpu-llm
命令查看已安裝的DeepGPU-LLM相關詳細信息。(可選)升級DeepGPU-LLM。
如果安裝的DeepGPU-LLM版本過低,不滿足您業務需求,您可以安裝高版本的DeepGPU-LLM來實現升級操作。
找到待安裝的DeepGPU-LLM包,右鍵單擊復制鏈接地址獲取安裝包路徑。
執行以下命令,安裝高版本的DeepGPU-LLM。
本示例以下載
deepgpu_llm-24.3+pt2.1cu121-py3-none-any.whl
為例,您可以替換成實際需要的DeepGPU-LLM版本。sudo wget https://aiacc-inference-public-v2.oss-cn-hangzhou.aliyuncs.com/aiacc-inference-llm/deepgpu_llm-24.3%2Bpt2.1cu121-py3-none-any.whl sudo pip install deepgpu_llm-24.3+pt2.1cu121-py3-none-any.whl
手動方式(選擇公共鏡像)
先創建GPU實例,然后在該GPU實例上安裝DeepGPU-LLM。本文以選擇公共鏡像中的Ubuntu 22.04 64位系統或Alibaba Cloud Linux 3系統的鏡像為例。
基于Ubuntu 22.04系統
創建GPU實例。
(條件必選)如果創建GPU實例時無法選中或忘記選中安裝GPU驅動項,手動安裝GPU實例的Tesla驅動和CUDA Toolkit。
具體操作,請參見在GPU計算型實例中手動安裝Tesla驅動(Linux)和安裝CUDA。
遠程連接GPU實例。
具體操作,請參見通過密碼或密鑰認證登錄Linux實例。
依次執行以下命令,配置環境變量。
export PATH=/usr/local/cuda-12.4/bin:$PATH export LD_LIBRARY_PATH=/usr/local/cuda-12.4/lib64:$LD_LIBRARY_PATH
依次執行以下命令,查看GPU實例的驅動以及CUDA是否安裝成功。
nvidia-smi nvcc -V
顯示結果如下所示,表示驅動和CUDA已安裝成功。
(條件必選)如果您的GPU實例規格族為ebmgn7、ebmgn7e、ebmgn7ex或sccgn7ex時,安裝與驅動版本對應的nvidia-fabricmanager服務。
具體操作,請參見安裝nvidia-fabricmanager服務。
執行以下命令,安裝DeepGPU-LLM的部分依賴項。
sudo apt-get update sudo apt-get -y install python3.10 python3-pip openmpi-bin libopenmpi-dev curl vim
執行以下命令,安裝DeepGPU-LLM。
說明下載和安裝過程需要較長時間,請您耐心等待。
根據所需DeepGPU-LLM版本和環境依賴PyTorch版本、CUDA版本,選擇合適的DeepGPU-LLM安裝包。如何獲取最新DeepGPU-LLM版本號,請參見DeepGPU-LLM加速安裝包。
sudo pip3 install deepgpu_llm=={DeepGPU-LLM版本號}+{PyTorch版本}{CUDA版本} \ -f https://aiacc-inference-public-v2.oss-cn-hangzhou.aliyuncs.com/aiacc-inference-llm/deepgpu_llm.html
例如
{DeepGPU-LLM版本號}
為24.7.2
、{PyTorch版本}
為pt2.4
、{CUDA版本}
為cu124
表示安裝24.7.2版本的DeepGPU-LLM。sudo pip3 install deepgpu_llm==24.7.2+pt2.4cu124 \ -f https://aiacc-inference-public-v2.oss-cn-hangzhou.aliyuncs.com/aiacc-inference-llm/deepgpu_llm.html
執行以下命令,查看DeepGPU-LLM安裝狀態及版本。
sudo pip list | grep deepgpu-llm
顯示結果如下,表示DeepGPU-LLM已成功安裝且當前版本為24.7.2。
基于Alibaba Cloud Linux 3系統
創建GPU實例。
遠程連接已創建的GPU實例。
具體操作,請參見通過密碼或密鑰認證登錄Linux實例。
依次執行以下命令,查看GPU實例的驅動以及CUDA是否安裝成功。
nvidia-smi nvcc -V
執行以下命令,安裝DeepGPU-LLM的部分依賴項。
sudo yum install epel-release sudo yum update sudo yum install openmpi3 openmpi3-devel curl sudo wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh sudo chmod +x Miniconda3-latest-Linux-x86_64.sh sudo ./Miniconda3-latest-Linux-x86_64.sh
執行以下命令,修改環境變量。
export PATH=/usr/lib64/openmpi3/bin:$PATH export LD_LIBRARY_PATH=/usr/lib64/openmpi3/lib:$LD_LIBRARY_PATH
執行以下命令,使能和配置Miniconda環境,并在該環境中安裝Python。
本示例以安裝Python 3.10為例,如果需要安裝Python 3.9,請您自行配置。
sudo su /root/miniconda3/bin/conda init source ~/.bashrc conda create -n py310 python=3.10 conda activate py310
執行以下命令,安裝DeepGPU-LLM。
說明下載和安裝過程需要較長時間,請您耐心等待。
根據所需DeepGPU-LLM版本和環境依賴PyTorch版本、CUDA版本,選擇合適的DeepGPU-LLM安裝包。如何獲取最新DeepGPU-LLM版本號,請參見DeepGPU-LLM加速安裝包。
pip3 install deepgpu_llm==24.7.2+pt2.4cu124 \ -f https://aiacc-inference-public-v2.oss-cn-hangzhou.aliyuncs.com/aiacc-inference-llm/deepgpu_llm.html
執行以下命令,查看DeepGPU-LLM安裝狀態及版本。
pip list | grep deepgpu-llm
顯示結果如下,表示DeepGPU-LLM已成功安裝且當前版本為24.7。
在Docker環境下安裝DeepGPU-LLM
手動安裝方式
準備Docker環境。
執行以下命令,安裝或升級docker-ce。
sudo apt update sudo apt remove docker docker-engine docker-ce docker.io containerd runc sudo apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common sudo curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add - sudo apt-key fingerprint 0EBFCD88 sudo add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable" sudo apt update sudo apt install docker-ce docker -v
sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine sudo yum install -y yum-utils sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo yum install docker-ce docker-ce-cli containerd.io sudo systemctl start docker sudo systemctl enable docker
如果執行上述命令安裝失敗,您可以繼續執行以下命令安裝或升級docker-ce。
yum-config-manager --add-repo https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo sed -i 's+https://download.docker.com+https://mirrors.tuna.tsinghua.edu.cn/docker-ce+' /etc/yum.repos.d/docker-ce.repo
執行以下命令,安裝nvidia-container-toolkit。
sudo curl -fsSL https://nvidia.github.io/libnvidia-container/gpgkey | sudo gpg --dearmor -o /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg \ && curl -s -L https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | \ sed 's#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g' | \ sudo tee /etc/apt/sources.list.d/nvidia-container-toolkit.list \ && \ sudo apt-get update sudo apt-get install -y nvidia-container-toolkit sudo nvidia-ctk runtime configure --runtime=docker sudo systemctl restart docker
distribution=$(. /etc/os-release;echo $ID$VERSION_ID) curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.repo | sudo tee /etc/yum.repos.d/nvidia-docker.repo yum clean expire-cache yum install -y nvidia-docker2 systemctl restart docker
如需了解更多信息,請參見Installing the NVIDIA Container Toolkit。
執行以下命令,在Docker環境中拉取并啟用Docker鏡像。
本示例以拉取
pytorch/pytorch:2.1.0-cuda12.1-cudnn8-devel
鏡像為例。sudo docker pull pytorch/pytorch:2.1.0-cuda12.1-cudnn8-devel sudo docker run -ti --gpus all --name="deepgpu_llm" --network=host \ -v /root/workspace:/root/workspace \ --shm-size 5g pytorch/pytorch:2.1.0-cuda12.1-cudnn8-devel
參數項
說明
--shm-size
指定容器的共享內存大小,其大小會影響Triton服務器部署。
例如:
--shm-size 5g
表示將共享內存大小設置為5 GB。您可以根據需要調整此值,以滿足您的模型推理所需的內存需求。-v /root/workspace:/root/workspace
將主機目錄映射到Docker中的相應目錄,使得主機和Docker之間可以共享文件,請根據您實際環境情況進行映射。
pytorch/pytorch:2.1.0-cuda12.1-cudnn8-devel
PyTorch的Docker映像標簽
執行以下命令,安裝依賴庫。
apt update apt install openmpi-bin libopenmpi-dev curl
上述命令安裝的
openmpi-bin
提供了OpenMPI、libopenmpi-dev軟件包以及curl軟件包。安裝DeepGPU-LLM。
根據所需的DeepGPU-LLM版本和依賴PyTorch版本,通過
pip3 install
命令安裝DeepGPU-LLM。如何獲取最新DeepGPU-LLM版本號,請參見DeepGPU-LLM加速安裝包。sudo pip3 install deepgpu_llm=={DeepGPU-LLM版本號}+{PyTorch版本}{CUDA版本} \ -f https://aiacc-inference-public-v2.oss-cn-hangzhou.aliyuncs.com/aiacc-inference-llm/deepgpu_llm.html
例如
{DeepGPU-LLM版本號}
為24.3
、{PyTorch版本}
為pt2.1
、{CUDA版本}
為cu121
表示安裝24.3版本的DeepGPU-LLM。sudo pip3 install deepgpu_llm==24.3+pt2.1cu121 \ -f https://aiacc-inference-public-v2.oss-cn-hangzhou.aliyuncs.com/aiacc-inference-llm/deepgpu_llm.html
執行以下命令,查看DeepGPU-LLM安裝狀態及版本。
sudo pip list | grep deepgpu-llm
顯示結果如下,表示DeepGPU-LLM已成功安裝且當前版本為24.3。
容器鏡像安裝方式
使用DeepGPU-LLM容器鏡像可以快速安裝DeepGPU-LLM,您無需深入了解底層的硬件優化細節,該鏡像拉取完成后,無需額外配置即可開箱即用。
獲取DeepGPU-LLM容器鏡像。
登錄容器鏡像服務控制臺。
在左側導航欄,單擊制品中心。
在倉庫名稱搜索框,搜索
deepgpu
選擇目標鏡像egs/deepgpu-llm
。DeepGPU-LLM容器鏡像大概每3個月內更新一次。鏡像詳情如下所示:
鏡像名稱
組件信息
鏡像地址
適用的GPU實例
DeepGPU-LLM
DeepGPU-LLM:24.3
Python:3.10
PyTorch:2.1.0
CUDA:12.1.1
cuDNN:8.9.0.131
基礎鏡像:Ubuntu 22.04
egs-registry.cn-hangzhou.cr.aliyuncs.com/egs/deepgpu-llm:24.3-pytorch2.1-cuda12.1-cudnn8-ubuntu22.04
DeepGPU-LLM鏡像僅支持以下GPU實例選擇,更多信息,請參見GPU計算型(gn系列)。
gn6e、ebmgn6e
gn7i、ebmgn7i、ebmgn7ix
gn7e、ebmgn7e、ebmgn7ex
安裝DeepGPU-LLM。
Docker環境安裝完成后,拉取已獲取的DeepGPU-LLM容器鏡像來安裝DeepGPU-LLM。具體操作,請參見安裝DeepGPU-LLM操作步驟。
使用DeepGPU-LLM運行模型
下載模型前,請確認您已成功登錄GPU實例。更多信息,請參見連接方式概述。
下載開源模型。
modelscope是阿里達摩院提供的開源模型平臺,以下載modelscope格式的通義千問-7B-Chat模型為例,您可以通過以下任一方式下載該模型。
重要下載模型過程中,如果顯示內存不足導致模型下載失敗,您可以通過擴容云盤來解決,具體操作,請參見云盤擴容指引。
git lfs clone命令方式
進入ModelScope官網,搜索模型名稱(例如qwen)。
在搜索頁面的模型庫區域,單擊通義千問-7B-Chat。
找到modelscope的專屬模型名并復制模型ID。
執行以下命令,構建下載命令并下載模型ID。
sudo git-lfs clone https://modelscope.cn/qwen/Qwen-7B-Chat.git
ModelScope庫中的snapshot_download方式
進入ModelScope官網,搜索模型名稱(例如qwen)。
在搜索頁面的模型庫區域,單擊通義千問-7B-Chat。
找到modelscope的專屬模型名并復制模型ID。
準備
download_from_modelscope.py
腳本。import argparse import shutil from modelscope.hub.snapshot_download import snapshot_download parser = argparse.ArgumentParser(description='download from modelscope') parser.add_argument('--model_name', help='the download model name') parser.add_argument('--version', help='the model version') args = parser.parse_args() base_dir = '/root/deepgpu/modelscope' model_dir = snapshot_download(args.model_name, cache_dir=base_dir,revision=args.version) print(model_dir)
執行以下命令,下載模型。
模型下載前,您需要在通義千問-7B-Chat頁面的模型文件頁簽下查看模型版本號。本命令以模型版本號為v.1.1.7為例。
python3 download_from_modelscope.py --model_name Qwen/Qwen-7B-Chat --version v1.1.7
運行Qwen模型推理對話功能。
DeepGPU-LLM提供了
llama_cli
、qwen_cli
、baichuan_cli
和chatglm_cli
等腳本幫助您直接運行相應類別的LLM模型,具體運行命令可以通過--help
查看具體配置項。例如:以運行
qwen_cli
腳本加載qwen-7b-chat模型或qwen1.5-7b-chat模型推理進行對話為例。示例命令如下:說明--model_dir
后的路徑請您替換成模型成功下載后的實際路徑。qwen-7b-chat模型
qwen_cli --model_dir /home/ecs-user/Qwen-7B-Chat --tp_size 1 --precision fp16
調用完成后,您可以輸入內容和Qwen模型進行對話。例如:
qwen1.5-7b-chat模型
qwen_cli --model_dir /home/ecs-user/Qwen1.5-7B-Chat --tp_size 1 --precision fp16
調用完成后,您可以輸入內容和Qwen模型進行對話。例如:
(可選)模型轉換并運行模型推理對話功能。
對于某些受限場景,可以提前做好模型轉換,然后部署運行模型的推理對話功能即可。
轉換模型格式。
以qwen1.5-7b-chat模型為例,其轉換命令如下所示:
huggingface_model_convert --in_file /root/Qwen1.5-7B-Chat --saved_dir /root/qwen1.5-7b-chat --infer_gpu_num 1 --weight_data_type fp16 --model_name qwen1.5-7b-chat
參數項
說明
huggingface_model_convert
本參數表示模型的轉換腳本。
說明如果無法找到該命令,說明DeepGPU版本較老,您可以升級當前DeepGPU-LLM版本,具體操作,請參見(可選)升級DeepGPU-LLM;或者根據LLM模型類型,將
model
字段替換為具體的LLM名稱,然后進行模型轉換,具體查看help
調整相應參數。--in_file
指向下載的模型目錄。上述示例僅供參考,請替換為模型成功下載后的實際路徑。
--saved_dir
指向生成的模型目錄。上述示例僅供參考,請替換為轉換模型格式后實際保存路徑。
--infer_gpu_num
設定推理運行的GPU數量(即模型切分份數)。
--weight_data_type
設置模型權重使用的數據類型,與預期計算的類型一致,可選fp16和bf16。
--model_name
模型名稱。
執行以下命令,運行Qwen模型推理對話功能。
qwen_cli --tokenizer_dir /root/Qwen1.5-7B-Chat --model_dir /root/qwen1.5-7b-chat/1-gpu/ --tp_size 1 --precision fp16
參數項
說明
--tp_size
配置的參數需要與轉換時
--infer_gpu_num
設定的參數一致。--precision
用于設置是否要對權重進行量化,可選fp16、int8和int4。
常見問題
問題:在Ubuntu 20.04系統上GPU上,執行以下命令安裝DeepGPU-LLM時失敗。
apt-get update apt-get -y install python3-pip openmpi-bin libopenmpi-dev curl vim pip3 install deepgpu_llm -f https://aiacc-inference-public-v2.oss-cn-hangzhou.aliyuncs.com/aiacc-inference-llm/deepgpu_llm.html
原因及措施:由于apt無法直接安裝python 3.10,直接放棄python 3.10安裝,安裝其他組件即可。安裝過程中可能會被動安裝gdm3模塊導致系統變為圖形界面,而非默認的命令行,您可以通過以下命令關閉。
systemctl disable gdm3 reboot
聯系我們
如果您在安裝和使用DeepGPU-LLM過程中遇到問題,歡迎加入釘釘群23210030587
尋求幫助(釘釘通訊客戶端下載地址)。