chatGLM SD 项目实践-任务一 学习部署ChatGLM3-6B模型

发布于 2024-03-13  15 次阅读


登录平台中心

https://platform.virtaicloud.com/

Step.1 创建项目

  • 创建好账号之后,进入自己的空间,点击右上角的创建项目。
image-20240313163017877
  • 给项目起一个你喜欢的名称(这里以ChatGLM3为例)
image-20240313163232240
  • 选择添加镜像,搜索"PyTorch2.0.1-Conda3.9"
image-20240313163331471
  • 选择预训练模型,点击公开,搜索"chatglm3-6b",选择不要葱姜蒜上传的这个ChtaGLM3-6B模型。
image-20240313163457013
  • 都选完之后,点击右下角的创建
image-20240313163608278
  • 代码选择暂不上传。待会直接clone代码。
image-20240313163632944
  • 点击运行代码
image-20240313163658167
  • 资源配置选择:B1.large, 24G的显存足够加载模型了。其他的不需要设置,然后点击右下角的开始运行。 注意:一定要B1.large,过低配置可能无法跑通

Step.2 配置环境

等右边两个工具全部加载完毕之后,再点击JupyterLab进入开发环境~

image-20240313163928661
  • 进入界面之后是这样的,然后点击这个小加号。
image-20240313164032934
  • 点击terminal,进入终端。
image-20240313164102518

设置镜像源、克隆项目

  • 升级apt,安装unzip
apt-get update && apt-get install unzip
  • 设置镜像源,升级pip
git config --global url."https://gitclone.com/".insteadOf https://
pip config set global.index-url https://pypi.virtaicloud.com/repository/pypi/simple
python3 -m pip install --upgrade pip
  • 克隆项目,并进入项目目录
git clone https://github.com/THUDM/ChatGLM3.git
cd ChatGLM3
image-20240313164414740

修改requirements

  • 双击左侧的requirements.txt文件,把其中的torch删掉,因为我们的环境中已经有torch了,避免重复下载浪费时间【注意:删除之后要保存文件,可以使用快捷键Ctrl+S或者点击左上角的File,再点击保存】。
image-20240313164710546
  • 点击左上选项卡,重新返回终端,安装依赖,依赖安装完毕后还需要安装peft
pip install -r requirements.txt
pip install peft
image-20240313165315002

Step.3 修改web_demo_gradio.py代码

1、修改模型目录

  • 双击basic_demo 编辑web_demo_gradio.py,将加载模型的路径修改为:/gemini/pretrain,如下图所示~
image-20240313165439162

2、修改启动代码

  • 接下来还需要修改一段启动代码,将滚动条拉到最后一行,启动代码修改为如下~
demo.queue().launch(share=False, server_name="0.0.0.0",server_port=7000)
image-20240313165528083

3、添加外部端口映射

  • 在界面的右边添加外部端口:7000
image-20240313165705201

4、运行gradio界面

  • 点击左上选项卡,重新返回终端,运行web_demo_gradio.py
cd basic_demo
python web_demo_gradio.py
image-20240313165747730
  • 等待模型慢慢加载完毕,可能需要个五六分钟叭保持一点耐心 ~
image-20240313172544289

5、访问gradio页面

  • 加载完毕之后,复制外部访问的连接,到浏览器打打开
image-20240313172657416

Step.4 修改web_demo_streamlit.py代码

如果你运行了gradio,需要先杀掉这个进程,不然内存不够。

CTRL+C 可以杀掉进程~

杀掉进程之后,显存不会立刻释放,可以观察右边的GPU内存占用,查看显存释放情况。

退出进程后显存没有第一时间释放

image-20240313172738785

1、修改模型目录

  • 双击basic_demo 编辑web_demo_streamlit.py,将加载模型的路径修改为:/gemini/pretrain,如下图所示~

提示:

web_demo_gradio.py是gradio界面的启动文件

web_demo_streamlit.py是Streamlit界面启动文件

image-20240313173652774

2、运行streamlit界面

  • 点击左上选项卡,重新返回终端,运行web_demo_stream.py并指定7000端口,这样就不用再次添加外部端口映射啦~
streamlit run web_demo_streamlit.py --server.port 7000
image-20240313173744202

3、访问streamlit界面

  • 复制外部访问地址到浏览器打开,之后模型才会开始加载。等待模型记载完毕~
image-20240313173923243
image-20240313173948673
  • 加载成功后工作台后端画面
image-20240313174231501
是一名喜欢每天折腾的咸鱼! 也是一名半退役的算竞摸鱼选手,参与过icpc,天梯赛,蓝桥等比赛. --------------------------------------------------- 百度 飞桨领航团-团长 Datawhale -专业助教 上海人工智能实验室 书生·浦语实战营- 助教 --------------------------------------------------- 认证类: 华为 Harmony OS应用开发者高级认证, NISP 一级认证, H3C NE-RS网络工程师认证 --------------------------------------------------- 荣获奖项荣誉: 第十八届“挑战杯”全国大学生课外学术科技作品竞赛 “揭榜挂帅”专项赛-全国特等奖、 “美亚杯”第八届中国电子取证大赛 三等奖、 “蓝桥杯”国优、 中国高校计算机大赛-团体程序天梯赛 省高校一等奖、 “蓝桥杯”省一等奖、 H3C新华三杯 省三等奖、 中国移动“梧桐杯”大数据创新大赛 省三等奖、 百度 飞桨领航团 金牌团长
最后更新于 2024-03-13