共计 3758 个字符,预计需要花费 10 分钟才能阅读完成。
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:8443
git config --global https.proxy socks5h://172.16.16.39:8443
前面的步骤中再执行 git clone
命令就不会卡住了。
要勾销 git 学术减速也简略,执行上面的命令(所有步骤执行完后再勾销哦~)
# 勾销 git 学术资源减速
git config --global --unset https.proxy
git 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 个依赖,无需再批改。
chardet
streamlit
streamlit-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 体验地址,能用上几天。给文章点赞珍藏后,找小卷拿哦~