当前位置:   article > 正文

清华ChatGLM-6B本地GPU推理部署_chatglm-6b 4bit

chatglm-6b 4bit

目录

1 简介

2 硬件需求

3 Demo和模型下载

3.1 安装Git LFS

3.2 Demo下载

3.3 模型下载

3.4 文件目录

4 环境安装

5 运行

5.1 FP16

5.2 量化

6 演示


1 简介

ChatGLM-6B是一个开源的、支持中英双语的对话语言模型,基于General Language Model(GLM)架构,具有62亿参数。结合模型量化技术,用户可以在消费级的显卡上进行本地部署(INT4量化级别下最低只需6GB显存)。ChatGLM-6B使用了和ChatGPT相似的技术,针对中文问答和对话进行了优化。经过约1T标识符的中英双语训练,辅以监督微调、反馈自助、人类反馈强化学习等技术的加持,62亿参数的ChatGLM-6B已经能生成相当符合人类偏好的回答。

本文主要参考官方流程,在Ubuntu22.04上将ChatGLM-6B部署在本地Nvidia RTX 3080Ti Laptop GPU(16GB显存)。

2 硬件需求

默认情况下,模型以FP16精度加载,运行上述代码需要大概13GB显存。8-bit量化下GPU显存占用约为8GB,4-bit量化下仅需6GB占用。所以理论上,只要GPU的显存在6GB以上,就可以尝试在本地部署ChatGLM-6B。

随着对话轮数的增多,对应消耗显存也随之增长,由于采用了相对位置编码,理论上ChatGLM-6B支持无限长的context-length,但总长度超过2048(训练长度)后性能会逐渐下降。

模型量化会带来一定的性能损失,经过测试,ChatGLM-6B在4-bit量化下仍然能够进行自然流畅的生成。使用GPT-Q等量化方案可以进一步压缩量化精度/提升相同量化精度下的模型性能。

3 Demo和模型下载

3.1 安装Git LFS

sudo apt install git-lfs

3.2 Demo下载

  1. mkdir THUDM
  2. cd THUDM
  3. git clone https://github.com/THUDM/ChatGLM-6B.git

3.3 模型下载

先下载模型实现。

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

再下载模型参数文件,并将下载的文件替换到本地的chatglm-6b目录下。

3.4 文件目录

Demo和模型下载完成之后的文件目录如下图所示。

4 环境安装

在Nvidia GPU上运行,安装所需的依赖包,如transformers、gradio等。

  1. cd ChatGLM-6B
  2. pip install -r requirements.txt

5 运行

5.1 FP16

可以通过如下代码调用ChatGLM-6B模型来生成对话:

  1. >>> from transformers import AutoTokenizer, AutoModel
  2. >>> tokenizer = AutoTokenizer.from_pretrained("THUDM/chatglm-6b", trust_remote_code=True)
  3. >>> model = AutoModel.from_pretrained("THUDM/chatglm-6b", trust_remote_code=True).half().cuda()
  4. >>> model = model.eval()
  5. >>> response, history = model.chat(tokenizer, "你好", history=[])
  6. >>> print(response)
  7. 你好
    声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/知新_RL/article/detail/251645
    推荐阅读
    相关标签