本文主要是介绍CPU服务器安装运行智谱大模型ChatGLM-6B,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
CPU运行智谱大模型ChatGLM-6B
说明
我的服务器配置是16C32G,跑大模型最好内存要大一些才行,不然跑不起来。
下载
git clone https://github.com/THUDM/ChatGLM-6B.git
安装依赖包
pip install -r requirements.txt
下载模型文件
在huggingface上需要翻墙,有条件的可以直接下载,不行可以使用国内的镜像。需要一个个文件下载
https://huggingface.co/THUDM/chatglm2-6b
*** 国内推荐,国内推荐,国内推荐-1 ***
https://aifasthub.com/models/THUDM
*** 国内推荐-2 ***
https://hf-mirror.com/THUDM/chatglm2-6b
下载后,我把模型文件保存到:/opt/models/chatglm2-6b目录下。
修改代码把GPU改成CPU
打开ChatGLM-6B-main目录的cli_demo.py文件,修改源代码
import os
import platform
import signal
from transformers import AutoTokenizer, AutoModel
import readlineMODEL_PATH="/opt/models/chatglm2-6b"tokenizer = AutoTokenizer.from_pretrained(MODEL_PATH, trust_remote_code=True)
# 把这一行复制一下,并注释掉
#model = AutoModel.from_pretrained(MODEL_PATH, trust_remote_code=True).half().cuda()
# 把上面的一行改成以下一行
#model = AutoModel.from_pretrained(MODEL_PATH, trust_remote_code=True).half().cpu()
# 或则去掉cpu(),改成以下这样,也可以
model = AutoModel.from_pretrained(MODEL_PATH, trust_remote_code=True).half()
model = model.eval()
运行cli_demo.py
运行客户端代码后,会出现命令行的输入交付方式:
$ python cli_demo.py 欢迎使用 ChatGLM-6B 模型,输入内容即可进行对话,clear 清空对话历史,stop 终止程序用户:你是谁?ChatGLM-6B:我是一个名为 ChatGLM2-6B 的人工智能助手,是基于清华大学 KEG 实验室和智谱 AI 公司于 2023 年共同训练的语言模型开发的。我的任务是针对用户的问题和要求提供适当的答复和支持。
注意:此时可以观察以下CPU的使用状况。可以看到其中有一个CPU的使用率达到100%,其他的其实没有用起来。
另外,还有其他几个demo,比如web_demo.py等,还是同样的修改方式,由于我这里是登录到服务器上去运行大模型,所以暂时没有运行web_demo.py的前端代码。
待改进的问题
目前我的机器是16C32G(CPU)配置,虽然能够把ChatGLM-6B跑起来,而且能够正常的回答问题,但运行速度非常慢,几个字几个字的往外跳出来。
而跑其他的大模型,也是同样的效果,哪怕是最小的llama-chinese也很慢。这个后续需要想办法优化。
这篇关于CPU服务器安装运行智谱大模型ChatGLM-6B的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!