大模型学习笔记(一):部署ChatGLM模型以及stable-diffusion模型

news2024/11/24 16:00:41

大模型学习笔记(一):部署ChatGLM模型以及stable-diffusion模型

  • 注册算力平台(驱动云平台)
    • 1.平台注册
    • 2.查看算力
    • 3.进入平台中心
  • 部署ChatGLM3-6B模型
    • 1.创建项目
    • 2.配置环境
      • 设置镜像源、克隆项目
      • 修改requirements
    • 3.修改web_demo_gradio.py代码
      • 1、修改模型目录
      • 2、修改启动代码
      • 3、添加外部端口映射
      • 4、运行gradio界面
      • 5、访问gradio页面
    • 4.修改web_demo_streamlit.py代码
      • 1、修改模型目录
      • 2、运行streamlit界面
      • 3、访问streamlit界面
  • 用免费GPU部署自己的stable-diffusion
    • 1.创建项目
    • 2. 初始化开发环境实例
    • 3. 部署模型
    • 4. 体验自己的stable diffusion

注册算力平台(驱动云平台)

1.平台注册

平台注册链接:
https://growthdata.virtaicloud.com/t/SA

2.查看算力

注册完成后,点击右上角:费用中心,可查看领取的算力。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.进入平台中心

https://platform.virtaicloud.com/

部署ChatGLM3-6B模型

ChatGLM3 是智谱AI和清华大学 KEG 实验室联合发布的新一代对话预训练模型。
推理速度比上一代提高了很多,虽然本教程有两种启动方式,但教程作者强烈推荐使用streamlit体验,效果极佳。

1.创建项目

  • 创建好账号之后,进入自己的空间,点击右上角的创建项目。

在这里插入图片描述

  • 给项目起一个你喜欢的名称,选择添加镜像
    在这里插入图片描述
  • 镜像选择pytorch2.0.1,Conda3.9
    在这里插入图片描述
  • 选择预训练模型,点击公开,选择不要葱姜蒜上传的这个ChtaGLM3-6B模型。
    在这里插入图片描述
  • 都选完之后,点击右下角的创建,代码选择暂不上传。待会直接clone代码。
    在这里插入图片描述
  • 点击运行代码
    在这里插入图片描述
  • 资源配置选择:B1.large, 24G的显存足够加载模型了。其他的不需要设置,然后点击右下角的开始运行。
    在这里插入图片描述

2.配置环境

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

在这里插入图片描述

  • 进入界面之后是这样的,然后点击这个小加号。
    在这里插入图片描述
  • 点击terminal,进入终端。
    在这里插入图片描述

设置镜像源、克隆项目

  • 升级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

在这里插入图片描述

修改requirements

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

pip install -r requirements.txt
pip install peft

在这里插入图片描述
在这里插入图片描述

3.修改web_demo_gradio.py代码

1、修改模型目录

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

在这里插入图片描述

2、修改启动代码

  • 接下来还需要修改一段启动代码,将滚动条拉到最后一行,启动代码修改为如下~

demo.queue().launch(share=False, server_name=“0.0.0.0”,server_port=7000)

在这里插入图片描述

3、添加外部端口映射

  • 在界面的右边添加外部端口:7000
    在这里插入图片描述

4、运行gradio界面

  • 点击左上选项卡,重新返回终端,运行web_demo_gradio.py

cd basic_demo
python web_demo_gradio.py

在这里插入图片描述

  • 等待模型慢慢加载完毕,可能需要个五六分钟叭保持一点耐心 ~
    在这里插入图片描述

5、访问gradio页面

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

在这里插入图片描述

4.修改web_demo_streamlit.py代码

如果你运行了gradio,需要先杀掉这个进程,不然内存不够。
CTRL+C 可以杀掉进程~
杀掉进程之后,显存不会立刻释放,可以观察右边的GPU内存占用,查看显存释放情况。

