在我们的项目中,关于大模型的部署是很重要的一环。本来打算本地部署MING的,然而要求运行要求显存大于15GB,只好放弃本地部署,改为远程部署。
MING Github地址
MediaBrain-SJTU/MING: 明医 (MING):中文医疗问诊大模型 (github.com)
最开始想尝试使用ModelScope或者阿里云进行部署,但原模型在Huggingface上,而huggingface上的模型格式与modelscope并不一样,而阿里云的PAI-EAS的GPU服务器的价格也不便宜,一个小时要6RMB,所以一小时2.5RMB左右的autodl就成为了最佳备选。在看到这篇文章:
成功在autodl上部署了ChatGLM后,便也想尝试将MING部署在AutoDL上
首先注册AutoDL后,在AutoDL上随便选择一个GPU服务器
选择镜像
我这里选择的环境是Pytorch 2.1.0+Python3.10+CUDA12.1,和MING的测试环境有所不同,但几乎没有影响,不过根据MING在github上提供的requirements.txt安装依赖时要注意不要安装旧版本的pytorch,CUDA适配的版本不一样。
之后来到控制台
部署环境时可以先选择无卡开机,便宜一点。开机后在快捷工具选择JupyterLab
打开终端,输入命令,以使用AutoDL官方的学术资源加速,不然从Huggingface以及github上下载东西有概率失败
source /etc/network_turbo
安装git-lfs
curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash
sudo apt-get install git-lfs
输入命令
git lfs install
确认是否成功安装git-lfs。安装成功后,便可以把MING 提供的运行脚本和模型给拉下来
本次选择的部署模型为MING-MOE-4B,其基座模型是Qwen1.5-4B-Chat,同样也用git拉下来
git clone https://huggingface.co/BlueZeros/MING-MOE-4B
git clone https://huggingface.co/Qwen/Qwen1.5-4B-Chat
git clone git@github.com:MediaBrain-SJTU/MING.git
不过我在使用http拉取github上MING-moe的运行脚本的时候,多次提示失败,最后生成ssh密钥并以ssh方式拉取了下来
拉取huggingface上的模型的时候,由于文件过大,而且在无卡模式下只有2g内存,有概率面临模型文件拉取到一半被Killed,也就是终止进程。这里还是建议尝试用有卡模式拉取,如果觉得贵也可以用autodl文件存储将模型文件下载到本地后直接上传
拉取之后,进入MING目录执行命令安装依赖
cd MING
pip install -e .
使用Pip安装fastchat
pip install fschat
从这里开始,关闭服务器并使用有卡模式开机,使用终端运行模型
根据开发者文档,使用fastchat运行终端
CUDA_VISIBLE_DEVICES=0 python -m fastchat.serve.cli \
--model_path /root/autodl-tmp/MING-MOE-4B \
--model_base /root/autodl-tmp/Qwen1.5-4B-Chat \
--max-new-tokens 3072
不可避免地失败了,终端里面提示参数未知。
经调查,原来是开发人员自己写了一套fastchat
进入MING/ming/serve目录,运行命令
CUDA_VISIBLE_DEVICES=0 python -m cli \
--model_path /root/autodl-tmp/MING-MOE-4B \
--model_base /root/autodl-tmp/Qwen1.5-4B-Chat \
--max-new-tokens 3072
成功运行
聊天功能也还算比较完善
关于使用fastchat进行API部署,我会在下一篇文章中更新