前言

之前我一直有一个想法,想用多年前发布的GPT2去训练对话AI方便自己使用。我想在多个地方使用AI,但是openai官方的需要开代理比较麻烦。最近就看见了清华的ChatGLM2-6B 项目,在本地部署试一下效果。

环境

需要先解决下Mac的环境问题,保证电脑安装pythonpytorchpytorch已经支持M1 参考pytorch官网

image

执行命令直接安装就行

pip3 install torch torchvision torchaudio

ChatGLM2

直接拉取ChatGLM2

git clone https://github.com/THUDM/ChatGLM2-6B.git

可以打开requirements.txt文件 把torch注释掉(非一定)

image

下载包

pip3 install -r requirements.txt

使用

可以先创建一个python测试和下载模型。按README.md文档中给出的示例

from transformers import AutoTokenizer, AutoModel
tokenizer = AutoTokenizer.from_pretrained("THUDM/chatglm2-6b", trust_remote_code=True)
model = AutoModel.from_pretrained("THUDM/chatglm2-6b", trust_remote_code=True, device='cuda')
model = model.eval()
response, history = model.chat(tokenizer, "你好", history=[])
print(response)

运行之后会下面模型 网络不好的话可能下载会出现请求超时的情况。多试几次即可,每个模型不是很大,都是1到2G的样子

错误

执行上面的代码会出现一个错误

image

model = AutoModel.from_pretrained("THUDM/chatglm2-6b", trust_remote_code=True, device='cuda')

M1是没有cuda的,而是mps,这个是Mac的GPU加速。不单单是Mac需要修改,Windows同样也要修改这行,Windows修改的和Mac的不同,需要按照自己电脑的配置 进行适当的修改

修改

model = AutoModel.from_pretrained("THUDM/chatglm2-6b", trust_remote_code=True, device='mps')

模型加载成功 等返回结果就行

image

运行官方demo

ChatGLM2支持终端、web、api多种方式调用。我下面使用终端的方式跑一下

首现需要修改代码中的配置cli_demo.py

model = AutoModel.from_pretrained("THUDM/chatglm2-6b", trust_remote_code=True).cuda()

修改成

model = AutoModel.from_pretrained("THUDM/chatglm2-6b", trust_remote_code=True, device='mps')

同样如果使用其他方式调用,也只需要修改一样的地方即可 然后直接执行

iShot_2023-08-09_20.44.42

CSDN GPU

可以购买一个小时的CSDN GPU测试一下,RTX3090一个小时0.97。

实测下载模型的速度和跑模型的速度还是非常快的。但是美中不足的是 有时候购买的GPU服务器不能拉起github项目。会出现拉取项目时出现超时的情况。有些拉取项目就没有,购买全看运气。不是特别推荐(差评)

image