大模型学习笔记(一):部署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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Hive SQL必刷练习题:同时在线人数问题(*****)

问题描述: 思路: ​ 因为有进直播间时间,和出直播间人数。所以我可以统计,进来一个是不是人数就会加1,出去一个,人数就会减1。 ​ 所以可以给进直播间的时间标记一个1,出直播间的时间标记一个…

柚见第十二期(随机匹配)

随机匹配 目的 为了帮大家更快地发现和自己兴趣相同的朋友 问题 匹配 1 个还是匹配多个? 答:匹配多个,并且按照匹配的相似度从高到低排序 怎么匹配?(根据什么匹配) 答:标签 tags 还可以根据 us…

【数据可视化】使用Python + Gephi,构建中医方剂关系网络图!

代码和示例数据下载 前言 在这篇文章中,我们将会可视化 《七版方剂学》 的药材的关系,我们将使用Python制作节点和边的数据,然后在Gephi中绘制出方剂的网络图。 Gephi是一个专门用于构建网络图的工具,只要你能提供节点和边的数…

Microsoft Word 符号 / 特殊符号

Microsoft Word 符号 / 特殊符号 1. 插入 -> 符号 -> 其他符号 -> Wingdings 2References 1. 插入 -> 符号 -> 其他符号 -> Wingdings 2 ​ References [1] Yongqiang Cheng, https://yongqiang.blog.csdn.net/

Android FrameWork 学习路线

目录 前言 学习路线: 1.基础知识 2、AOSP 源码学习 3. AOSP 源码编译系统 4. Hal与硬件服务 5.基础组件 6. Binder 7. 系统启动过程分析 8. 应用层框架​编辑 9. 显示系统 10. Android 输入系统 11. 系统应用 前言 Android Framework 涉及的行业相当广…

SpringAI——Java生态接入LLM

最近,Spring官网发布了SpringAI,可点此查看https://spring.io/blog/2024/03/12/spring-ai-0-8-1-released,对于SpringAI的介绍,可看官方文档:https://spring.io/projects/spring-ai#overview。 本文将使用SpringAI配合…

Linux内核有什么之块设备驱动有什么第四回 —— 邂逅的三个文件系统之二:实际文件系统(1)

接前一篇文章:Linux内核有什么之块设备驱动有什么第三回 —— 邂逅的三个文件系统之一:devtmpfs 本文内容参考: 34 | 块设备(上):如何建立代理商销售模式?-趣谈Linux操作系统-极客时间 Linux内…

vscode通过多个跳板机连接目标机(两种方案亲测成功)

1、ProxyJump(推荐使用) 需要OpenSSH 7.3以上版本才可使用,可用下列命令查看: ssh -V ProxyJump命令行使用方法 ssh -J [email protected]:port1,[email protected]:port2 一层跳板机: ssh dst_usernamedst_ip -…

【Spring 篇】SpringMVC拦截器:给你的应用增添色彩

嗨,亲爱的小伙伴们!欢迎来到这段关于SpringMVC拦截器的奇妙之旅。今天我们要一探究竟,深入挖掘拦截器的神秘面纱,看看它是如何在你的应用中悄然发挥作用的。别怕,我会用最通俗易懂的语言,一步一步带你走进这…

Python之requests实现github模拟登录

文章目录 github 模拟登录前言模拟登录流程抓包操作查看登录表单的内容登录操作 模拟登录操作在 main函数的调用获得 auth_token调用/session接口登录处理检测登录是否成功 总结: github 模拟登录 前言 前面学习了requests模块的基础学习后,接下来做一个…

c++算法学习笔记 (8) 树与图部分

1.树与图的存储 &#xff08;1&#xff09;邻接矩阵 &#xff08;2&#xff09;邻接表 // 链式前向星模板&#xff08;数组模拟&#xff09; #include <iostream> #include <cstring> #include <algorithm> using namespace std; const int N 100010, M …

GAMES104-现代游戏引擎 1

主要学习重点还是面向就业&#xff0c;重点复习八股和算法 每天早上八点到九点用来学习这个课程 持续更新中... 第一节 游戏引擎导论 第二节 引擎架构分层

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

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

Mr-Robot1靶场练习靶场推荐小白入门练习靶场渗透靶场bp爆破wordpress

下载链接&#xff1a; Mr-Robot: 1 ~ VulnHub 安装&#xff1a; 打开vxbox&#xff0c;菜单栏----管理----导入虚拟电脑 选择下载完的ova文件&#xff0c;并修改想要保存的位置&#xff08;也可以保持默认位置&#xff09; 导入完成后可以根据自己的情况去配置网络链接方式 完成…

AI健身教练-引体向上-俯卧撑计数代码-仰卧起坐姿态估计-康复训练姿态识别-姿态矫正(附代码)

在AI健身应用中&#xff0c;通过关键点检测技术可以实现对用户动作的精准捕捉和分析&#xff0c;从而进行统计计数和规范性姿态识别。 统计计数&#xff1a;比如在做瑜伽、健身操等运动时&#xff0c;系统可以通过对人体关键点&#xff08;如手部、脚部、关节等&#xff09;的…

【Java设计模式】二十五、自定义Spring IoC

文章目录 1、IoC类的定义1.1 定义bean相关的pojo类PropertyValue1.2 定义MutablePropertyValues类1.3 定义BeanDefinition类 2、定义注册表相关类2.1 BeanDefinitionRegistry接口2.2 SimpleBeanDefinitionRegistry类 3、定义解析器相关类3.1 BeanDefinitionReader接口3.2 XmlBe…

还是了解下吧,大语言模型调研汇总

大语言模型调研汇总 一. Basic Language ModelT5GPT-3LaMDAJurassic-1MT-NLGGopherChinchillaPaLMU-PaLMOPTLLaMABLOOMGLM-130BERNIE 3.0 Titan 二. Instruction-Finetuned Language ModelT0FLANFlan-LMBLOOMZ & mT0GPT-3.5ChatGPTGPT-4AlpacaChatGLMERNIE BotBard 自从Cha…

FFmpeg转码参数说明及视频转码示例

-b : 设置音频或者视频的转码码率 -b:v 只设置视频码率 -b:a 只设置音频码率 -ab: 只设置音频码率, 默认码率大小为: 128k bit/s -g: 设置视频GOP大小,表示I帧之间的间隔,默认为12 -ar: 设置音频采样率,默认0 -ac: 设置音频通道数量 默认0 -bf: 设置连…

[自研开源] MyData 数据集成之数据过滤 v0.7.2

开源地址&#xff1a;gitee | github 详细介绍&#xff1a;MyData 基于 Web API 的数据集成平台 部署文档&#xff1a;用 Docker 部署 MyData 使用手册&#xff1a;MyData 使用手册 试用体验&#xff1a;https://demo.mydata.work 交流Q群&#xff1a;430089673 概述 本篇基于…

spring boot nacos注册微服务示例demo_亲测成功

spring boot nacos注册微服务示例demo_亲测成功 先安装好Nacos Nacos安装使用 创建Maven项目 结构如图 例如项目名为: test-demo 下面有个子模块: test-demo-data-process 父模块pom.xml <?xml version"1.0" encoding"UTF-8"?> <project …