大语言模型Chatglm实践(一)
2023-5-5 23:31:55 Author: 网安杂谈(查看原文) 阅读量:17 收藏

一、什么是chatglm

https://github.com/THUDM/ChatGLM-6B

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

由于 ChatGLM-6B 的规模较小,目前已知其具有相当多的局限性,如事实性/数学逻辑错误,可能生成有害/有偏见内容,较弱的上下文能力,自我认知混乱,以及对英文指示生成与中文指示完全矛盾的内容。请大家在使用前了解这些问题,以免产生误解。更大的基于 1300 亿参数 GLM-130B 的 ChatGLM 正在内测开发中。https://github.com/THUDM/GLM-130B

二、安装

硬件要求:

环境安装:

使用 pip 安装依赖:pip install -r requirements.txt,其中 transformers 库版本推荐为 4.27.1,但理论上不低于 4.23.1 即可。

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

从https://cloud.tsinghua.edu.cn/d/fb9f16d6dc8f482596c2/手动下载模型参数文件,并将下载的文件替换到本地的 chatglm-6b 目录下。

将模型下载到本地之后,将代码中的 THUDM/chatglm-6b 替换为你本地的 chatglm-6b 文件夹的路径,即可从本地加载模型。

三、Webui

用了这个webui: https://github.com/Akegarasu/ChatGLM-webui

执行命令例子:python webui.py --model-path /home/work/chatglm/chatglm_model --listen --port 8898 --precision fp16

参数主要是:模型路径、监听端口、以及模型工作模式;除此之外还有其它的几个参数没有用到。所有参数解释具体如下:

--model-path 指定模型路径

--listen 如果不加该参数,只能通过127.0.0.0本地访问。注意:在centos服务器上部署,该参数一定要加,不然没有办法通过IP加端口访问模型服务。

--port 指定端口。

--share 通过gradio进行分享,它会帮你生成一个域名连接,但是需要访问互联网。离线centos服务器部署用不到。

--precision 精度参数有4个,分别是fp32(只用CPU,32G内存以上), fp16,(12G以上显存) int4(8G以下显存使用), int8(8G显存使用)

--cpu 只应用CPU,无显卡的时候使用

四、需要注意的坑

1.pytorch版本2.0会报错,降级到1.13.1就好了

2. 遇到这种奇怪的问题,原因竟然是 ice_text.model文件没有正确下载,正确的sha256是 5e974d9a69c242ce014c88c2b26089270f6198f3c0b700a887666cd3e816f17ehttps://github.com/THUDM/ChatGLM-6B/issues/480

简单记录一下,后面继续


文章来源: http://mp.weixin.qq.com/s?__biz=MzAwMTMzMDUwNg==&mid=2650887326&idx=1&sn=cb7d4bf9d152fef07be33d645c7f0165&chksm=812ea8bbb65921adf10c286dc99690900c97bac317ca1ea49e14f280a269df92feb0109faef3#rd
如有侵权请联系:admin#unsafe.sh