1、修改模型目录

  • 双击basic_demo 编辑web_demo_streamlit.py,将加载模型的路径修改为:/gemini/pretrain,如下图所示~
    在这里插入图片描述

2、运行streamlit界面

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

streamlit run web_demo_streamlit.py --server.port 7000

在这里插入图片描述

3、访问streamlit界面

  • 复制外部访问地址到浏览器打开,之后模型才会开始加载。等待模型记载完毕~
    在这里插入图片描述
  • 以下是模型在加载时Streamlit的画面,在工作台中看到加载完成后刷新即可正常使用。
    在这里插入图片描述
  • 加载成功后工作台后端画面

在这里插入图片描述
在这里插入图片描述

用免费GPU部署自己的stable-diffusion

1.创建项目

  1. 进入趋动云用户工作台,选择:当前空间,请确保当前所在空间是注册时系统自动生成的空间。
    注:非系统自动生成的空间,没有赠送的算力金
  2. 点击:快速创建,选择创建项目,创建新项目。
  3. 填写相关的项目信息,其中镜像选择如下。
    在这里插入图片描述
    4.数据集选择如下。
    在这里插入图片描述
    5.待项目信息完善后,镜像和数据集选择完毕之后,点击 “创建”。
    在这里插入图片描述
  4. 弹出的上传代码对话框,选择 “暂不上传”。

2. 初始化开发环境实例

之后找到最右侧 “开发”-> “初始化开发环境实例
在这里插入图片描述
按照下图进行选择

在这里插入图片描述
运行初始化中,等待约 5-10 分钟,当右侧的 网页终端 和 JupyterLab 不再是灰色时,表明工具注入成功。此时您便可在此开发环境上通过工具进行模型调优,详情可参见下一步。
在这里插入图片描述

3. 部署模型

初始化完毕,点击下图所示右侧 “网页终端
在这里插入图片描述
依次输入以下4串命令就可以啦,注意每一次命令输入之后要等它运行完毕之后再输入下一条指令,建议复制命令而不是手动输入,容易出现遗漏空格或者路径出错的情况(网页终端无法使用Ctrl+C复制和Ctrl+V粘贴,可以鼠标在页面点击右键,然后选择“复制”或者“粘贴”)。

1、解压代码及模型

tar xf /gemini/data-1/stable-diffusion-webui.tar -C /gemini/code/

2、解压配置文件到隐藏目录/root/.cache

tar xf /gemini/data-1/cache.tar -C /root/ (文件位置可能发生变化,如果报错请删除该行)

3、拷贝frpc内网穿透文件 (注意有两行 -> 两条指令)

cp /gemini/data-1/frpc_linux_amd64 /root/miniconda3/lib/python3.10/site-packages/gradio/frpc_linux_amd64_v0.2 (文件位置可能发生变化,如果报错请删除该行)
chmod +x /root/miniconda3/lib/python3.10/site-packages/gradio/frpc_linux_amd64_v0.2

4、拷贝模型文件到项目目录下

cp /gemini/data-1/v1-5-pruned-emaonly.safetensors /gemini/code/stable-diffusion-webui/

在这里插入图片描述
5、更新系统httpx依赖

pip install httpx==0.24.1

6、运行项目

cd /gemini/code/stable-diffusion-webui && python launch.py --deepdanbooru --share --xformers --listen

当命令窗口出现如下两个网址时表示部署成功,可以复制右侧的外部访问网址访问webui
在这里插入图片描述
访问这个网址就可以直接使用啦
在这里插入图片描述

4. 体验自己的stable diffusion

登录进去之后输入prompt提示词

(masterpiece),(best quality),(Realistic photos),a cute girl, war a cap, headphones, summer, sunset, mountain road, flowers, nice weather, healing sense, detailed, half-length shot, anime style, 8k

注意:体验完后,一定要停止项目运转。一定要停止项目运转。一定要停止项目运转。不然会一直消耗GPU资源。
在这里插入图片描述

