赞
踩
ChatGLM-6B 是一个开源的、支持中英双语问答的对话语言模型,基于 General Language Model (GLM) 架构,具有 62 亿参数。结合模型量化技术,用户可以在消费级的显卡上进行本地部署(INT4 量化级别下最低只需 6GB 显存)。ChatGLM-6B 使用了和 ChatGLM 相同的技术,针对中文问答和对话进行了优化。经过约 1T 标识符的中英双语训练,辅以监督微调、反馈自助、人类反馈强化学习等技术的加持,62 亿参数的 ChatGLM-6B 已经能生成相当符合人类偏好的回答。
ChatGLM-6B-INT4 是 ChatGLM-6B 量化后的模型权重。具体的,ChatGLM-6B-INT4 对 ChatGLM-6B 中的 28 个 GLM Block 进行了 INT4 量化,没有对 Embedding 和 LM Head 进行量化。量化后的模型理论上 6G 显存(使用 CPU 即内存)即可推理,具有在嵌入式设备(如树莓派)上运行的可能。
在 CPU 上运行时,会根据硬件自动编译 CPU Kernel ,请确保已安装 GCC 和 OpenMP (Linux一般已安装,对于Windows则需手动安装),以获得最佳并行计算能力。
下载anaconda,通过bash Anaconda3-2023.03-Linux-x86_64.sh 安装anaconda包
git clone https://gitee.com/wilkwo/ChatGLM2-6B.git
pip install -r requirements.txt
https://huggingface.co/THUDM/chatglm2-6b-int4
- tokenizer = AutoTokenizer.from_pretrained("./int4", trust_remote_code=True)
- model = AutoModel.from_pretrained("./int4", trust_remote_code=True).cuda()
- # 多显卡支持,使用下面两行代替上面一行,将num_gpus改为你实际的显卡数量
- # from utils import load_model_on_gpus
- # model = load_model_on_gpus("THUDM/chatglm2-6b", num_gpus=2)
- model = model.eval()
python3 cli_demo.py
如果出现对话输入提示并且输入内容后能返回相应结果表明服务启动成功。
如果出现问题:Library cudart is not initialized,解决办法是通过conda安装相应的cudatoolkit驱动:
conda install cudatoolkit=11.3 -c nvidia
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。