大模型Linux本地化[离线]部署(以DB-GPT为例)
DB-GPT 本地化[离线]部署
由于 Python 相关依赖包的获取极度依赖 pip,而 Miniconda 支持环境隔离和环境打包,所以离线部署本质就是比在线部署多一步环境打包,环境搬迁。所以本篇文章一样适用于在线部署,以CentOS7
为例。
资源获取
DB-GPT 官方说明文档
DB-GPT 源码下载地址
Nvidia驱动 全版本
CUDA Toolkit 全版本
Nvidia驱动 NVIDIA-Linux-x86_64-550.90.07.runGeForce RTX 3090Ti 24GB
。
CUDA Toolkit 12.4.1 cuda_12.4.1_550.54.15_linux.run
kernel内核 3.10.0-1160.el7.x86_64
kernel-devel-3.10.0-1160.el7.x86_64.rpm
kernel-headers-3.10.0-1160.el7.x86_64.rpm
Miniconda 下载地址 Anaconda3-2024.02-1-Linux-x86_64.sh
模型下载
进入Huggingface
需要魔法,没有魔法可以从魔搭社区获取,这里不提供相关链接。本篇没有通过git lfs
进行下载,通过单击下载按钮下载。
m3e-large
bge-large-zh
text2vec-large-chinese
vicuna-13b-v1.5
Baichuan2-13B-Chat
Qwen1.5-14B-Chat
Qwen2-7B-Instruc
glm-4-9b-chat
显卡驱动环境安装
疑难杂症 Linux 内核版本问题
centos下安装显卡驱动出现的unable to find the kernel source tree等关于内核版本问题
查看主机内核版本
uname -r
rpm -qa | grep kernel
yum info kernel-devel kernel-headers
问题现象:可见驱动安装失败,安装日志文件提示说源码树未发现或者版本不匹配。
解决办法:安装实际内核版本相匹配的kernel-devel与kernel-headers。
rpm -Uvh kernel-devel-3.10.0-1160.el7.x86_64.rpm
rpm -Uvh kernel-headers-3.10.0-1160.el7.x86_64.rpm
验证功能
uname -r
rpm -qa | grep kernel
yum info kernel-devel kernel-headers
centos下安装显卡驱动出现的Unable to find the development tool cc in your path关于编译器的问题
sudo yum install -y gcc
问题现象:可见gcc依赖安装失败,安装日志文件提示说依赖树版本过高或者版本不匹配。
解决办法:降级安装gcc依赖所需次级依赖
yum downgrade glibc glibc-devel glibc-common glibc-headers libgomp
sudo yum install -y gcc
Nvidia 驱动安装
chmod +x NVIDIA-Linux-x86_64-550.90.07.run
./NVIDIA-Linux-x86_64-550.90.07.run
sudo reboot
nvidia-smi
CUDA Toolkit 安装
一直同意即可,因为 Driver
驱动已安装,所以回车取消安装([ ]
未选中[X]
选中),最后Install
回车安装。
chmod +x cuda_12.4.1_550.54.15_linux.run
./cuda_12.4.1_550.54.15_linux.run
sudo vim ~/.bashrc
# 在文件结尾添加:
export PATH=/usr/local/cuda-11.7/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-11.7/lib64:$LD_LIBRARY_PATH
source ~/.bashrc
nvcc -V
Miniconda安装
确保开发联网环境和内网离线环境的 Miniconda 版本一致。
mkdir -p ~/miniconda3
chmod +x Anaconda3-2024.02-1-Linux-x86_64.sh
./Anaconda3-2024.02-1-Linux-x86_64.sh -b -u -p ~/miniconda3
设置环境变量
vim /etc/profile.d/my_env.sh
export PATH=~/miniconda3/bin:$PATH
source /etc/profile.d/my_env.sh
vim ~/.bashrc
export PATH=~/miniconda3/bin:$PATH
验证 Miniconda 功能conda -V
DB-GPT环境安装
unzip DB-GPT-main.zip -d ../module
cd ../module/DB-GPT-main
conda create -n dbgpt_env python=3.10
conda activate dbgpt_env
pip install -e ".[default]" --default-timeout=100 -i https://pypi.tuna.tsinghua.edu.cn/simple
# 解决 glm-4-9b-chat 版本过高,无法运行的问题
pip install transformers==4.40.0 --default-timeout=100 -i https://pypi.tuna.tsinghua.edu.cn/simple
cp .env.template .env
conda create -n dbgpt_env_offline --clone dbgpt_env
conda install -c conda-forge conda-pack
conda pack -n dbgpt_env_offline -o dbgpt_env_offline.tar.gz --ignore-editable-packages
以上操作都是在联网开发环境中进行的,现在需要将打包环境dbgpt_env_offline.tar.gz
移植到内网[离线]环境中,以下操作都是在内网[离线]环境中进行的。
mkdir /root/anaconda3/envs/dbgpt_env_offline
tar -zxvf dbgpt_env_glm4.tar.gz -C /root/anaconda3/envs/dbgpt_env_glm4
cd /home/module/DB-GPT-main
conda activate dbgpt_env_glm4
pip install -e ".[default]"
环境变量配置
# 使用本地模型
cd /home/module/DB-GPT-main/models
mv glm-4-9b-chat /home/module/DB-GPT-main/models
vim .env
LLM_MODEL=glm-4-9b-chat
# 使用代理模型
cd /home/module/DB-GPT-main
pip install -e ".[openai]"
vim .env
LLM_MODEL=proxyllm
PROXY_API_KEY={your-openai-sk}
PROXY_SERVER_URL=https://api.openai.com/v1/chat/completions
DB-GPT启动
python dbgpt/app/dbgpt_server.py
访问 DB-GPT WebUI
http://172.18.0.62:5670/
至此,本片内容结束,感谢大家浏览。