在家庭私有云上部署体验语言模型chatglm3-6b,打造私人助理

最近chatgpt比较火,但是需要翻墙才能体验,即使你翻墙了,使用的时候还需要排队,不想排队就得花钱,终究不美。

而且我觉得更重要的是数据安全问题,不仅仅是chatgpt,包括国内出的文心等云服务平台,你的每一次提问,每一次喂给他让他学习的文档真的没有泄露的风险吗?我就不多说了,懂的都懂。

今天主要体验下清华智谱开源的一款语言模型,叫chatglm3-6b,号称可以在消费级的显卡设备上流畅运行。那就尝试下在我的家庭私有云上以镜像的方式进行部署。

在部署之前我假设你的服务器上已经安装好了nvidia的驱动,这样容器才可以调用gpu,不知道怎么操作的可以参见我另一篇文章。

在部署之前,我假设你的centos已经安装了nvidia驱动和docker,不会的自行搜索。

首先拉取一个通用的系统镜像,这个镜像比较大有13个G左右。

docker pull pytorch/pytorch:2.0.1-cuda11.7-cudnn8-devel

接着去github把chatglm3的代码拉下来:

git clone https://github.com/THUDM/ChatGLM3

接着进入chatglm3目录,把模型也拉下来,放到里面:

cd chatglm3
# 模型大概12个G
git clone https://www.modelscope.cn/ZhipuAI/chatglm3-6b.git chatglm3-6b-models

代码和模型都准备就绪,那么开始构建镜像,基于第一步已经pull下来的系统镜像,把代码和镜像映射到容器的data目录:

docker run -itd --name chatglm3 -v /root/workspace/code/chatglm3:/data 
--gpus=all -e NVIDIA_DRIVER_CAPABILITIES=compute,utility -e NVIDIA_VISIBLE_DEVICES=all 
-p 8000:8000 pytorch/pytorch:2.0.1-cuda11.7-cudnn8-devel

然后进入容器,执行如下命令安装依赖:

docker exec -it chatglm3 bash
cd /data
pip3 config set global.index-url https://mirrors.aliyun.com/pypi/simple 
pip3 config set install.trusted-host mirrors.aliyun.com
pip3 install -r requirements.txt

安装完成后,我们把当前容器的状态打成新的镜像,这样以后用新的镜像启动就不需要再安装依赖了,直接使用。

docker commit chatglm3 laughstorm/chatglm3:v1

打完之后,我们把之前的chatglm3容器删除,用新的镜像运行,并且启动openai端点:

docker run -itd --name chatglm3 -v /root/workspace/code/chatglm3:/data 
--gpus=all -e NVIDIA_DRIVER_CAPABILITIES=compute,utility -e NVIDIA_VISIBLE_DEVICES=all 
-p 8000:8000 laughstorm/chatglm3:v1 python /data/openai_api_demo/openai_api.py

这时候就大功告成了,服务暴露在机器的8000端口,我们找一个客户端连接试一下效果,这里我用了chatgpt-next-web。

我们再试一下chatgpt-next-web里面的面具,其实就是预设了一些提示词。

试下以文搜图:

试下简历写手:

写了很长,屏幕都截不下,体验还是不错的。

再看下我P40 24G的显存占用情况:

占用了我大概12个G的显存。所以没有12G显存的显卡想要体验的话最好做一下量化。

展开阅读全文

页面更新:2024-05-02

标签:模型   篇文章   大功告成   显存   安全问题   容器   显卡   私人   语言   代码   家庭   目录   系统

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top