ChatGLM-6B 项目介绍
ChatGLM-6B 是一个开源的双语对话语言模型,支持中文和英文的问答交互。它基于 General Language Model (GLM) 架构,具备 62 亿个参数。通过模型量化技术,用户可以在消费级显卡上进行本地部署,使用 INT4 量化级别时,仅需 6GB 显存。
项目背景
ChatGLM-6B 采用类似于 ChatGPT 的技术,针对中文问答和对话进行了优化。模型接受了大量文本的训练,结合监督微调、反馈自助和人类反馈强化学习等技术,使得它能够生成符合人类偏好的回答。该模型的权重对学术研究完全开放,同时也允许免费商业化使用,但需要填写问卷以进行登记。
项目特色
- 高性能对话:ChatGLM-6B 在对话流畅性和响应准确性上表现优秀,能够处理复杂的语言需求。
- 优化的模型量化:通过量化技术,用户可以在低内存条件的设备上使用该模型。
- 广泛的适用性:利用它的双语能力,用户可以轻松地进行中文和英文的问答互动。
- 公开使用:学术和商业使用者均可免费获得模型权重。
使用示例
用户可以通过简单的代码调用 ChatGLM-6B 模型:
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()
response, history = model.chat(tokenizer, "你好", history=[])
print(response)
这个代码片段展示了如何调用 ChatGLM-6B 进行交互,并输出了一个简单的中文问候语的响应。
软件依赖
要使用 ChatGLM-6B,用户需要安装以下软件包:
pip install protobuf==3.20.0 transformers==4.27.1 icetk cpm_kernels
更新日志
- v1.1.0:更新了模型的 checkpoint。
- v0.1.0:首次发布。
使用协议
ChatGLM-6B 的代码遵循 Apache-2.0 开源协议,而模型权重的使用需要遵循特定的模型许可证。
更多信息
对于如何运行命令行和网页版本的 DEMO,以及节省显存的模型量化技术,用户可参考 Github Repo。
ChatGLM-6B 的发布不仅展示了大规模语言模型在自然语言处理领域的应用潜力,还通过开源和免费使用策略,鼓励更多人在实际项目中体验和研究这项技术。