正文共:999 字 14 图,预估阅读时间:1 分钟
我们之前部署了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
长按二维码
关注我们吧
HPE DL580 Gen9到家了,成功开机!
风雨同舟,感谢HP Proliant DL360 Gen9陪我走过的四年
【更清晰】照片分享,欢迎家庭新成员HPE ProLiant DL580 Gen9
Tesla P4终于在DL580 Gen9上面跑起来了!
人工智能如何发展到AIGC?解密一份我四年前写的机器学习分享材料
一起学习几个简单的Python算法实现
GPU性能测试中的张量和矩阵运算
清华大模型ChatGLM3部署初体验
使用vSRX测试一下IPsec VPN各加密算法的性能差异
RDP授权119天不够用?给你的Windows Server续个命吧!
天翼云研发告诉我:AH封装的IPsec不能穿越NAT设备
奇怪的知识又学到了:服务器的序列号、产品ID和UUID不见了怎么办?
RAID阵列的磁盘顺序能否调整?RAID重建需要多久?
如何操作RAID 5阵列的扩容?
快速定制VMware ESXi 8.0U2并部署到DL580 Gen9
惠普SSA(Smart Storage Administrator)配置术语详解