ChatGLM2环境搭建与初体验

您所在的位置:网站首页 十代八核i7是什么意思 ChatGLM2环境搭建与初体验

ChatGLM2环境搭建与初体验

2023-07-08 12:02| 来源: 网络整理| 查看: 265

清华在6.26开源了他们的6B的大语言模型ChatGLM2,项目开源地址:https://github.com/THUDM/ChatGLM2-6B。相较于上一代,ChatGLM2在多项指标上有所提升。刚好最近下班不知道干啥,于是我在下班后体验了一下ChatGLM2。

设备:CPU AMD 5800X;内存 48G;GPU NVIDIA GTX3060 12G

目前主流的开源AI模型大多是需要调用NVIDIA的GPU的,故在运行模型前需要安装对应版本的NVIDIA CUDA toolkit和CUDNN,其安装过程不再赘述。

git clone项目后,首先进入项目使用conda创建项目的python环境

conda create -n glm2 python=3.10

conda activate glm2

此时已启用了为项目单独创建的python环境,接下来为项目安装程序运行的相关依赖,pip install -r requirements.txt,但由于深度学习框架pytorch有CPU和GPU的两个版本,直接安装通常会安装到CPU版本的,故先单独安装pytorch GPU版本pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118,随后再执行pip install -r requirements.txt,等待一段时间后,项目的所有环境就搭建完毕了。模型有FP16/INT8/INT4三种精度可选,FP16的版本需要13G以上的显存才能正常运行,故我选择加载INT4量化后的模型。

streamlit run web_demo2.py

此时,web客户端已启动,浏览器输入localhost:8501进入到web客户端页面。在对话框里输入问题,让它帮我搭个网络,ChatGLM2的权重文件会在这个过程中自动下载,INT4的大概3.6G。

下载完权重后就可以正常回答问题了。可以发现,ChatGLM2根据我的需求写了一段完整的PyTorch代码,但仔细观察发现代码还是有点问题:

self.conv2 = nn.Conv2d(6, 6, 3) # 第二层卷积,3x3,6个输入通道,5x5的卷积核

在Pytorch官方文档中:

torch.nn.Conv2d(in_channels, out_channels, kernel_size, stride=1, padding=0, dilation=1, groups=1, bias=True, padding_mode='zeros', device=None, dtype=None)

Conv2d的前三个参数分别是输入通道数、输出通道数、卷积核大小。我对于第二个卷积要求是一个5*5的卷积核,代码中的第三个参数为3,也就是3*3的大小,故此行代码不符合我的要求,除此之外的神经网络节点初始化与前向传播写的都没啥问题,在我没指定通道数的情况下它写的通道数都属对的(上一层的输出的通道数=这层的输入通道数)。

此时输入命令行输入nvidia-smi观察显卡占用情况,发现INT4模型大约占用的6G的显存。

又测了一下CV里一个基础的知识,答的对了一半吧。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3