私有化实现及部署“chatgpt”对话机器人(一)--环境安装

794 阅读4分钟

很高兴您能有缘看到本系列文章,本人是一名资深算法码农,现在ChatGPT大模型非常的火,不少人也深信它能改变世界。ChatGPT可以帮助我们解决很多实际问题。例如,我们可以利用ChatGPT来创建智能客服机器人,让它为顾客提供高质量的服务。这可以大大减轻公司客服人员的工作量,并提高客户的满意度。

本系列将讲述如何从零开始私有化实现及部署类ChatGPT的对话机器人,主要分环境安装,模型现状与选型,基础chatglm模型详解及部署,chatglm不同环境常见bug,前后端对话简单实现,流式对话实现,chatpdf实现,海量本地知识库搜索能力实现,visualglm图片描述模型详解,集成,文本生成图片模型集成,语音识别详解,语音合成详解,语音对话功能集成等等内容。

阅读本系列需要有一定的人工智能算法能力,对nlp算法,语音算法有一定了解,还涉及多方面工程能力知识,如阅读中有任何问题,可以留言,本人会一一解答。

本章节主要从gpu服务器基础驱动环境搭建,cuda与cudnn环境安装,python环境及pytorch安装,建议有条件的可采用云服务器方式,相对要更简单一些。

一.本地gpu服务器基础环境搭建

首先准备好一台带gpu显卡的linux服务器

由于大模型的参数量最少都是billion级的,所以是非常吃显存的,选显卡时,首要以显卡显存为准。

显卡名称显存大小cuda数
P48G2560
T416G2560
P4024G3840
A10080G6912

如上是nvidia允许在大型商用场景下当前比较常见的几个型号的卡,其中cuda数可以理解为cpu核数,处理速度,由于商用卡比较贵,如果只是小规模使用或者学习研究,完全可以购买游戏卡gtx系列。

以如上显卡举例,有资金的应尽量考虑P40参数以上的卡,以清华中文大模型chatglm为例,其本身参数为70亿(以下简化7B),如果参数采用fp16,需要至少13g的显存才可运行,同理,100亿参数的大模型则需要20g显存才可运行。

建议购买游戏卡,24g显存的游戏卡便宜很多,当然不是说8G显存不能跑大模型,实际上chatglm量化int4是可以运行在8g显存下,但是由于量化,只是减少了显存占用,预测速度反倒降低,所以建议是显卡尽量高配显存。

有本地服务器后,安装好linux系统,下面以ubuntu 4.15.0为例。

进入系统后,在终端命令行执行如下命令

nvidia-smi

如果报以下错误,说明没有nvidia驱动,需要安装。

bash: nvidia-smi: command not found...

首先查看nvidia卡的版本执行以下命令

lspci | grep NVIDIA

可以看到终端输出:

1.png

再执行系统命令查看

cat /etc/issue

可以看到终端输出

2.png

通过上述信息到nvidia官网 www.geforce.cn/drivers 下载对应驱动,安装即可。

安装完毕后,执行nvidia-smi,可以看到终端显示

3.png

二.云gpu服务器基础环境搭建

云gpu服务器环境搭建相对简单的多,以本人在使用的腾讯云服务为例,在新建云服务器时选择gpu机型。

4.png

接下来选择想要配置的服务器的nvidia的T4卡。

5.png

然后再在镜像市场中选择人工智能镜像,该镜像已经解决了cuda,cudnn环境,以及python环境问题,基本下载下来,更新以下pytorch版本就可用。

6.png

三.cuda与cudnn安装

一般来说,cuda与cudnn安装实际上是先确定pytorch的版本,在这里,我们使用pytorch1.12.0,这时cuda对应11.4,cudnn 8.2.4。

第一步,到nvidia官网developer.nvidia.com/cuda-toolki…

7.png

第二步,按照输出代码,直接下载对应版本cuda

wget https://developer.download.nvidia.com/compute/cuda/11.4.0/local_installers/cuda_11.4.0_470.42.01_linux.run  
sudo sh cuda_11.4.0_470.42.01_linux.run  

第三步,下载cudnn安装,去官网developer.nvidia.com/rdp/cudnn-a…

cd /usr/local/cuda/include/  
rm -r cudnn.h  
cd /usr/local/cuda/lib64/  
rm -r libcudnn*  
sudo cp cuda/include/cudnn.h /usr/local/cuda/include/  
sudo cp cuda/lib64/libcudnn* /usr/local/cuda/lib64/  
sudo chmod 777 /usr/local/cuda/include/cudnn.h  
sudo chmod 777 /usr/local/cuda/lib64/libcudnn*  

第四步,修改环境变量,并生效。

vim ~/.bashrc  
export PATH=/usr/local/cuda-11.4/bin${PATH:+:${PATH}}  
export LD_LIBRARY_PATH=/usr/local/cuda-11.4/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}  
source ~/.bashrc  

四.python环境安装(pytorch)

最好安装conda环境,国内可以考虑清华的conda,这样会更快,mirror.tuna.tsinghua.edu.cn/help/anacon…

安装好conda后,执行安装pytorch,这时候上pytorch官网,pytorch.org/, 查看安装命令行

conda install pytorch==1.12.0 torchvision==0.13.0 torchaudio==0.12.0 cudatoolkit=11.3 -c pytorch  

执行python,输入以下代码,确认torch安装正确。

import torch  
print(torch.cuda.is_available())  
print(torch.version.cuda)  

至此,大模型的初始基础环境安装已全部结束。