记录一次Linux下ChatGLM部署过程

前言
本地化的GPT就是香,就是有点费钱。
项目地址:https://github.com/THUDM/ChatGLM-6B

前期准备
服务器(本机的跳过)
由于本地电脑显卡都不行,所以我租了[AutoDL](https://www.autodl.com/)的一台算力服务器。Tesla T4 16G显存,56GB内存,符合我们跑[ChatGLM-6B](https://github.com/THUDM/ChatGLM-6B)的配置。

其实本来这台服务器是其他用途,跑vits的,所以选择了so-vits-svc4的镜像,这类的AI项目依赖库大同小异,所以如果有需求,可以直接选现成镜像,减少麻烦。
我这边的操作系统是ubuntu20.04
自带python3.8,需要注意项目python环境需要 >=python3.7
实例后开机,有ssh,我们就改其他ssh客户端登录。当然你也可以直接在autodl自带的终端跑。

环境搭建
官方教程:https://www.heywhale.com/mw/project/6436d82948f7da1fee2be59e
clone项目
一般都默认装了git,如果没有你可以手动装下,ubuntu的话
我是选择在数据盘autodl-tmp,因为系统盘其他东西太多了0.0
克隆下项目
安装依赖
前面装完后,进入项目
pip安装依赖


下载模型
官方教程如下

chatglm-6b
由于模型文件很大,需要提前装个 git-lfs
安装命令

因为我测试过6B模型,跑不动,当然你也可以试试
在项目根目录内,创建文件夹 THUDM,命令为
然后进入
,进行clone

如果clone大文件失败了,注意文件大小,模型很大的,失败的话请手动下载 官方提供的
https://cloud.tsinghua.edu.cn/d/fb9f16d6dc8f482596c2/

附赠批量下载shell脚本(别告诉我你没装wget),新建一个download.sh,填入以下代码,增加执行权限 chmod +x download.sh,运行即可 ./download.sh。
chatglm-6b-int4
❗️ ❗️ ❗️ 如果你也跑不起来的话,可以更换小一些的模型INT4
同理clone到 THUDM下


运行
web UI
chatglm-6b
首先安装 Gradio:
如果你跑的 chatglm-6b 模型,那你不需要修改源码,直接在项目根目录运行以下命令即可:

日常跑在7860端口,由于AutoDL没有公网IP,所以很尴尬,我就做了个frp内网穿透(ps:autodl有个自定义服务,跑的6006端口,可以公网访问)

然后就访问我们穿的公网IP对应端口即可。

chatglm-6b int4
如果你跑的int4,则需要改下web_demo.py的源码啦,其实我认为官方应该写成配置文件的形式,改源码有点麻烦,代码如下:
其实就是改下加载的模型路径罢了
改完后,一样运行

跑INT4速度很快,秒回~

命令行demo
和web UI版一样,如果是跑的INT4,就需要修改源码中,模型的加载路径