参考资料:https://datawhaler.feishu.cn/docx/BwjzdQPJRonFh8xeiSOcRUI3n8b

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1523299.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

leetcode刷题日记之串联所有单词

题目描述 解题思路 一开始考虑的就是暴力破解,每次切片切words中字母的个数,然后根据每个词语的长度进行进一步的切片,将切出来的单词放入列表,然后每次对比一次,如果存在,就从原来的列表中,删…

AcWingP1101. 献给阿尔吉侬的花束-bfs(宽度优先搜索)

题目链接 搜宽&#xff1a;每次取出队头元素&#xff0c;然后将该队头元素扩展出的所有元素放到队尾 需要的数组&#xff1a; 判重数组&#xff1a;st[] 一般是入队时判重&#xff08;这样可以保证每一个点入队一次&#xff09;queue 队列 宽搜一般模板 queue <- 初始…

webots的安装和体验

刚知道webots是一个机器人仿真软件&#xff0c;好像离开硬件可以自己玩玩&#xff0c;而且有人形机器人的源代码&#xff0c;试试看吧。 Cyberbotics: Robotics simulation with Webotshttps://www.cyberbotics.com/ 官网下载&#xff0c;有windows版本&#xff0c;看上去好简…

java小型人事管理系统

开发工具&#xff1a; MyEclipseJdkTomcatSQLServer数据库 运行效果视频&#xff1a; https://pan.baidu.com/s/1hshFjiG 定制论文&#xff0c;联系下面的客服人员

微服务网关Spring Cloud Gateway有什么作用?

一、背景 现在的spring cloud生态中&#xff0c;spring cloud gateway是一个非常重要的组件。它是一款API网关服务&#xff0c;在微服务架构中扮演了关键角色&#xff0c;它为微服务架构中的请求提供了路由、转发和过滤的功能。此外&#xff0c;还提供了负载均衡、限流和鉴权的…

ARCGIS PRO SDK 图层唯一值渲染

一、如果【地块回退】为面, 按"DKMC"字段&#xff0c;在面中心配置符号Pushpin Await QueuedTask.Run(Sub()pFeaturelayer pmap.FindLayers("地块回退").First()-----------------唯一值渲染Dim Fields New List(Of String) From {"DKMC"} …

Unity中UGUI中的PSD导入工具的原理和作用

先说一下PSD导入工具的作用&#xff0c;比如在和美术同事合作开发一个背包UI业务系统时&#xff0c;美术做好效果图后&#xff0c;程序在UGUI中制作好界面&#xff0c;美术说这个图差了2像素&#xff0c;那个图位置不对差了1像素&#xff0c;另外一个图大小不对等等一系列零碎的…

【嵌入式DIY实例】-自动割草机器

自动割草机器 文章目录 自动割草机器1、割草机器介绍2、硬件准备3、功能设计4、硬件接线5、代码实现本文将介绍如何使用 Arduino 构建一个简易自动割草机机器人或割草机机器人。该机器人可以自动剪掉花园里多余的草。如果花园里有障碍物,它会自动改变方向。帮助以减少人力。 警…

AI - 支持向量机算法

&#x1f9e8;概念 支持向量机&#xff08;Support Vector Machine, SVM&#xff09;是一种强大的机器学习算法&#xff0c;主要用于解决二分类问题。 SVM的核心思想是找到一个超平面&#xff0c;这个超平面能够最好地将数据分为两类&#xff0c;即在保证分类准确的情况下&am…

LGB2028 反向输出一个三位数

&#xff08;LG是洛谷&#xff08;洛谷&#xff09;的意思&#xff09; 题目链接&#xff1a;B2028 题目描述 将一个三位数反向输出&#xff0c;例如输入 358&#xff0c;反向输出 853。 输入格式 一个三位数 n。 输出格式 反向输出 n。 输入输出样例 输入 #1 100 输…

MySQL语法分类 DQL(3)排序查询

