大模型Linux本地化[离线]部署(以DB-GPT为例)

香芹胡萝卜炒鸡片 / 2024-07-08 / 原文

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
text2vec-large-chinese
glm-4-9b-chat
vicuna-13b-v1.5
Baichuan2-13B-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

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
nvcc -V

image

Miniconda安装

确保开发联网环境和内网离线环境的 Miniconda 版本一致。

mkdir -p ~/miniconda3
wget https://repo.anaconda.com/archive/Anaconda3-2024.02-1-Linux-x86_64.sh -O ~/miniconda3/miniconda.sh
bash ~/miniconda3/miniconda.sh -b -u -p ~/miniconda3
rm -rf ~/miniconda3/miniconda.sh

设置环境变量
vim /etc/profile.d/my_env.sh

export PATH=~/anaconda3/bin:$PATH

source /etc/profile.d/my_env.sh
vim ~/.bashrc

export PATH=~/anaconda3/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
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

以上操作都是在联网开发环境中进行的,现在需要将打包环境dbgpt_env_offline.tar.gz移植到内网[离线]环境中,以下操作都是在内网[离线]环境中进行的。

mkdir /root/anaconda3/envs/dbgpt_env_offline
tar -zxvf dbgpt_env_offline.tar.gz -C /root/anaconda3/envs/dbgpt_env_offline
cd /home/module/DB-GPT-main
conda activate dbgpt_env_offline
pip install -e ".[default]"

环境变量配置
vim .env

LLM_MODEL=glm-4-9b-chat

DB-GPT启动

python dbgpt/app/dbgpt_server.py

访问 DB-GPT WebUI

http://172.18.0.62:5670/

image

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