大模型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等关于内核版本问题
image
查看主机内核版本

uname -r
rpm -qa | grep kernel
yum info kernel-devel kernel-headers

image
问题现象:可见驱动安装失败,安装日志文件提示说源码树未发现或者版本不匹配。
解决办法:安装实际内核版本相匹配的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

image

centos下安装显卡驱动出现的Unable to find the development tool cc in your path关于编译器的问题
image

sudo yum install -y gcc

image
问题现象:可见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

image

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

image

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
image

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/

image

至此,本片内容结束,感谢大家浏览。

posted @ 2024-07-05 15:35  香芹胡萝卜炒鸡片  阅读(176)  评论(0编辑  收藏  举报