人工智能技术的发展正在改变我们的生活和工作方式,例如ChatGPT聊天机器人,也越来越受到人们的喜爱和使用。ChatGLM 是由清华大学 KEG 实验室和智谱AI开发的人工智能聊天机器人程序,它基于大型语言模型 GLM-130B 训练而成,能够为用户提供自然流畅的对话交互。本文将介绍如何部署ChatGLM,帮助大家更好地了解和使用这一AI工具。

安装环境

  • VMware虚拟机
  • CPU:8 Core
  • GPU:Tesla P40
  • RAM:8G
  • 系统:Ubuntu 22.04.1 LTS
  • 用户:root

配置虚拟环境

安装Anaconda

参考之前的Anaconda安装方法,安装conda环境

创建conda虚拟环境

conda create --name chatglm_env python=3.10

中途按Y确认一下就行。

需要使用3.10版本的python,我使用的是3.10.9
github上没说推荐的python版本,但我使用3.9会报错
RuntimeError: Library cudart is not initialized

激活环境

conda activate chatglm_env

查看python版本

python -V

安装ChatGLM-6B

选择安装目录

创建一个chatglm的目录

mkdir chatglm
cd /chatglm

从github上拉取最新的ChatGLM-6B-webui

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

进入项目目录

cd ChatGLM-6B

安装依赖

pip install -r requirements.txt

安装其他依赖

运行api.py需要pip install fastapi uvicorn

运行web_demo2.py需要pip install streamlit

选择ChatGLM模型

量化等级最低 GPU 显存(推理)最低 GPU 显存(高效参数微调)
FP16(无量化)13 GB14 GB
INT88 GB9 GB
INT46 GB7 GB
INT4-QE6 GB7 GB
ChatGLM-6B 是一个开源的、支持中英双语问答的对话语言模型,基于 General Language Model (GLM) 架构,具有 62 亿参数。结合模型量化技术,用户可以在消费级的显卡上进行本地部署(INT4 量化级别下最低只需 6GB 显存)。
ChatGLM-6B-INT4 是 ChatGLM-6B 量化后的模型权重。具体的,ChatGLM-6B-INT4 对 ChatGLM-6B 中的 28 个 GLM Block 进行了 INT4 量化,没有对 Embedding 和 LM Head 进行量化。
ChatGLM-6B-INT4-QE 是 ChatGLM-6B 量化后的模型权重。具体的,ChatGLM-6B-INT4-QE 对 ChatGLM-6B 中的 28 个 GLM Block 、 Embedding 和 LM Head 进行了 INT4 量化。

加载模型时需要用到最低GPU显存同等的内存大小

下载ChatGLM模型

按需选择模型:

chatglm-6b
chatglm-6b-int4
chatglm-6b-int4-qe

git clone https://huggingface.co/THUDM/chatglm-6b THUDM/chatglm-6b

启动项目

python web_demo.py

不出意外就能访问webui了
image.png

最后修改:2023 年 06 月 17 日
如果觉得我的文章对你有用,请随意赞赏