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 正在内测开辟中。
二、使用方式
硬件需求
量化等级最低 GPU 显存(推理)最低 GPU 显存(高效参数微调)FP16(无量化)13 GB14 GBINT88 GB9 GBINT46 GB7 GB 环境安装
使用 pip 安装依赖:pip install -r requirements.txt,此中 transformers 库版本推荐为 4.27.1,但理论上不低于 4.23.1 即可。
代码调用
可以通过如下代码调用 ChatGLM-6B 模型来生成对话:
[code]python代码解读复制代码>>> from transformers import AutoTokenizer, AutoModel
>>> tokenizer = AutoTokenizer.from_pretrained("THUDM/chatglm-6b", trust_remote_code=True)
>>> model = AutoModel.from_pretrained("THUDM/chatglm-6b", trust_remote_code=True).half().cuda()
>>> model = model.eval()
>>> response, history = model.chat(tokenizer, "你好", history=[])
>>> print(response)
你好 |