趋动云云端部署ChatGLM3-6B

趋动云端部署ChatGLM3-6B

文章目录

本部分主要内容:
1.熟悉趋动云项目创建流程
2.动手部署ChatGLM3-6B模型

1.项目创建

首先是趋动云的项目的创建,其主要以项目为载体,一个项目内可以进行三个主要流程:开发,训练及可视化,本次Task主要使用开发流程。项目的创建是流程模块化的,按照框架填内容就行。

前两个项目的文档内容(果然文档是最重要的啊),最简单的名称和简介。然后是开发所需要的代码,分两种,本地上传需上传压缩包,外部代码库没有试过。然后是运行环境,可以直接导入公开的镜像。趋动云有许多官方镜像,这是给人感觉最方便的地方。然后是数据和模型,这里也有很多公开的内容,可以直接绑定。最后几个是项目的整理和协作方面的内容。代码+环境+数据+模型,一站式服务,简单清晰。

2.模型部署

模型的部署大致分两个步骤,环境的适配,代码的适配。

环境适配主要是升级镜像环境,安装依赖:

bash 复制代码
apt-get update && apt-get install unzip

就是这一步之前,需不需要有个换源的介绍?(否则有可能升级失败)但感觉镜像是已经换过了,速度很快,流畅进行。

bash 复制代码
git config --global url."https://gitclone.com/".insteadOf https:/

因为github国内限速,需要修改源,有一点建议,这里改为 insteadOf https://github.com/感觉会更好点。

参考:git clone 换源 / GitHub 国内镜像

然后是升级pip及下载仓库,仓库地址:https://github.com/THUDM/ChatGLM3.git

按照requirement.txt下载依赖,因为镜像有torch了,这里的requirement.txt需要把torch去掉。(这里的依赖带版本号的,真好)

以上环境就OK了,接下来是适配代码,需要修改模型加载的位置,以及设置gradio服务本地运行。

修改模型加载位置,在两个demo文件中,把get_model()中的默认加载位置"THUDM/chatglm2-6b"改为"/gemini/pretrain"或者相对路径".../.../pretrain"

然后是修改web_demo.py中最后一行(web_demo.py是gradio框架,web_demo2.py是streamlit框架服务)

python 复制代码
demo.queue().launch(share=False, inbrowser=True)
# 说明: 如果返回 "To create a public link, set share=True in launch().",
# 可能是 frpc 下载与安装失败,可在代码中设置程序本地运行以规避
# 改为下面形式,其中77应该是你镜像开放的端口号,我这里是77
demo.queue().launch(share=False, inbrowser=True, server_name='0.0.0.0', server_port=77)

以上代码适配完毕。接下来,运行!

bash 复制代码
// 在ChatGLM3文件夹下运行
// gradio
python web_demo.py

// streamlit
// 需要根据启动后出现的端口号,新增一个容器外部端口,再用外部访问链接访问后,就可以加载模型了
streamlit run web_demo2.py

运行效果,很丝滑

gradio:

streamlit:

3.总结

趋动云平台的使用还是十分简洁的,本地项目代码可保存,也可以方便地使用临时制作镜像功能制作镜像(虽然只有10次),社区中镜像资源,模型与数据都比较多,一切都是现成的,上桌就可以吃饭,过程很丝滑,对小白友好。这次依赖中都包含版本号,没有因为依赖版本问题导致部署失败,很赞。ChatGLM3-6B的效果也还可以,特别是对中英文的支持,感觉是国内最好的基础模型,期待其微调的表现。

参考

1.如何用免费GPU线上跑AI项目实践【DataWhale】
2.配置pip国内源链接

相关推荐
在所不辞兄7 分钟前
为什么神经网络对对抗扰动和分布偏移往往比较脆弱,而人类感知相对更鲁棒?
人工智能·深度学习·神经网络·机器学习
szxinmai主板定制专家1 小时前
储能 EMS、微网控制器选型:RK3588、RK3576、RK3568+FPGA 怎么选?多网、多 CAN、EMC 设计权衡
人工智能·深度学习·机器学习·fpga开发·工业网关·rk3576·电力网关
Dawson Zhu1 小时前
【AI Infra小白入门⑦】Transformer架构工程拆解:从Attention到MLA的优化密码
人工智能·语言模型·架构·aigc·agi
鬼手点金2 小时前
Harness 工程:模型之外的竞争力
服务器·人工智能·深度学习·机器学习·bug
结局无敌2 小时前
React Native for OpenHarmony 实战:三方库 react-native-paper 的鸿蒙化适配指南
javascript·人工智能·深度学习·react native·react.js·ecmascript·harmonyos
在所不辞兄2 小时前
【神经网络干货】把指数级计算拆成四条一维路径:可分离 PI-DeepONet 如何破解高维 PDE
人工智能·深度学习·神经网络·机器学习
CV爱数码2 小时前
论文精读|FBPConvNet:先 FBP 再 U-Net,深度学习 CT 重建的起点
人工智能·深度学习·ct·重建
xiaoye-duck2 小时前
《C++ 项目:手写大模型接入 SDK》Trae IDE 开发环境搭建与依赖管理
c++·ide·语言模型
一麻袋土豆灬2 小时前
Workbuddy模型名后面那个 0.11x 是什么意思
大数据·程序人生·语言模型·ai编程
结局无敌2 小时前
React Native for OpenHarmony 实战:三方库 react-native-progress-steps 的鸿蒙化适配指南
javascript·人工智能·深度学习·react native·react.js·harmonyos