【ZT】ChatGPT国产开源平替--ChatGLM部署教程
https://zhuanlan.zhihu.com/p/615395955ChatGPT国产开源平替--ChatGLM部署教程
简介关于chatglm,你可以理解为ChatGPT的国产开源平替可以看下他自己生成的介绍
https://pic2.zhimg.com/80/v2-5d46627fc4102bf85a5f027b59080589_720w.webp
Pastedimage20230320091639.png以webUI图形界面运行效果https://pic4.zhimg.com/80/v2-c16977902c2b77b6d0b3459e62c02e6f_720w.webp
以cli命令行交互模式运行效果https://pic4.zhimg.com/80/v2-569c8281f48d5e44d41c8f5a6a57c94f_720w.webp
相关的链接github地址: GitHub - THUDM/ChatGLM-6B: ChatGLM-6B:开源双语对话语言模型 | An Open Bilingual Dialogue Language Modelhuggingface地址: THUDM/chatglm-6b · Hugging Face运行使用在autodl平台封装制作了镜像,在官方仓库示例代码上修改,包含webUI图形界面和cli命令行两种交互使用方式下面是使用步骤注册登陆autodl云计算平台账号选取机子拉取镜像: 镜像链接https://pic4.zhimg.com/80/v2-63c9a40979e2b3a33fe2d01e29fc4b8b_720w.webp(拉取镜像、创建实例 详细的步骤可以参考之前录的stable diffusion镜像使用的视频)使用镜像创建部署StableDiffusionWebUI保姆级教程714 播放 · 4 赞同视频https://pic4.zhimg.com/v2-844005b3268c6dacefc7d89f40e79e91_r.jpg?source=2231c908
实例创建完后就可以开始运行我们的chatglm了 有两种交互方式 新手推荐webUI图形界面使用webUI图形界面运行进入项目目录 ChatGLM-webui。打开终端运行如下命令python web_demo.py
https://pic3.zhimg.com/80/v2-ee382b442fd2beb702e406ee06a52a1a_720w.webp
Pastedimage20230320094046.png然后回到autodl实例列表节目,按下图步骤来访问我们部署好的ChatGLM服务了https://pic3.zhimg.com/80/v2-32144d9c134c235fce8d804a4fbf0e82_720w.webp
https://pic4.zhimg.com/80/v2-7cab5352e490bdeb47f84268f7d0149b_720w.webp
Pastedimage20230319203023.png接触过stable-diffusion-webui的朋友可能已经很熟悉这个UI了, demo代码也是用的gradio来制作GUI界面示例展示问了chatglm 国内各平台的用户画像 个人感觉回答得还不错https://pic4.zhimg.com/80/v2-04ab58c745485cb2fa83d8a30ca9aa77_1440w.webp
使用 CLI 命令行交互进入项目目录 ChatGLM-webui。打开终端运行如下命令python cli_demo.py
示例展示编程能力测试https://pic4.zhimg.com/80/v2-7c30636e00cf9933f5a7c9d1027b5da7_1440w.webp
上下文能力测试https://pic4.zhimg.com/80/v2-730f540481e0636d9b78f4788367aa67_1440w.webp
资源占用情况正常运行显存需达到12G及以上 ( 随着问的问题不断增加,需要记忆处理的上下文增大,显存占用也不断增多 )https://pic1.zhimg.com/80/v2-c8b6f47daaa36b6c2246143bcf481c88_1440w.webp本机有足够性能 使用整合包快速搭建使用如果自己电脑显卡显存大于6G,又不想折腾本地装环境,可以使用b站秋叶up的小白整合包,下面是整合包的视频教程ChatGLM-6B 清华开源模型一键包www.bilibili.com/video/BV1E24y1u7Go
配置要求如下图https://pic1.zhimg.com/80/v2-890b788be1042d994a9ca2e474da9678_1440w.webp
镜像的构建过程(想深入研究或者本地搭建的可以看下)仓库克隆git clone https://github.com/THUDM/ChatGLM-6B.git依赖安装使用 pip 安装依赖:pip install -r requirements.txt,其中transformers库版本推荐为4.26.1,但理论上不低于4.23.1即可。修改代码 下载模型文件到本地模型文件很大,分成了八份,如果直接用官方的代码通过huggingface服务器下载大概率会超时,所以我改了demo的模型读取部分的代码,让程序读取事先下载到在本地的模型权重及相关配置文件,修改代码如下tokenizer = AutoTokenizer.from_pretrained("THUDM/chatglm-6b", cache_dir='./chatglm/', trust_remote_code=True) model = AutoModel.from_pretrained("./chatglm", trust_remote_code=True).half().cuda()
transformers库会根据我们提供给from_pretrained函数的参数在本地构建模型仓库
https://pic3.zhimg.com/80/v2-bf7da23b71901f55ef0045575af9d99a_1440w.webp
参考链接gradio 文档 :https://www.gradio.app/docs/#interfacechatglm 官方文档 :https://github.com/THUDM/ChatGLM-6B
除了chatglm 这两天还用本地windows的Linux子系统wsl 配合docker镜像 搭建部署了Meta的 LLaMA 模型,这两天会写个教程,把Windows 安装Ubuntu子系统wsl 到docker镜像拉取使用 全流程都讲解一遍(数不完的坑啊 ) 尽请期待https://pic1.zhimg.com/80/v2-197f2e89043608758715f006e117e9f4_1440w.webp
更多AIGC文章见下方专栏
AI ARTwww.zhihu.com/column/c_1563238376853258240
有朋友进行了调整
chatglm6b模型的训练代码已经更新,基于之前的功能:
1. lora
2. fp16,int8
3. torch.utils.checkpoint(节约显存)
等功能之后,
现在终于加上了:单机多卡 训练模型的功能(目前所有仓库里面,唯一一个支持单机多卡并行训练的脚本)
链接:https://github.com/yuanzhoulvpi2 ... imple_thu_chatglm6b
https://github.com/yuanzhoulvpi2017/zero_nlp/tree/main/simple_thu_chatglm6b
页:
[1]