ChatGLM搭建记录

ChatGLM

一、基本流程

0、学习初衷

1、ChatGLM简介

github地址:https://github.com/THUDM/ChatGLM-6B
ChatGLM-6B 是一个开源的、支持中英双语的对话语言模型,基于 General Language Model (GLM) 架构,具有 62 亿参数。

2、流程

2.0 基础

  1. 安装好了git,能访问GitHub。(会使用基本git命令行)
  2. 安装好了anaconda。(会基本的pip、conda命令行)

如果你的电脑完全没有配置过python环境,你需要先学会如何安装Anaconda等来配置python环境,这里因为我以前已经安装过,所以直接从搭建PyTorch环境开始。

  1. 合适的显卡驱动版本

显卡驱动,我以前玩游戏更新过,按理说有显卡的电脑都会有,可以更新一下。

2·1 搭建PyTorch环境

官方文档是默认你配置好环境了的。

我是先看官方文档把文件clone后,跑代码时报错

Torch not compiled with CUDA enabled
搜索知道,没安装环境

2·1·1 安装CUDA
  • 这里CUDA的版本建议先去PyTorch官网(https://pytorch.org/get-started/locally/)上查看。

请添加图片描述

  • 这里找到PyTorch有CUDA11.8版本,所以建议下载11.8版本(CUDA按理说是向下兼容的,但直接下对应版本会更保险一点吧)。

    CUDA安装时如果已经安装了高版本,想降版本时,可以直接下载低版本的CUDA,按流程走一次就行。

  • 去到CUDA官网下载对应版本CUDA https://developer.nvidia.com/cuda-toolkit-archive

    下载后是一个安装程序(安装步骤可以看参考安装办法下载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下载安装 https://zhuanlan.zhihu.com/p/454839461
  • Cuda和cuDNN安装教程(超级详细)https://blog.csdn.net/jhsignal/article/details/111401628
  • pytorch安装及卸载https://blog.csdn.net/mao_hui_fei/article/details/112078113

2·2 安装 ChatGLM

如果安装好pytorch环境之后跟着官网的流程来就行,是中文的,对中国人非常友好

全程都下载在新环境里面。

  • 下载代码
    git clone到文件夹
git clone https://github.com/THUDM/ChatGLM-6B.git

运行结束后,在终端切换到对应文件夹里面

  • 安装Gridio
# 安装gradio用于启动图形化web界面
pip install gradio
  • 安装依赖(会自动下载ChatGLM-6B文件里面requirements.txt里的依赖,注意要切换到ChatGLM文件里面)
# 安装运行依赖
pip install -r requirements.txt
  • 运行效果
    我使用的时vscode编译python

    vs 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下载后解决,换源下载

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值