云服务器部署开源ChatGLM-6B保姆级教程

1.背景

大家好啊,我是小卷。

最近GPT不仅发布了GPT-4,而且解除封印可以联网了。不得不赞叹AI更新迭代的速度真快,都跟不上节奏了。但是大家也注意到了吧,随着GPT的每次更新,OpenAI对其开放使用的限制也越来越大。之前国内网随便访问GPT3,现在动不动就封号

所以,今天就来教大家部署国内清华大学开源的ChatGLM-6B。简单介绍下,ChatGLM是对话语言模型,对中文问答和对话进行了优化。当前训练模型有62亿参数,后续还会推出1300亿参数的大模型,期待国内的ChatGLM能越做越强大。

ChatGLM的开源地址:THUDM/ChatGLM-6B

废话不多说了,直接上效果,以下是由ChatGLM中文对话的结果

(PS:文末给大家准备了ChatGLM的免费体验地址 和 算力平台免费体验方式,一定看到文章结尾哦)

1.png

3.服务器配置

这一步购买服务器并安装环境,比较简单

3.1注册使用

打开揽睿星舟官网注册地址:https://www.lanrui-ai.com/register?invitation_code=4104

咱们就可以免费体验服务器了。右上角也可以给自己账户充值

2.png

3.2购买服务器并安装镜像

在网站的算力市场购买需要的服务器配置,这里我选的是3090-24G这款,点击使用按钮进入镜像安装界面

3.png

运行环境镜像选公共镜像 -> pytorch 直接用最新的就行,然后高级设置里选择预训练模型chatglm-6b(这样会预先加载chatGLM的模型到服务器,无需再手动下载)然后创建实例(确保自己账号里有足够的余额)

4.png

等待5分钟左右,工作空间就创建好了,点击进入 -> JupyterLab 进入服务器,接下来就准备ChatGLM的安装就行了

5.png

4.部署ChatGLM

4.1Git加速配置

为了避免git clone太慢,提前在命令行设置git学术资源加速

# 执行下面2条命令,设置git学术资源加速
git config --global http.proxy socks5h://172.16.16.39:8443
git config --global https.proxy socks5h://172.16.16.39:8443

后面的步骤中再执行git clone命令就不会卡住了。

要取消git学术加速也简单,执行下面的命令(所有步骤执行完后再取消哦~)

# 取消git学术资源加速
git config --global --unset https.proxy
git config --global --unset http.proxy

4.2下载ChatGLM源代码

进入Jupyter的页面后,可以看到2个目录,对目录做下说明:

  • data目录,存放数据,平台共享的
  • imported_models目录,存放预训练模型,即创建工作空间时你选择的模型

点击data目录下,可以看到ChatGLM-6B文件夹,里面是ChatGLM的源代码。

如果没有ChatGLM-6B目录,那么我们这一步需要下载代码,操作如下:

页面打开一个Terminal终端,在Terminal终端执行命令

git clone https://github.com/THUDM/ChatGLM-6B.git
6.png
7.png

4.3 安装依赖

1.执行命令切换到ChatGLM-6B的目录

cd ChatGLM-6B

2.接着修改requirements.txt文件,把后续所有需要的依赖都加上,下面的配置加在文件末尾即可,如果文件里已加上这3个依赖,无需再修改。

chardet
streamlit
streamlit-chat

3.加完之后save保存下文件,如图

8.png

4.接着命令行执行下面命令安装依赖

# 使用默认镜像源下载会超时,这里用了清华的pip镜像源地址
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/
9.png

这一步可能会执行报错

ERROR: Could not install packages due to an OSError: Missing dependencies for SOCKS support.
9_1.png

解决方法:切换到root用户后再执行命令

# 切换root用户
sudo su

# 重新执行
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/

4.4 启动脚本修改

  • 因为模型是单独文件夹存储的,所以需要修改启动脚本中读模型文件的代码
  • 为了能从公网访问我们的ChatGLM,需要修改监听地址为0.0.0.0,端口为27777,这个是揽睿星舟平台的调试地址

修改步骤:

1.修改web_demo2.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()

修改后的代码

    tokenizer = AutoTokenizer.from_pretrained("/home/user/imported_models/chatglm-6b", trust_remote_code=True)
    model = AutoModel.from_pretrained("/home/user/imported_models/chatglm-6b", trust_remote_code=True).half().cuda()

修改完后ctrl + s保存一下

4.5启动ChatGLM

ChatGLM-6B目录下,命令行执行

python3 -m streamlit run ./web_demo2.py --server.port 27777 --server.address 0.0.0.0

启动ChatGLM的webui界面

12.png

看到http://0.0.0.0:27777字样说明成功启动了

5.使用

我们需要从浏览器访问刚部署的服务,回到揽睿星舟平台

在工作空间页面上点击自定义服务拷贝调试链接,然后把拷贝的链接在浏览器上打开

13.png
14.png

然后你就可以在这个页面开始对话了

注意第一次对话时,程序会加载模型文件,耗时会比较长,可以从刚才启动的命令行查看加载进度

等第一次加载完成后,后面再对话,响应就很快了

6.对话效果

到这一步,所有安装部署过程就成功完成了,我们来看看效果吧,拷贝的链接在手机端也能打开,下面是手机端的效果

15.jpeg

7.关闭服务以及重启服务

  • 因为我们的服务按使用量收费的,所以不用时在页面上点击停止运行即可
16.png
  • 然后想重新运行服务的时候,点工作空间页面上的启动按钮。工作空间重新创建后,进入Jupyter,通过命令行再次启动
# 进入ChatGLM-6B目录
cd data/ChatGLM-6B/
# 没挂系统盘时,要重新安装依赖
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/
# 启动服务
python3 -m streamlit run ./web_demo2.py --server.port 27777 --server.address 0.0.0.0
17.png
18.png

8.免费体验ChatGLM

小卷给大家准备了2个免费体验的方式:

(1)通过下面链接注册平台账号,然后可自行部署体验。

https://www.lanrui-ai.com/register?invitation_code=4104

(2)小卷给大家准备了自己的ChatGLM体验地址,能用上几天。号众公卷福同学里 发关键词ChatGLM

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,386评论 6 479
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,939评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,851评论 0 341
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,953评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,971评论 5 369
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,784评论 1 283
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,126评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,765评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,148评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,744评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,858评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,479评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,080评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,053评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,278评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,245评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,590评论 2 343