最近在追开源的类ChatGPT的小模型,诉求是能做到单机部署并且对中文支持较好。目前真正打算动手搞一搞的是Alpaca和ChatGLM。构建好虚拟环境后,进行Alpaca测试,结果因为PEFT这个包报了错,原因是未检查到本地的CUDA,可是我的环境明明是没啥问题的啊,最后选择了清华大学的开源项目ChatGLM进行实验。
背景知识
ChatGLM-6B 是一个开源的、支持中英双语的对话语言模型,基于General Language Model (GLM)架构,具有 62 亿参数。结合模型量化技术,用户可以在消费级的显卡上进行本地部署(INT4 量化级别下最低只需 6GB 显存)。 ChatGLM-6B 使用了和 ChatGPT 相似的技术,针对中文问答和对话进行了优化。经过约 1T 标识符的中英双语训练,辅以监督微调、反馈自助、人类反馈强化学习等技术的加持,62 亿参数的 ChatGLM-6B 已经能生成相当符合人类偏好的回答。

chatglm运行硬件需求
下面介绍一下如何从零开始在本地运行ChatGLM
一、本地配置
内存:16G
显卡:1080TI
显存:11G
二、检查以及安装本地CUDA
目前pytorch2.0只支持了CUDA11.7和11.8,所以如果你的本地CUDA没有满足,那么ChatGLM是肯定跑不了的,那么先从第一步,检查本地CUDA开始!
1.查看本地显卡的情况,这里的CUDA Version是指目前最高能支持12.0的版本,11264MiB就是11GB的显存

2.查看本机当前CUDA版本,当前版本为11.8

如果当前版本不是这个的话,首先去NVIDIA的官网去下载11.8的CUDA版本,如下:

三、基于Anaconda构建ChatGLM虚拟环境
接下来安装pytorch

如果使用pip安装的话,安装命令如下:
安装好后,打开CMD,激活虚拟环境,看安装的版本是否正确以及有效,如下可以看到已经安装正确
import torch
print(torch.__version__)
print(torch.version.cuda)

四、下载ChatGLM及运行
我们可以直接git clone下载ChatGLM,然后做实验的话,git branch 新分支
安装依赖
查看