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

大模型学习笔记(一):部署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.mzph.cn/news/742812.shtml

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

相关文章

【git报错】【重置代理】Failed to connect to github.com port 443: Connection refused

重置代理 git config --global --unset http.proxy git config --global --unset https.proxy

VC-旅游系统-213-(代码+说明)

转载地址: http://www.3q2008.com/soft/search.asp?keyword旅游系统 旅游信息管理系统开题报告 一、研究目的 旅游信息管理系统能帮助旅行社在游客的市场开拓、游客的信息管理、客户服务等方面进行综合处理。使旅行社能够准确的掌握客户的市场动态,充分了解对客户…

嵌入式学习day37 数据结构

1.sqlite3_open int sqlite3_open( const char *filename, /* Database filename (UTF-8) */ sqlite3 **ppDb /* OUT: SQLite db handle */ ); 功能: 打开数据库文件(创建一个数据库连接) 参数: filename:数据库文…

华为配置OSPF的Stub区域示例

配置OSPF的Stub区域示例 组网图形 图1 配置OSPF Stub区域组网图 Stub区域简介配置注意事项组网需求配置思路操作步骤配置文件 Stub区域简介 Stub区域的ABR不传播它们接收到的自治系统外部路由,在Stub区域中路由器的路由表规模以及路由信息传递的数量都会大大减少…

有来团队后台项目-解析7

sass 安装 因为在使用vite 创建项目的时候,已经安装了sass,所以不需要安装。 如果要安装,那么就执行 npm i -D sass 创建文件 src 目录下创建文件 目录结构如图所示: reset.scss *, ::before, ::after {box-sizing: border-…

使用CrossOver 在Mac 运行Windows 软件|D3DMetal是什么技术,

CrossOver Mac 使用特点 • 免费试用 14 天,可使用 CrossOver Mac 全部功能,• 试用过期会保留之前安装的 Windows 软件• 使 Mac 运行 Windows 程序 使用CrossOver在Mac上运行Windows软件是一个方便且无需安装完整Windows操作系统的解决方案。CrossOve…

macOS安装maven

官网下载maven https://maven.apache.org/download.cgi如下图所示: 1.解压并复制到指定的目录中2.配置环境变量 vim ~/.bash_profile进行文件的修改 export M2_HOME/Users/fanfan/company/apache-maven-3.9.6 export PATH$PATH:$M2_HOME/bin3.终端中输入source ~…

如何从笔记本电脑恢复已删除的照片

人们相信照片是回忆一生中最难忘事件的最佳媒介。人们在计算机上收集超过 5 GB 的照片是很常见的。然而,在笔记本电脑上保存照片并不安全,因为您可能会因以下原因有意或无意地删除笔记本电脑上的照片: 您的笔记本电脑存储空间几乎已满。您必…

【Vite+Ts】自动按需引入Element-Plus

安装插件 cnpm i -D unplugin-vue-components unplugin-auto-import unplugin-element-plus修改vite.config.ts // vite.config.ts import AutoImport from "unplugin-auto-import/vite"; import Components from "unplugin-vue-components/vite"; impor…

WWW2024 | PromptMM:Prompt-Tuning增强的知识蒸馏助力多模态推荐系统

论文:https://arxiv.org/html/2402.17188v1 代码:https://github.com/HKUDS/PromptMM 研究动机 多模态推荐系统极大的便利了人们的生活,比如亚马逊和Netflix都是基于多模态内容进行推荐的。对于研究,人们也遵循工业界的趋势,进行modality-aware的用户…

智能化工厂大屏监控

通过采集和整合工厂各个环节的数据,包括设备状态、生产进度、质量指标、能源消耗等,并将这些数据以图表、动画、报表等形式展示在大屏上。 智能化工厂大屏监控可以提供以下优势: 实时监控:通过大屏幕展示工厂各项数据&#xff0c…

分布式链路追踪(一)SkyWalking(1)介绍与安装

一、介绍 1、简介: 2、组成 以6.5.0为例,该版本下Skywalking主要分为oap、webapp和agent三部分,oap和webapp分别用于汇总数据和展示,这两块共同组成了Skywalking的平台;agent是探针,部署在需要收集数据的…

如何“使用Docker快速安装Jenkins,在CentOS7”?

1、运行 docker run -d --namejenkins -p 8080:8080 jenkins/jenkins 2、查看日志 ,使用 "docker logs -f jenkins",可以持续刷新日志 docker logs jenkins 3、通过命令查看密码 docker exec -it jenkins cat /var/jenkins_home/secrets/initialAdminP…

Spring框架----AOP全集

一:AOP概念的引入 首先我们来看一下登录的原理 如上图所示这是一个基本的登录原理图,但是如果我们想要在这个登录之上添加一些新的功能,比如权限校验 那么我们能想到的就有两种方法: ①:通过对源代码的修改实现 ②&a…

vim相关命令

vim 三种工作模式:命令模式、文本模式、末行模式 命令模式:通过vi hello.c 命令进入i a o 、I A O、 s S 可以切换到文本模式 ,写完后保存退出 o光标 回到下一行O光标回到上一行s删除当前字母S删除一整行A回到该行末尾处a光标回到下一个输入…

go语言操作etcd

首先在后台启动etcd 写一段go代码 package mainimport ("context""fmt"clientv3 "go.etcd.io/etcd/client/v3""time" )func main() {// 创建客户端,连接etcdcli, err : clientv3.New(clientv3.Config{Endpoints: []strin…

YOLOv5目标检测学习(5):源码解析之:推理部分dectet.py

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、导入相关包与路径、模块配置1.1 导入相关的python包1.2 获取当前文件的相对路径1.3 加载自定义模块1.4 总结 二、执行主体的main函数所以执行推理代码&…

手写超级好用的rabbitmq-spring-boot-start启动器

手写超级好用的rabbitmq-spring-boot-start启动器 文章目录 1.前言2.工程目录结构3.主要实现原理3.1spring.factories配置3.2EnableZlfRabbitMq配置3.3RabbitAutoConfiguration配置3.4ZlfRabbitMqRegistrar配置 4.总结 1.前言 由于springBoot官方提供的默认的rabbitMq自动装配不…

Python代码操作PPT:PowerPoint演示文稿的合并与拆分

多个PowerPoint演示文稿的处理可能会成为非常麻烦的工作。有时需要将多个演示文稿合并为一个演示文稿,从而不用在演示时重复打开演示文稿;有时又需要将单个演示文稿拆分为多个演示文稿,用于其他目的或进行分发。手动进行这些操作会非常麻烦&a…

阿里云环境下,从仅知的一个外网域名如何找出前端程序的部署所在和启动命令

一、背景 一个年久失修的前端项目,临时接到需求要迭代,三四年未迭代过的项目,交接更无从谈起。 所幸的是,源码还在,知道外网访问的入口地址。 本文试着带你一起找到该前端项目部署在哪台机器,以及发布的过…