为了更好的学习这里给出基本表数据用于查询操作 create table student (id int, name varchar(20), age int, sex varchar(5),address varchar(100),math int,english int );insert into student (id,name,age,sex,address,math,english) values (1,马云,55,男,杭州,66,78),…

CI/CD实战-gitlab代码仓库 2

gitlab安装部署 实验虚拟机最小需求&#xff1a;4g内存&#xff0c;4核cpu 下载源&#xff1a;Index of /gitlab-ce/yum/el7/ | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror 安装依赖性&#xff1a; 安装软件&#xff1a; 修改依赖性配置文件 重新自动化配置 登录…

Windows kafka 简单集群搭建

Windows kafka 简单集群搭建 文章目录 Windows kafka 简单集群搭建1.环境说明2.Zookeeper集群搭建2.1 ZooKeeper下载2.2 ZooKeeper安装2.2.1 解压zookeeper-3.4.8.tar.gz2.2.2 进入conf目录下&#xff0c;复制zoo_sample.cfg为zoo.cfg2.2.3 修改zoo.cfg文件2.2.4 生成myid文件2…

Spring MVC 如何接收请求

1. 请求 浏览器访问不同的路径就是发送不同的请求&#xff0c;在发送请求时&#xff0c;可能会带有一些参数&#xff0c;所以我们就需要在后端接受参数。 2. 传递单个参数 接收单个参数&#xff0c;在Spring MVC中直接使用方法中的参数即可&#xff1a; RequestMapping(&qu…

C++中的struct与class详解

在C中&#xff0c;struct和class都是用户定义类型&#xff08;UDT&#xff09;的关键字&#xff0c;用于封装数据和函数。尽管它们在许多方面都非常相似&#xff0c;但也存在一些关键差异。 1. 默认访问权限 • **struct**&#xff1a;默认的成员访问权限是public。• **clas…

jvm的垃圾回收器以及触发full gc的场景

JVM&#xff08;Java虚拟机&#xff09;的垃圾回收器有很多种&#xff0c;主要包括以下几种&#xff1a; Serial收集器&#xff1a;串行收集器是最古老、最稳定的收集器。它使用单个线程进行垃圾收集工作&#xff0c;在进行垃圾回收时会暂停所有用户线程。 ParNew收集器&#…

nginx实时流量拷贝ngx_http_mirror_module

参考&#xff1a; Module ngx_http_mirror_module Nginx流量拷贝ngx_http_mirror_module模块使用方法详解 ngx_http_mirror_module用于实时流量拷贝 请求一个接口&#xff0c;想实时拷贝这个请求转发到自己的服务上&#xff0c;可以使用ngx_http_mirror_module模块。 官网好像…

本地用AIGC生成图像与视频

最近AI界最火的话题&#xff0c;当属Sora了。遗憾的是&#xff0c;Sora目前还没开源或提供模型下载&#xff0c;所以没法在本地跑起来。但是&#xff0c;业界有一些开源的图像与视频生成模型。虽然效果上还没那么惊艳&#xff0c;但还是值得我们体验与学习下的。 Stable Diffu…

python3GUI--qt仿暴风影音视频播放器By:PyQt5(附下载地址)

文章目录 一&#xff0e;前言二&#xff0e;环境1.开发环境2.打包环境3.运行环境 三&#xff0e;软件截图1.启动页2.视频播放3.音频播放4.其他1.托盘2.对话框 四&#xff0e;功能总览五&#xff0e;代码展示&心得1.UI设计2.如何防止卡顿3.如何自定义组件 五&#xff0e;思考…

实在智能Agent——RPA终极进化方向

RPA技术备受瞩目&#xff0c;它通过“机器人”自动化了人力执行的重复性、低复杂度任务&#xff0c;解放了员工并降低了企业成本。RPA机器人全天候运行&#xff0c;避免人为错误&#xff0c;高效处理任务&#xff0c;成为处理事务、操作数据、回应查询的理想选择。在管理后台&a…