参考的博客:Ubuntu 部署ChatGLM3-6B模型_ubuntu 23 chatglm3本地部署-CSDN博客
一、运行环境:
操作系统 :Ubuntu22.04
虚拟机
内存:32G及以上内存
请在安装以前,确定python命令可以正常执行python3,如果系统未能成功执行,按照下列连接内容设置:
ubuntu中 输入python后python3不能调用-CSDN博客
二、安装驱动
sudo ubuntu-drivers autoinstall
三、安装Anaconda
(一)Anaconda官网下载安装包
anaconda下载链接Anaconda3-2024.02-1-Linux-x86_64.sh
1. 打开Anaconda官网,点击跳过注册
2. 选择正确的版本进行下载
本次选择Linux版本下载,得到Anaconda3-2024.02-1-Linux-x86_64.sh 文件
(二)安装Anaconda
1.执行Anaconda3-2024.02-1-Linux-x86_64.sh 安装,按照要求一步一步操作
sh Anaconda3-2024.02-1-Linux-x86_64.sh
2.首先提示点击ENTER继续安装,按照要求点击ENTER按钮
点击ENTER后,显示用户须知
3. 阅读完毕后,提示是否同意以上内容,输入yes回车继续
4. 给了三个选项:
(1)按ENTER确定安装到当前目录
(2)按CTRL+C取消安装
(3)输入一个指定目录路径安装
这里我尝试第一项,没有安装成功,出现了因为权限不足导致的问题。之后直接在提示符后面输入了home/t/a,将Anaconda安装到了当前t用户下的a文件夹中。
5. 出现提示,输入yes回车
6.安装完毕
(三)安装pytorch
下图给的是cuda的安装版本,本次测试我用虚拟机使用低功耗版本,仅使用cpu做演示,我选择的CPU
安装命令获取连接:Start Locally | PyTorch
conda install pytorch torchvision torchaudio pytorch-cuda=12.1 -c pytorch -c nvidia
(四)下载模型代码及模型权重
1.下载chatGML3
GitHub - THUDM/ChatGLM3: ChatGLM3 series: Open Bilingual Chat LLMs | 开源双语对话语言模型
1.从模型列表,选择模型下载
Model | Seq Length | Download |
---|---|---|
ChatGLM3-6B | 8k | HuggingFace | ModelScope | WiseModel | OpenXLab |
ChatGLM3-6B-Base | 8k | HuggingFace | ModelScope | WiseModel | OpenXLabl |
ChatGLM3-6B-32K | 32k | HuggingFace | ModelScope | WiseModel | OpenXLab |
ChatGLM3-6B-128K | 128k | HuggingFace | ModelScope| OpenXLab |
(五)安装依赖
(此步骤可能会反复出现连接断开的情况,请反复执行)
进入已经下载好的ChatGLM3-main文件夹,执行下列命令:
sudo apt update
pip install -r requirements.txt
(六)测试使用
1. 在ChatGLM3-main中新建THUDM文件加,将chatglm3-6b模型复制其中。
2.在ChatGLM3-main中,新建chat_test.py文件
将下列内容,复制到chat_test.py并保存(因为用的是虚拟机,所以这是用cpu计算的低功耗版本的调用模式)
from transformers import AutoTokenizer, AutoModel
tokenizer = AutoTokenizer.from_pretrained("THUDM/chatglm3-6b", trust_remote_code=True)
model = AutoModel.from_pretrained("THUDM/chatglm3-6b", trust_remote_code=True).float()
model = model.eval()
while True:
question = input('>>>')
response, history = model.chat(tokenizer, question, history=[])
print(response)
3.执行chat_test.py
python chat_test.py
执行结果如下:
我分别提出了hello、who are you两个问题,chatglm3分别做出了回答
如何使用GPU调用chatglm3-6b请查阅GitHub - THUDM/ChatGLM3: ChatGLM3 series: Open Bilingual Chat LLMs | 开源双语对话语言模型