admin 管理员组文章数量: 887007
ChatGLM搭建记录
ChatGLM
一、基本流程
0、学习初衷
1、ChatGLM简介
github地址:
ChatGLM-6B 是一个开源的、支持中英双语的对话语言模型,基于 General Language Model (GLM) 架构,具有 62 亿参数。
2、流程
2.0 基础
- 安装好了git,能访问GitHub。(会使用基本git命令行)
- 安装好了anaconda。(会基本的pip、conda命令行)
如果你的电脑完全没有配置过python环境,你需要先学会如何安装Anaconda等来配置python环境,这里因为我以前已经安装过,所以直接从搭建PyTorch环境开始。
- 合适的显卡驱动版本
显卡驱动,我以前玩游戏更新过,按理说有显卡的电脑都会有,可以更新一下。
2·1 搭建PyTorch环境
官方文档是默认你配置好环境了的。
我是先看官方文档把文件clone后,跑代码时报错
Torch not compiled with CUDA enabled搜索知道,没安装环境
2·1·1 安装CUDA
- 这里CUDA的版本建议先去PyTorch官网(/)上查看。
-
这里找到PyTorch有CUDA11.8版本,所以建议下载11.8版本(CUDA按理说是向下兼容的,但直接下对应版本会更保险一点吧)。
CUDA安装时如果已经安装了高版本,想降版本时,可以直接下载低版本的CUDA,按流程走一次就行。
-
去到CUDA官网下载对应版本CUDA
下载后是一个安装程序(安装步骤可以看参考安装办法下载2<>)
2.1.2 安装CuDNN
- CuDNN下载后是一个一个压缩包,使用步骤看参考安装办法下载2
2.1.3 用conda创建新的环境安装对应环境
这里注意python的版本选择
-
使用anaconda prompt创建环境。(之前用vscode的终端键入指令,不太好使)
-
创建新环境
conda create -n 环境名字(按喜好,用英文) python=版本号
-
激活 conda activate 环境名字
2.1.4 最后安装PyTorch
pytorch选择对应版本的指令然后键入激活环境后的anaconda prompt中,等待下载(如果慢,可以找找换源,或者尝试参考网站1的办法)
安装完成后
运行py脚本测试安装结果
import torch print(torch.__version__) print("是否可用:", torch.cuda.is_available()) # 查看GPU是否可用
如果是否可用返回true,则安装成功。如果返回false,可能是安装成了cpu版本的Pytorch(我就是)。可以卸载Pytorch后重新安装(可以看参考网站3)
2.1.5 参考网站(驱动问题可以看这个)
- 防坑指南-pytorch-GPU下载安装
- Cuda和cuDNN安装教程(超级详细)
- pytorch安装及卸载
2·2 安装 ChatGLM
如果安装好pytorch环境之后跟着官网的流程来就行,是中文的,对中国人非常友好
全程都下载在新环境里面。
- 下载代码
git clone到文件夹
git clone .git
运行结束后,在终端切换到对应文件夹里面
- 安装Gridio
# 安装gradio用于启动图形化web界面 pip install gradio
- 安装依赖(会自动下载ChatGLM-6B文件里面requirements.txt里的依赖,注意要切换到ChatGLM文件里面)
# 安装运行依赖 pip install -r requirements.txt
- 运行效果
我使用的时vscode编译pythonvs code切换环境按shift+ctrl+p,点击pyton解释器,选择之前创建的环境(切换到对应的环境才能使用环境里面下载的包)
直接运行web_demo.py等待一段时间后就可以使用了
科学上网时无法运行
- GPU运行、CPU运行
可能会遇见显存不够的报错。这里可以切换model更改代码的
model = AutoModel.from_pretrained("THUDM/chatglm-6b", trust_remote_code=True).half().cuda()
GPU
# FP16精度加载,需要13G显存 model = AutoModel.from_pretrained("THUDM/chatglm-6b", trust_remote_code=True).half().cuda()
# int8精度加载,需要10G显存 model = AutoModel.from_pretrained("THUDM/chatglm-6b", trust_remote_code=True).half().quantize(8).cuda()
# int4精度加载,需要6G显存 model = AutoModel.from_pretrained("THUDM/chatglm-6b", trust_remote_code=True).half().quantize(4).cuda()
CPU
#32G内存 model = AutoModel.from_pretrained("THUDM/chatglm-6b", trust_remote_code=True).float()
#16G内存 model = AutoModel.from_pretrained("THUDM/chatglm-6b", trust_remote_code=True).bfloat16()
- 结果
打开生成的网址就可以开始问问题了。
二、难点
1、显卡驱动的更新、CUDA、CuDNN版本的选择
2、下载GPU版本的PyTorch(使用GPU跑代码时需要)
3、网络问题
三、拓展知识
1、GLM模型
2、PyTorch是什么
3、CUDA、CuDNN是什么
4、Gridio是什么
5、ChatGLM的更多了解
四、疑惑
日后将进一步阅读代码
1、运行chatglm后会在用户目录下出现一个大的缓存文件.cache里面有一个叫 huggingface的文件,会特别占用C盘内存。
测试后是,每回答一个问题就会消耗内存。
2、过几天后突然报错cchadet库,pip下载后解决,换源下载
本文标签: ChatGLM搭建记录
版权声明:本文标题:ChatGLM搭建记录 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1732351610h1533232.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论