近期大模型可谓是如火如荼,按耐不住也想手动安装部署大模型,近距离接触大模型,废话不多说直接开始安装部署。
部署机器准备
- 可以在某某云申请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…
结果速览
总结
我是按量买的云服务,穷人真难,看着充值金额不断下降,心疼啊。本次带来大模型最为基础的部署指南,后续我会持续更新,包括大模型微调、大模型原理等内容,敬请期待哦。