在ubantu系统中部署ChatGLM-6B

ChatGLM-6B 介绍

ChatGLM-6B 是一个开源的、支持中英双语的对话语言模型,基于 General Language Model (GLM) 架构,具有 62 亿参数。结合模型量化技术,用户可以在消费级的显卡上进行本地部署(INT4 量化级别下最低只需 6GB 显存)。
ChatGLM-6B 使用了和 ChatGPT 相似的技术,针对中文问答和对话进行了优化。经过约 1T 标识符的中英双语训练,辅以监督微调、反馈自助、人类反馈强化学习等技术的加持,62 亿参数的 ChatGLM-6B 已经能生成相当符合人类偏好的回答,更多信息请参考我们的博客
为了方便下游开发者针对自己的应用场景定制模型,我们同时实现了基于 P-Tuning v2 的高效参数微调方法 (使用指南) ,INT4 量化级别下最低只需 7GB 显存即可启动微调。
不过,由于 ChatGLM-6B 的规模较小,目前已知其具有相当多的局限性,如事实性/数学逻辑错误,可能生成有害/有偏见内容,较弱的上下文能力,自我认知混乱,以及对英文指示生成与中文指示完全矛盾的内容。请大家在使用前了解这些问题,以免产生误解。更大的基于 1300 亿参数 GLM-130B 的 ChatGLM 正在内测开发中。

环境配置

ubantu 24.02
conda
gtx1060 6G

操作步骤

1、下载chatglm-6b模型

huggingface-cli download --resume-download THUDM/chatglm-6b-int4 --local-dir THUDM/chatglm-6b-int4

如果访问huggingface存在网络限制,可更换访问源:https://hf-mirror.com/

pip install -U huggingface_hub

export HF_ENDPOINT=https://hf-mirror.com

huggingface-cli download --resume-download THUDM/chatglm-6b-int4 --local-dir THUDM/chatglm-6b-int4

我选择都是chatglm-6b-int4,对显存要求较小。

2、下载ChatGLM-6B代码

git clone https://github.com/THUDM/ChatGLM-6B.git
环境准备完毕

模型位置:/home/dog/glm/THUDM/chatglm-6b-int4
代码位置:/home/dog/glm/ChatGLM-6B

3、安装依赖

cd /home/dog/glm/THUDM/chatglm-6b-int4

conda create --name chatglm python=3.10
conda activate chatglm

pip install -r requirements.txt -i https://mirror.sjtu.edu.cn/pypi/web/simple

使用conda进行环境隔离,防止pip相关包冲突。

4、修改代码

修改cli_demo.py文件中的模型位置:

model_path = "/home/dog/glm/THUDM/chatglm-6b-int4"
tokenizer = AutoTokenizer.from_pretrained(model_path, trust_remote_code=True)
model = AutoModel.from_pretrained(model_path, trust_remote_code=True).half().cuda()
model = model.eval()

5、运行cli_demo.py

python cli_demo.py

运行过程中如果出现cuda等运行时问题,请检测cuda驱动是否按照正确。

如果用的是conda管理环境:
首先用conda list | grep cuda确定该环境cuda运行时版本,如12.1
conda install nvidia/label/cuda-12.1.1::cuda-toolkit
posted @ 2024-07-12 17:11  雨梦山人  阅读(41)  评论(0编辑  收藏  举报