1.背景
大家好啊,我是小卷。
最近ChatGPT不仅公布了GPT-4,而且解除封印能够联网了。不得不赞叹AI更新迭代的速度真快,都跟不上节奏了。然而大家也留神到了吧,随着ChatGPT的每次更新,OpenAI对其凋谢应用的限度也越来越大。之前国内网轻易拜访GPT3,当初动不动就封号
所以,明天就来教大家部署国内清华大学开源的ChatGLM-6B。简略介绍下,ChatGLM是对话语言模型,对中文问答和对话进行了优化。以后训练模型有62亿参数,后续还会推出1300亿参数的大模型,期待国内的ChatGLM能越做越弱小。
ChatGLM的开源地址:THUDM/ChatGLM-6B
废话不多说了,间接上成果,以下是由ChatGLM中文对话的后果(不是ChatGPT哦)
(PS:文末给大家筹备了ChatGLM的收费体验地址 和 算力平台收费体验形式,肯定看到文章结尾哦)
2.筹备工作
官网阐明ChatGLM对硬件的配置要求至多13G的显存
要筹备的货色如下:
- 一台GPU云服务器(16GB显存,32G内存)
- 云服务器上已装置好显卡驱动cuda和pytorch框架(平台都有现成的镜像,间接装置即可)
再来说说服务器厂商的抉择,GPU服务器比拟贵,所以小卷比照了一些大厂和小厂的GPU规格,这里只看配置符合要求且价格适合的
厂商 | 配置 | 价格 | 劣势 |
---|---|---|---|
阿里云 | 4核-15G内存-16显存NVIDIA T4 | 1878/月 | 大厂服务,然而价格太贵 |
腾讯云 | 10核-40G- NVIDIA T4 | 8.68/小时 | 大厂服务,但独占1颗GPU价格略高 |
华为云 | 8核-32G-16显存NVIDIA T4 | 3542/月 | 太贵 |
mistGPU | 8核-32G-24G显存NVIDIA 3090 | 4.5/小时 | 毛病:只有1GB收费存储 |
揽睿星舟 | 10核-40G-24G显存NVIDIA 3090 | 1.9/小时 | 举荐,配置高且价格低,当初NVIDIA 3090有特价 |
咱们这里应用揽睿星舟这个算力平台的服务器,价格就是劣势哦。须要留神的是,GPU服务器要选按量计费,就是你用的时候按应用时长计费,不必时关掉就不会计费
3.服务器配置
这一步购买服务器并装置环境,比较简单
3.1注册应用
关上揽睿星舟官网注册地址:https://www.lanrui-ai.com/register?invitation_code=4104,
注册账号时邀请码填写4104,这样平台会给你收费充值一笔钱
咱们就能够收费体验服务器了。右上角也能够给本人账户充值
3.2购买服务器并装置镜像
在网站的算力市场
购买须要的服务器配置,这里我选的是3090-24G
这款,点击应用
按钮进入镜像装置界面
运行环境镜像选公共镜像
-> pytorch
间接用最新的就行,而后高级设置里抉择预训练模型chatglm-6b
(这样会事后加载chatGLM的模型到服务器,无需再手动下载)而后创立实例(确保本人账号里有足够的余额)
期待5分钟左右,工作空间就创立好了,点击进入
-> JupyterLab
进入服务器,接下来就筹备ChatGLM的装置就行了
4.部署ChatGLM
4.1Git减速配置
为了防止git clone太慢,提前在命令行设置git学术资源减速
# 执行上面2条命令,设置git学术资源减速git config --global http.proxy socks5h://172.16.16.39:8443git config --global https.proxy socks5h://172.16.16.39:8443
前面的步骤中再执行git clone
命令就不会卡住了。
要勾销git学术减速也简略,执行上面的命令(所有步骤执行完后再勾销哦~)
# 勾销git学术资源减速git config --global --unset https.proxygit config --global --unset http.proxy
4.2下载ChatGLM源代码
进入Jupyter的页面后,能够看到2个目录,对目录做下阐明:
- data目录,存放数据,平台共享的
- imported_models目录,寄存预训练模型,即创立工作空间时你抉择的模型
点击data
目录下,能够看到ChatGLM-6B
文件夹,外面是ChatGLM的源代码。
如果没有ChatGLM-6B
目录,那么咱们这一步须要下载代码,操作如下:
页面关上一个Terminal终端,在Terminal终端执行命令
git clone https://github.com/THUDM/ChatGLM-6B.git
4.3 装置依赖
1.执行命令切换到ChatGLM-6B
的目录
cd ChatGLM-6B
2.接着批改requirements.txt
文件,把后续所有须要的依赖都加上,上面的配置加在文件开端即可,如果文件里已加上这3个依赖,无需再批改。
chardetstreamlitstreamlit-chat
3.加完之后save保留下文件,如图
4.接着命令行执行上面命令装置依赖
# 应用默认镜像源下载会超时,这里用了清华的pip镜像源地址pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/
这一步可能会执行报错
ERROR: Could not install packages due to an OSError: Missing dependencies for SOCKS support.
解决办法:切换到root用户后再执行命令
# 切换root用户sudo su# 从新执行pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/
4.4 启动脚本批改
- 因为模型是独自文件夹存储的,所以须要批改启动脚本中读模型文件的代码
- 为了能从公网拜访咱们的ChatGLM,须要批改监听地址为
0.0.0.0
,端口为27777
,这个是揽睿星舟平台的调试地址
批改步骤:
1.批改web_demo2.py
文件中的模型门路,替换为模型的绝对路径,批改办法如下:
批改前的代码
tokenizer = AutoTokenizer.from_pretrained("THUDM/chatglm-6b", trust_remote_code=True) model = AutoModel.from_pretrained("THUDM/chatglm-6b", trust_remote_code=True).half().cuda()
批改后的代码
tokenizer = AutoTokenizer.from_pretrained("/home/user/imported_models/chatglm-6b", trust_remote_code=True) model = AutoModel.from_pretrained("/home/user/imported_models/chatglm-6b", trust_remote_code=True).half().cuda()
批改完后ctrl + s
保留一下
4.5启动ChatGLM
在ChatGLM-6B
目录下,命令行执行
python3 -m streamlit run ./web_demo2.py --server.port 27777 --server.address 0.0.0.0
启动ChatGLM的webui界面
看到http://0.0.0.0:27777
字样阐明胜利启动了
5.应用
咱们须要从浏览器拜访刚部署的服务,回到揽睿星舟平台
在工作空间页面上点击自定义服务
拷贝调试链接,而后把拷贝的链接在浏览器上关上
而后你就能够在这个页面开始对话了
留神第一次对话时,程序会加载模型文件,耗时会比拟长,能够从方才启动的命令行查看加载进度。
等第一次加载实现后,前面再对话,响应就很快了
6.对话成果
到这一步,所有装置部署过程就胜利实现了,咱们来看看成果吧,拷贝的链接在手机端也能关上,上面是手机端的成果
<img src="/Users/yuyunlong/Pictures/博客/ChatGLM部署/15.jpeg" style="zoom:25%;" />
7.敞开服务以及重启服务
- 因为咱们的服务按使用量免费的,所以不必时在页面上点击
进行运行
即可
<img src="/Users/yuyunlong/Pictures/博客/ChatGLM部署/16.png" style="zoom:25%;" />
- 而后想从新运行服务的时候,点工作空间页面上的
启动
按钮。工作空间从新创立后,进入Jupyter
,通过命令行再次启动
# 进入ChatGLM-6B目录cd data/ChatGLM-6B/# 启动服务python3 -m streamlit run ./web_demo2.py --server.port 27777 --server.address 0.0.0.0
8.收费体验ChatGLM
小卷给大家筹备了2个收费体验的形式:
(1)通过上面链接注册平台账号,邀请码写4104,平台会收费充点钱,而后可自行部署体验。
https://www.lanrui-ai.com/register?invitation_code=4104
(2)小卷给大家筹备了本人的ChatGLM体验地址,能用上几天。给文章点赞珍藏后,找小卷拿哦~