推荐大家关注腾讯云社区的活动,写文章他是真的送钱。。。
“该代金券仅可用于购买1个月预付费GN10Xp.2XLARGE40”
之前参加腾讯云社区的活动,获得了GPU一个月使用券。但是卡已到手,拿它干嘛呢?
用来训练?一个月使用期限,用来训练不太靠谱,好不容易把数据弄上来,一个月后我又要换卡;
拿来部署?之前在腾讯云使用腾讯云部署过chatGPT接口调用的服务,不过那个CPU就够了,部署接口调用服务有点浪费;
所以我决定用来部署一些能充分利用GPU的大模型,顺便介绍下使用FastChat部署模型的流程~
0 创建腾讯云实例
先购买CVM
提醒大家一点。。选择镜像的时候一定要考虑清楚,我最初用的推荐TencentOS3.1,他的cuda是11.0,如下图。
(重装系统导致又折腾我大半天重新搞环境和数据。。。几个小时买来的经验~)
1 FastChat介绍
为什么会选择FastChat框架呢?
FastChat是一个用于训练、部署和评估基于大型语言模型的聊天机器人的开放平台。
其核心功能包括:
最先进模型的权重、训练代码和评估代码;
基于分布式多模型的服务系统,具有Web界面和与OpenAI兼容的RESTful API。
基于此框架提供的多模型服务部署和web框架来进行测评和选型非常方便:
2 FastChat使用
2.1 准备工作
先把conda配好
https://cloud.tencent.com/developer/article/2063049
再将源码和环境准备好~
代码语言:javascript复制git clone https://github.com/lm-sys/FastChat.git
cd FastChat
pip3 install --upgrade pip # enable PEP 660 support
pip3 install -e ".[model_worker,webui]"
2.2 下载模型
然后下周我们想部署或者测评的模型,最近chatGLM3出来了,我们就部署下chatGLM系列吧。香港服务器没有了,我们使用modelscope API下载:
代码语言:javascript复制pip install modelscope
代码语言:javascript复制from modelscope import snapshot_download
model2_dir = snapshot_download("ZhipuAI/chatglm2-6b")
model3_dir = snapshot_download("ZhipuAI/chatglm3-6b")
下载保存的目录: '/root/.cache/modelscope/hub/ZhipuAI/'
2.3 使用web GUI服务部署模型
2.3.1 启动controller
代码语言:javascript复制python3 -m fastchat.serve.controller
启动成功后可以看到启动了一个默认端口号21001的服务
2.3.2 启动model_workers
也就是启动刚才我们下载的模型
代码语言:javascript复制python3 -m fastchat.serve.model_worker --model-path /root/.cache/modelscope/hub/ZhipuAI/chatglm3-6b
运行后会加载模型并注册到上一步的controller服务
2.3.3 启动web服务
代码语言:javascript复制python3 -m fastchat.serve.gradio_web_server
最后,在本地打开网页:https://你的服务器IP:7860
就能看到我们部署的模型啦~
通过上图可以看到一个模型就占用了12G,要同时部署三个模型肯定OOM~后面有时间我们分享如何在有限的内存里部署多个模型~
我正在参与2023腾讯技术创作特训营第三期有奖征文,组队打卡瓜分大奖!