十分钟部署清华ChatGLM-6B,实测效果还可以~~(Linux版)

文章介绍了如何在无网络环境下,通过Miniconda搭建Python虚拟环境,离线安装ChatGLM-6B模型所需依赖,并提供了模型文件和WebUI的获取及启动方法,整个过程包括创建虚拟环境、安装依赖、下载模型文件和启动WebUI的步骤。
摘要由CSDN通过智能技术生成

引言

前段时间,清华公布了中英双语对话模型ChatGLM-6B,具有60亿的参数,初具问答和对话功能。最!最!最重要的是它能够支持私有化部署,大部分实验室的服务器基本上都能跑起来。因为条件特殊,实验室网络不通,那么如何进行离线部署呢?经过一上午的折腾终于搞定了,总结了这么一个部署文档供大家讨论学习(其实,比在线部署还快哟~)。除去下载模型以及依赖包的时间,部署十分钟搞定!!让我们冲~~

说在前面

本着授人以鱼不如授人以渔的想法,比较详细的介绍了chatglm-6B相关依赖资源的获取方式;「如果怕麻烦,也可以直接拉到文章最后直接获取chatglm-6B所有相关依赖资源」

「部署环境」:CUDA Version 11.0,机器内存32G以上或者机器8G内存+8G显卡内存。

那么,正式开始吧~~

安装Miniconda,

1.1 获取安装包

「方法一」 直接拉到文章最后(获取方式放在最后)。

「方法二」 因为Miniconda自带python,所以要在官网下载python版本为3.10的Miniconda版本。下载地址为:https://docs.conda.io/en/latest/miniconda.html#linux-installers,具体截图如下。(如果不想自己麻烦,我也已经把它放到云盘里面了)。

1.2 安装 Miniconda

将Miniconda下载安装包放到你要放的目录,这里我放在:/home/work/miniconda 中,然后执行sh Miniconda3-latest-Linux-x86_64.sh 如下图所示:

执行完之后按照提示进行回车(enter)就好了,注意:最后选择“yes”,这样每次启动,它都会自动给你切换到conda的base环境中。

1.3 创建虚拟机环境

miniconda支持创建多个虚拟环境,用来支撑不同版本(python)版本的代码,这里就为chatglm-6b创建一个单独的python虚拟机环境,名字叫:chatglm,后面会在该环境中安装跑chatglm-6b模型的所有依赖。下面是命令及截图:

conda create -n chatglm --clone base  (注:因为是离线安装这里选择clone的方式创建,直接创建会报错)
conda env list (获取环境列表)
conda activate chatglm (切换chatglm环境)

3、安装模型需要的所有依赖

chatglm-6b在centos上用到的所有依赖全都打包在packages里面了(在云盘中,获取方式放在最后),将其也放到/home/work/chatglm/packages下面,然后执行:

pip install --no-index --find-links=/home/work/chatglm/packages  -r requirements.txt

4、获取模型文件

「方法一」 直接拉到文章最后(获取方式放在最后)。

「方法二」 通过Hugging Face获取,连接地址:https://huggingface.co/THUDM/chatglm-6b/tree/main,下载所有的文件。建立chatglm_model文件夹,把下载的所有文件都塞到这里面。

不管通过以上哪种方法:将模型文件放到机器目录:/home/work/chatglm/chatglm_model下面。

5、获取项目webui

方法一、直接拉到文章最后(获取方式放在最后)。

方法二、通过github开源项目获取,连接地址:https://github.com/Akegarasu/ChatGLM-webui,下载所有文件。建立webui文件夹,将下载的所有文件都塞到这个文件夹里面。

还是不管按照以上哪种方法获取,将webui相关文件放到机器目录:/home/work/chatglm/webui里面。

6、启动webui(最后一步)

按照上面的操作,最终的文件夹目录如下:

接着,进入到webui文件夹里面,执行如下命令:

python webui.py --model-path /home/work/chatglm/chatglm_model --listen --port 8898 --precision fp16

上面参数主要是:模型路径、监听端口、以及模型工作模式;除此之外还有其它的几个参数没有用到。所有参数解释具体如下:

  • --model-path 指定模型路径
  • --listen 如果不加该参数,只能通过127.0.0.0本地访问。注意:在centos服务器上部署,该参数一定要加,不然没有办法通过IP加端口访问模型服务。
  • --port 没有啥好说的,指定端口用的。
  • --share 通过gradio进行分享,它会帮你生成一个域名连接,但是需要访问互联网。离线centos服务器部署用不到。
  • --precision 精度参数有4个,分别是fp32(只用CPU,32G内存以上), fp16,(12G以上显存) int4(8G以下显存使用), int8(8G显存使用)
  • --cpu 只应用CPU,无显卡的时候使用

执行完以上命令之后,等待模型加载完成,通过IP+端口就可以访问服务啦!截图如下:

资料获取

推荐阅读

[1] NLP自然语言处理:ChatGPT等大语言模型(LLMs)测试数据集--整理分享

[2]附源码下载!继续分享8篇NLP论文,看如何提升大模型复杂推理能力 - 知乎 (zhihu.com)

[3]NLP自然语言处理:含源码!分享7篇NLP文章,已有研究选择:利用ChatGPT实现零样本信息提取(中文)

[4] 「自然语言处理(NLP)」 你必须要知道的 “ 十二个国际顶级会议 ” !

[5] 2023年!自然语言处理 10 大预训练模型

[6] NLP自然语言处理:分享 8 篇NLP论文,有研究惊奇发现:大语言模型除了学习语言还学到了... ...

[7]【超详细!】一文看懂从逻辑回归(Logistic)到神经网络(NN)

[8] 2023年,请不要忽略!图神经网络(GNN)这一匹黑马!

[9] NLP自然语言处理:NLP不断突破界限,2023 十篇必读的顶级NLP论文! [7] 颠覆传统神经网络!19个神经元驾驶一辆车!

[10] 分享10篇最新NLP顶级论文,有研究竟提出:给大型语言模型(LLM)增加水印

[11] NLP自然语言处理:Language Is Not ALL You Need && 知识图谱的两种应用

[12] NLP自然语言处理:ChatGPT等大语言模型(LLMs)测试数据集--整理分

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

手把手教你学AI

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值