toc
一、前言
在深度学习领域,稳定扩散(Stable Diffusion)是一种强大的生成模型,近年来备受关注。稳定扩散模型通过逐步将噪声信号转化为目标图像,实现了高质量图像生成的突破性进展。相较于传统的生成对抗网络(GAN)等模型,稳定扩散技术在生成图像时展现出更加稳定和可控的特性,为图像生成任务带来了全新的可能性。然而,稳定扩散模型对计算资源和硬件设备要求较高,需要充足的显存和计算能力来支持模型的训练和推理过程,一般的用户是无法在本地进行训练和推理的。腾讯云一直是国内大模型的重要参与中,腾讯云高性能应用服务(Hyper Application lnventor,HA),是一款面向 Al、科学计算的 GPU 应用服务产品,为开发者量身打造的澎湃算力平台,今天我们就基于腾讯云HAI进行Stable Diffusion的部署和推理
二、腾讯云HAI 简介
高性能应用服务(Hyper Application Inventor,HAI)是一款面向 AI 和科学计算的 GPU/NPU 应用服务产品,提供即插即用的强大算力和常见环境。它可以帮助中小企业和开发者快速部署语言模型(LLM)、AI 绘图、数据科学等高性能应用,原生集成配套的开发工具和组件,大大提升应用层的开发生产效率。
腾讯云HAI优势:
- 简单易用: 通过简化计算、网络和存储等基础设施的配置流程,大幅降低了云服务操作和管理的复杂度。
- 应用环境快速部署: 支持多种 AI 环境快速部署,如 ChatGLM-6B、StableDiffusion 等,使用户可专注业务及应用场景创新。
- 算力种类丰富: 提供多种算力套餐选择,未来还将加入更多种类供用户选择。
与传统GPU服务器比较:
功能类别 | 传统GPU服务 | 腾讯云 HAI |
---|---|---|
环境 | 需要自行部署驱动、CUDA、Python、Notebook 等环境依赖 | 分钟级快速启动,直接交付可用应用环境 |
资源 | 需要额外购买合适的云硬盘、带宽或流量 | 打包 GPU、云硬盘、带宽及网络,一键启动 |
产品 | 需要具备一定运维知识,登录命令行界面进行操作 | 提供 WebUI 等可视化连接方式,一键进入服务,可视化配置 |
下载 | 部分访问可能遇到网络拥塞问题 | 跨境线路自动择优,支持学术资源平台访问、下载加速 |
使用场景介绍:
- AI 作画/设计: 设计师和开发者可以使用高性能应用服务快速地部署和优化 AI 绘画模型。高性能应用服务预置 Stable Diffusion 等主流 AI 作画模型及常用插件,提供 GUI 图形化界面即开即用,大幅降低上手门槛。
- AI 对话/写作: 研究者和开发者可以使用高性能应用服务快速部署和运行大型语言模型,如 LLAMA2、ChatGLM 等,进行自然语言处理任务,如文本生成、情感分析、文本分类等。
- AI 开发/测试: 高性能应用服务的预配置环境支持大多数流行的 AI 框架和工具,如 TensorFlow、PyTorch 等,使得开发者可以专注于算法设计和模型优化,无需担心硬件兼容性和软件配置问题。如新算法的原型开发、模型微调与迁移学习、深度学习框架的交叉测试等。
三、Stable Diffusion 简介
Stable Diffusion 是一种基于扩散过程的图像生成模型,可以生成高质量、高分辨率的图像。它通过模拟扩散过程,将噪声图像逐渐转化为目标图像。这种模型具有较强的稳定性和可控性,可以生成具有多样化效果和良好视觉效果的图像。
Stable Diffusion核心能力:
- 高分辨率生成:Stable Diffusion 可以生成高达 2048 x 2048 像素的高分辨率图像,可以满足各种应用需求。
- 高质量生成:Stable Diffusion 采用基于对流模型的图像生成算法,可以生成高质量、细节丰富的图像,同时避免了传统图像生成算法中出现的棋盘格状和条纹状伪影等问题。
- 灵活的控制:Stable Diffusion 提供了多种控制生成图像的参数和选项,如控制图像风格的 prior、控制图像噪声的 alpha、控制生成图像的步骤数和步长等,可以灵活控制生成图像的效果和质量。
- 可定制化:Stable Diffusion 的算法架构和实现代码开源,用户可以根据自己的需求和实际情况进行二次开发和定制化,以满足更加特定的应用需求。
- 非常规图像生成:由于 Stable Diffusion 基于对流模型的图像生成算法,因此它不仅可以生成传统的图像,还可以生成一些非常规的图像类型,如对抗样本、深度图像、流体图像等。
与Midjourney比较:
功能 | Stable Diffusion | Midjourney |
---|---|---|
收费标准 | 免费 | 三档套餐,8-60美元不等 |
上手难度比较 | 高 | 中等 |
配置要求 | 建议8G以上,显存GPU要求高,否则会有部分功能无法使用 | 网页端 |
模型数量比较 | 模型种类丰富 | 数十种 |
生成图片质量 | 中等,需要选择不同的大模lora不停调试产出型,后期熟练后-高 | 高 |
产出速度/数量 | 产出速度取决于GPU&显存可以一次自定义产出批次数量,最大数量为99 | 常规模式下一次4张,然后进行筛选,1min左右 |
四、Stable Diffusion 安装
1.账号申请,套餐购买
- 1点击链接进入 高性能应用服务 HAI 申请体验资格,地址:https://cloud.tencent.com/act/pro/hai,等待审核通过
- 2购买HAI套餐,这里提供了三个套餐供用户进行选择,我这里选择了最便宜的套餐进行购买,购买地址:高性能应用服务HAI 新春大促 (tencent.com)
- 1.3 在高性能服务页面,点击 ‘新建’按钮,进行资源创建,跳转到环境配置页面
2.环境配置,启动部署
- 2.1 应用选择,地域选择,此处我选择的是IA模型下‘‘Stable Diffusion WebUI’’,地域选择的是“北京”
- 2.2 算力配置,云硬盘配置,我选择的是“GPU 基础版”,云硬盘选了了“80G ”,够用了,点击立即购买,
- 2.3 环境配置启动,首次启动需要环境部署和模型下载,实践可能会久一点,环境部署成功之后,页面如下:
注意事项:在这里,我们可以看到我们部署机子的公网IP,还有对我们机子进行操控的一些能力,包括开机/关机,销毁等操作。
公网IP允许我们通过远程链接我们的机子,开机/关机可以让我们更加充分的利用我们的资源,我们不使用的时候,切记要关闭机子,不然它一直会作计费处理。
3.Stable Diffusion UI 使用
点击右侧“Gradio WebUI”,进入Stable Diffusion UI界面,在这个页面我们可以进行我们的常规操作,我们可以使用Stable Diffusion进行文生图,图生图,图片信息查看,模型训练,模型扩展等操作。
Stable Diffusion UI界面如下:我们可以通过Stable Diffusion 模型(chpt)进行模型选择,这里默认为v1-5-pruned-emaonly.safetensors模型。在这里我们就可以进行我们的模型创作了。
4.JupterLab 使用
点击右侧“JupterLab ”,我们进入了JupterLab页面,在这里我们可以
JupterLab页面如下:默认进来的Stable Diffusion 的jupter notebook页面,再次我们可以使用下面的命令进行相应的模型扩展安装。
模型下载安装命令如下:
## 下载ControlNet及预处理器(适配SD1.5及SDXL,需 23GB 存储空间) !wget -N http://mirrors.tencentyun.com/install/HAI/install_hai_tools.sh -P /tmp && bash /tmp/install_hai_tools.sh && python3 /root/hai_application/qcloud_hai/hai_tools/download_models_main.py --model-class controlnet Annotators
下载ControlNet及预处理器(适配SD1.5及SDXL,需 23GB 存储空间)
!wget -N http://mirrors.tencentyun.com/install/HAI/install_hai_tools.sh -P /tmp && bash /tmp/install_hai_tools.sh && python3 /root/hai_application/qcloud_hai/hai_tools/download_models_main.py --model-class controlnet Annotators
下载常用基础模型(SDXL、anthingv5,需 8.5GB 存储空间)
!wget -N http://mirrors.tencentyun.com/install/HAI/install_hai_tools.sh -P /tmp && bash /tmp/install_hai_tools.sh && python3 /root/hai_application/qcloud_hai/hai_tools/download_models_main.py --model-class checkpoint
下载常用组件(VAE、embeddings、lcm_lora,需 700MB 存储空间)
!wget -N http://mirrors.tencentyun.com/install/HAI/install_hai_tools.sh -P /tmp && bash /tmp/install_hai_tools.sh && python3 /root/hai_application/qcloud_hai/hai_tools/download_models_main.py --model-class vae embeddings lora
下载animatediff模型(需 1.7GB 存储空间)
!wget -N http://mirrors.tencentyun.com/install/HAI/install_hai_tools.sh -P /tmp && bash /tmp/install_hai_tools.sh && python3 /root/hai_application/qcloud_hai/hai_tools/download_models_main.py --model-class animatediff_model
这个页面是JupterLab的住界面,在这里我们就不光可以使用Stable Diffusion模型了,我们还可以基于HAI进行其他模型的部署和使用,这个就看个人用户是怎么规划的了,我不做过多的介绍。
五、图文创作
1.文生图测试
提示词如下:
a girl,walking,forest,path,sun,sunshine,shining on body,
white dress,blonde hair,long hair,smiling,streching arms,hands up,beautiful,happy,
trees,bush,white flower,path,outdoor,
day,sunlight,blue sky,cloudy sky,(close-up:1.5),
best quality,ultra detailed,masterpiece,hires,8k,extremely detailed CG unity 8k wallpaper,
painting,illustration,anime,game CG,
2.图生图测试
正向提示词:
best quality, masterpiece, super high resolution, 4k, adult women, asia, full body:1.4, long black hair, looking at viewer, beautiful detailed eyes, small breasts, white t-shirt:1.6, white pants:1.6, wide shot:1.3, strolling, beach:1.3, tree, beautiful detailed sky, blue sky
反向提示词:
deformed,bad anatomy,disfigured,poorly drawn face,out of frame,bad hands,unclear eyes,cloned face,bad face, disfigured, deformed, cross-eye
使用腾讯云HAI速度是真心的快啊,测试发现:
- 使用文生图,本地生成一张图片需要3 min. 5.2 sec.而HAI只需要4.8 sec.,速度差不多快了40倍。
- 使用图生图,本地生成一张图片需要2 min. 55.1 sec.,而HAI只需要46.8 sec.,速度差不多快了3倍,这个还不清楚具体原因,但是可以肯定是的HAI速度还是挺给力的。
六、腾讯云HAI使用感受
下面我梳理了几点我使用过程中的感受:
- 快:这里的快有俩个方面的意思,一方面是部署快,整个过程我们没有过多的参与,就实现了差不多20G的Stable Diffusion分钟级部署,这个对于一般开发者来说,是非常快的了。另一个快是运行快,这一点在上面的文生图和图生图中就可以明显的感觉出来。
- 易:部署Stable Diffusion对于一般开发者来说,还是有一定的难度,不光是基础运行环境的部署,还有模型的下载,对机器软硬件的要求等,都不是一般的难,但是在这里,腾讯云HAI通过简单的方式,实现了复杂应用的部署,这一点非常难能可贵。
- 聚:腾讯云HAI聚合了我们常用的模型,包括Stable Diffusion,还有大语言模型ChatGLM,Lllama等模型,同时还包括基础运行环境的部署,还有就是Stable Diffusion支持的其他三方的模型,都可以通过一句简单的命令进行下载安装,这也是腾讯云HAI的一个亮点。
对腾讯云HAI整体的使用感受非常的哇塞,简单来说就是快,易,聚,这几个方面都是我诉求点,都很好的兼顾到了,值得点赞。
小节
本节我们学习了基于腾讯云HAI进行Stable Diffusion 的部署和使用,基于腾讯云HAI进行Stable Diffusion部署确实是非常的简单容易,只需要通过简单的几个步骤就可以实现对Stable Diffusion 的部署使用,这对于新手来说是很多的福音啊,毕竟一般的本地环境不可能支持(网络 - 500GB(峰值带宽:5Mbps),GPU基础型 - 16GB+ | 8+TFlops SP,CPU - 8 核 | 内存 - 32GB)的配置,当然腾讯云HAI不单单提供了Stable Diffusion 的一键化部署,还提供了我们常用的大语言模型ChatGLM,LLama 等常用模型的简单部署,我们也可以基于HAI进行我们自己的模型推理和测试。总体使用下来,腾讯云HAI为用户提供了超乎想象的使用观感,也欢迎大家都来进行使用测试。
小编是一名热爱人工智能的专栏作者,致力于分享人工智能领域的最新知识、技术和趋势。这里,你将能够了解到人工智能的最新应用和创新,探讨人工智能对未来社会的影响,以及探索人工智能背后的科学原理和技术实现。欢迎大家点赞,评论,收藏,让我们一起探索人工智能的奥秘,共同见证科技的进步!