最近ChatGPT很火,但是用起来需要翻墙,国内也有很多模型,什么百度的文心一言、阿里的盘古、还有科大讯飞的模型等等,那么今天我们就来介绍下怎么在本地自己部署自己的聊天模型,也可以学习很多知识。
一、开源模型
1、ChatGLM-6B介绍
2、ChatGLM-6B 有如下特点
3、ChatGLM-6B 也有相当多已知的局限和不足
二、系统部署
1、硬件需求
2、系统环境
操作系统:centos 7.6/Ubuntu (内存:32G)
显卡配置: 2x NVIDIA Gefore 3070Ti 8G (共16G显存)
Python/ target=_blank class=infotextkey>Python 3.8.13 (版本不要高于3.10,否则有些依赖无法下载,像paddlepaddle 2.4.2在高版本Python还不支持)
# 安装Python3.8所需依赖
sudo yum -y install gcc zlib zlib-devel openssl-devel
# 下载源码
wget https://www.python.org/ftp/python/3.8.13/Python-3.8.13.tgz
# 解压缩
tar -zxvf Python-3.8.13.tgz
# 编译配置,注意:不要加 --enable-optimizations 参数
./configure --prefix=/usr/local/python3
# 编译并安装
make && make install
3、部署ChatGLM 6B
3.1 下载源码
直接下载chatGLM-6B https://Github.com/THUDM/ChatGLM-6B
git下载 git clone https://github.com/THUDM/ChatGLM-6B
3.2 安装依赖
进入ChatGLM-6B目录
使用 pip 安装依赖:pip install -r requirements.txt,其中 transformers 库版本推荐为 4.27.1,但理论上不低于 4.23.1 即可。
此外,如果需要在 cpu 上运行量化后的模型,还需要安装 gcc 与 openmp。多数 linux 发行版默认已安装。对于 windows ,可在安装 TDM-GCC 时勾选 openmp。 Windows 测试环境 gcc 版本为 TDM-GCC 10.3.0, Linux 为 gcc 11.3.0
3.3 下载模型
从 Hugging Face Hub 下载
可以手动下载https://huggingface.co/THUDM/chatglm-6b/tree/main
git下载 git clone https://huggingface.co/THUDM/chatglm-6b
将模型下载到本地之后,将以上代码中的 THUDM/chatglm-6b 替换为你本地的 chatglm-6b 文件夹的路径,即可从本地加载模型;
在chatglm-6b文件下创建一个model文件夹放模型文件
3.4 代码调用
可以通过如下代码调用 ChatGLM-6B 模型来生成对话:
模型的实现仍然处在变动中。如果希望固定使用的模型实现以保证兼容性,可以在 from_pretrained 的调用中增加 revisinotallow="v1.1.0" 参数。
>>> from transformers import AutoTokenizer, AutoModel
>>> tokenizer = AutoTokenizer.from_pretrained("THUDM/chatglm-6b", tRust_remote_code=True)
>>> model = AutoModel.from_pretrained("THUDM/chatglm-6b", trust_remote_code=True).half().cuda()
>>> model = model.eval()
>>> response, history = model.chat(tokenizer, "你好", history=[])
>>> print(response)
你好