likes
comments
collection
share

十分钟安装部署大模型ChatGML-6B

作者站长头像
站长
· 阅读数 3

近期大模型可谓是如火如荼,按耐不住也想手动安装部署大模型,近距离接触大模型,废话不多说直接开始安装部署。

部署机器准备

  • 可以在某某云申请GPU服务器,模型会跑的更快;
  • 本地电脑配置尚佳也可以用来跑模型,配置不同响应效果略有区别;

安装环境

目前绝大多数模型都是使用python语言,这里我们使用conda管理python环境。

安装miniconda

可以从这里获取对应版本的安装程序:Latest Miniconda Installer Links,下载完成以后执行命令,这里我以Linux为例。

bash Miniconda3-latest-Linux-x86_64.sh

按照提示进行安装,完成安装后配置~/.bashrc文件,添加如下一行配置。

conda_dir=/root/miniconda3

执行如下命令使配置生效,之后你会看到命令行前出现base,代表conda生效。

source ~/.bashrc

创建虚拟环境

使用虚拟环境管理python依赖,防止环境被污染,当然如果仅仅部署一套程序,完全可以使用base环境,甚至可以直接使用基础python环境,习惯使用conda了。

# 创建虚拟环境ChatGLM-6B
conda create -n ChatGLM-6B python=3.11
# 启用ChatGLM-6B虚拟环境
conda activate ChatGLM-6B
# 退出虚拟环境
conda deactivate

安装Git

如果没有git环境需要安装,可以通过git --version进行检查。

yum install git
# 方便下载模型权重
yum install git-lfs

下载资源

大模型部署涉及的资源基本都是 模型代码+模型权重,ChatGLM-6B开源代码参考 github.com/THUDM/ChatG…,里边安装步骤其实比较详细,这里简单顺下。

下载模型代码

git clone https://github.com/THUDM/ChatGLM-6B.git

下载模型权重

模型可以从HF进行下载,这里我下载量化模型int4为例。

# 下载模型相关基础小文件
git clone https://huggingface.co/THUDM/chatglm-6b-int4
# 下载lfs类型文件,包含模型权重文件
git lfs pull

可能下载速度过慢,可以直接手动下载后将文件放到目录下即可。

部署模型

ChatGLM-6B有多个实例程序,如:web_demo、cli_demo,这里通过web_demo部署页面UI程序,修改根目录下web_demo.py程序。

tokenizer = AutoTokenizer.from_pretrained("THUDM/chatglm-6b", trust_remote_code=True)
model = AutoModel.from_pretrained("THUDM/chatglm-6b", trust_remote_code=True).half().cuda()

# 添加server_name使外部浏览器能够访问,否则是回环地址
demo.queue().launch(share=False, inbrowser=True, server_name='0.0.0.0')

将其中的THUDM/chatglm-6b修改为上方下载模型权重的路径即可,以上代码配置的是有GPU的机器,如果是其他环境可以参考官方文档支持。

运行模型

# 前台运行程序
python web_demo.py
# 后台运行,实时显示日志
nohup python -u web_demo.py > nohup.out 2>&1 &

CPU运行

model = AutoModel.from_pretrained("THUDM/chatglm-6b", trust_remote_code=True).float()

MAC运行

model = AutoModel.from_pretrained("your local path", trust_remote_code=True).half().to('mps')

mac运行如果遇到问题可以参考官方文档进行解决,github.com/THUDM/ChatG…

结果速览

访问地址:http://127.0.0.1:7860/

十分钟安装部署大模型ChatGML-6B

总结

我是按量买的云服务,穷人真难,看着充值金额不断下降,心疼啊。本次带来大模型最为基础的部署指南,后续我会持续更新,包括大模型微调、大模型原理等内容,敬请期待哦。