大语言模型Chatglm实践(一)

admin 2023年5月15日08:09:32评论52 views字数 1496阅读4分59秒阅读模式

一、什么是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

二、安装

硬件要求:

大语言模型Chatglm实践(一)

环境安装:

使用 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,无显卡的时候使用

大语言模型Chatglm实践(一)

四、需要注意的坑

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

2. 遇到这种奇怪的问题,原因竟然是 ice_text.model文件没有正确下载,正确的sha256是 5e974d9a69c242ce014c88c2b26089270f6198f3c0b700a887666cd3e816f17e大语言模型Chatglm实践(一)https://github.com/THUDM/ChatGLM-6B/issues/480

简单记录一下,后面继续

原文始发于微信公众号(网安杂谈):大语言模型Chatglm实践(一)

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年5月15日08:09:32
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   大语言模型Chatglm实践(一)https://cn-sec.com/archives/1710820.html

发表评论

匿名网友 填写信息