链接:github.com/THUDM/ChatG…

前言

  盼望已久的国内开源项目总算来了,这次可算是关于现在仍然没有ChatGtp人员的福音。在这里我将着重记载如何布置清华大学开源的ChatGLM2-6B项目。

功能简介

ChatGLM2-6B 是开源中英双语对话模型 ChatGLM-6B 的第二代版别,在保留了初代模型对话流畅、布置门槛较低等很多优异特性的基础之上,ChatGLM2-6B 引入了如下新特性:

  1. 更强大的功能:在同尺寸开源模型中具有较强的竞争力
  2. 更长的上下文:答应更多次序的对话
  3. 更高效的推理:INT4 量化下,6G 显存支撑的对话长度由 1K 提高到了 8K。
  4. 更敞开的协议:ChatGLM2-6B 权重对学术研究彻底敞开,在获得官方的书面许可后,亦答应商业运用。如果您发现咱们的开源模型对您的业务有用,咱们欢迎您对下一代模型 ChatGLM3 研发的捐献。

硬件选择

  在README中的功能一栏中咱们发现,作者团队是运用的硬件为A100-SXM4-80G 这关于咱们个人来说是很难完成的。如采用CPU推理的话,这将不现实,咱们无法忍受如此漫长的推理等候时间。那么GPU则是咱们必须面临需求解决的问题了。根据清华团队在readme中所述:

运用官方完成,batch size = 1,max length = 2048,bf16 精度,测试硬件为 A100-SXM4-80G,软件环境为 PyTorch 2.0.1

  咱们需求满意Pytorch 2.0 在pytorch官网上查阅如下可知咱们需求的CUDA为11.7 或 11.8满意算力以及CUDA的版别要求可知常用显卡中3090符合要求。

【ChatGLM2-6B】我在3090显卡上部署了清华大学开源中英双语对话模型

量化等级 编码 2048 长度的最小显存 生成 8192 长度的最小显存
FP16 / BF16 13.1 GB 12.8 GB
INT8 8.2 GB 8.1 GB
INT4 5.5 GB 5.1 GB

布置装置

首要需求下载本库房:

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

第二步: 运用 pip 装置依靠:pip install -r requirements.txt,其间 transformers 库版别引荐为 4.30.2torch 引荐运用 2.0 以上的版别,以获得最佳的推理功能。

第三步: 考虑到本地加载模型大多数人找不到相关文件夹带来的种种BUG,因而我在这里将不介绍本地加载。创立本地test_chat.py文件并运行等候体系下载模型文件(模型较大,请耐心等候)

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)

运用尝鲜

等候了半响,激动人心的时刻即将来临!直接运行程序进行发问:

python cli_demo.py

【ChatGLM2-6B】我在3090显卡上部署了清华大学开源中英双语对话模型