清华大模型ChatGLM3在本地Tesla P40上也运行起来了

我们之前部署了ChatGLM3(清华大模型ChatGLM3部署初体验),但是运行体验比较差,主要就是因为Tesla M4的显存只有4 GB,无法支撑项目运行。为此,我还特意采购了Tesla P4和Tesla P40(Tesla P40终于在DL580 Gen9上面跑起来了!)。

ChatGLM3是智谱AI和清华大学KEG实验室联合发布的对话预训练模型。该项目在GitHub的工程链接为:

https://github.com/THUDM/ChatGLM3
ChatGLM3模型推荐使用Conda和PyTorch进行部署和使用,正好我们已经部署好了(成了!Tesla M4+Windows 10+Anaconda+CUDA 11.8+cuDNN+Python 3.11)。

因为需要使用Git来克隆项目,我们先安装Git命令。访问以下页面,按需选择需要的系统及软件版本:

https://git-scm.com/downloads

图片

Windows版的下载链接如下:

https://github.com/git-for-windows/git/releases/download/v2.44.0.windows.1/Git-2.44.0-64-bit.exe下载完成之后,按照推荐提示完成Git的安装。在Git安装过程中,确保选择选项将Git添加到系统PATH环境变量中。

安装完成后,打开Anaconda。首先,新创建一个ChatGLM3环境,Python需要使用3.10或更高版本,我们使用3.11.9版本。

启动Terminal终端。

激活环境ChatGLM3环境,并下载ChatGLM3项目。

conda activate ChatGLM3
git clone https://github.com/THUDM/ChatGLM3

然后进入到项目中,使用pip安装依赖软件:

cd ChatGLM3
pip install -r requirements.txt

安装完成后,运行以下命令在本地加载模型并启动demo:

streamlit run web_demo_gradio.py

如果有报错,按照提示一点点修改就可以了。然后就可以从命令行回显中看到demo的链接了,默认可以自动打开目标页面,也可以手动输入到浏览器进行访问。

初次访问需要下载并加载模型,可能需要花费一定时间(访问https://huggingface.co/可能需要互联网,请自行联网)。关键的模型文件一共是7个,共12.5 GB,大小分别为1.83 GB、1.97 GB、1.93 GB、1.82 GB、1.97 GB、1.93 GB、1.05 GB。

或者先将模型下载到本地,再通过export MODEL_PATH=/path/to/model命令来指定从本地加载模型。具体参考以下链接:

https://huggingface.co/docs/transformers/installation#offline-mode
等加载完成即可进入到ChatGLM3 Demo页面。ChatGLM3 Demo 拥有三种模式:

Chat:对话模式,在此模式下可以与模型进行对话。

Tool:工具模式,模型除了对话外,还可以通过工具进行其他操作。

Code Interpreter:代码解释器模式,模型可以在一个Jupyter环境中执行代码并获取结果,以完成复杂任务。使用Code Interpreter还需要安装Jupyter内核:

ipython kernel install –name ChatGLM3 –user

我们现在使用的是对话模式,我们可以通过调节top_p(控制生成的文本的多样性)、temperature(控制模型生成文本的创造性或随机性)和max_length(生成文本的最大长度)等参数来调整模型行为。

换了GPU之后,使用体验一下子提升起来了。第一句hello的响应大概用了三四秒钟,第二句就是秒回了。

问一些技术行的问题也是可以答复的。

按照文档提示:默认情况下,模型以FP16精度加载,运行上述代码需要大概13 GB显存,现在我的显存够用了,看一下占用情况。

大约12.5 GB,跑起来毫无压力。

不过,我们也注意到,每次提问都会增加一些显存的占用,试了几次,大概从10-50 MB不等,按照最大的50 MB来算,大概可以响应200次以上的对话,实际情况得以后测一下才能验证了。

终于把ChatGLM3在本地跑起来了!那服务器的耗电情况怎么样呢?

功能稳定之后,平均功功率大概在350瓦左右,计算时的最大功率大概能到850瓦,也就是说,如果本地运算,一小时的电费大概是4毛5,不便宜啊!

最后,分享一下ChatGLM3的在线文档:

https://zhipu-ai.feishu.cn/wiki/WvQbwIJ9tiPAxGk8ywDck6yfnof

声明:文中观点不代表本站立场。本文传送门:http://eyangzhen.com/415515.html

(0)
联系我们
联系我们
分享本页
返回顶部