Allen的分享
Allen的分享

基于Amazon SageMaker Notebook快速搭建Stable Diffusion–AI作画可视化环境

本文主要介绍如何使用 Amazon SageMaker Notebook 机器学习服务轻松托管 Stable Diffusion WebUI,一键部署开箱即用的 AIGC 图片方向轻量级应用。通过 Amazon CloudFormation 基础设施即代码的服务,实现底层环境、AI 模型和前端 Stable Diffusion WebUI 的快速部署,帮助用户在15~20分钟部署一套文生图、图生图的 AI 应用。此方案适合企业级客户对 AIGC 图片方向做前期调研和快速验证、小型团队快速搭建轻量级 AI 应用的业务场景。

想要快速体验动手实验,可在文末扫描二维码,注册亚马逊云科技账号,免费领取200美元云上资源,畅快探索 AI 作画的无限魅力。

[注]:此方案目前提供基于 Stable Diffusion 1.5的图片生成,基于 DreamBooth 的图片训练和推理;暂不提供脚本(script)和插件(extension)的技术支持,读者可持续关注后续方案的功能迭代。

No.1

方案架构

https://allencj.com/wp-content/uploads/2023/06/image-1024x456.png

No.2

方案优势

● 本方案使用 CloudFormation 一键部署,仅需点击几个步骤,即可快速在您的 Amazon 账户中成功部署一套 AIGC 图片方向的 web 应用环境,交互界面简洁友好,帮助用户快速体验文本生成图片、图片生成图片等 AI 服务。

● 底层使用 Amazon SageMaker Notebook Instance 托管的 Jupyter 笔记本实例,您无需关心基础环境(如存储、网络等)的构建及底层基础设施运维。

● 方案采用全托管的 Stable Diffusion AI 模型服务(1.5轻量版本,包含 Stable Diffusion WebUI 与 InvokeAI 两个界面),具备良好的开源项目使用体验,并支持根据您的需要安装插件以扩展使用场景(如 ControlNet)。

● 用户可使用自带的图片数据微调模型,产出的模型可基于自动化流水线工具快速部署上线至推理节点,方便规模化的图片推理调用。

● 本方案完全开源,用户可以在 SageMaker Notebook 中对模型和扩展(extension)定制开发,满足自身业务需求。

No.3

方案组件

3.1 Amazon SageMaker Notebook

Amazon SageMaker 笔记本实例是运行 Jupyter Notebook 应用程序的机器学习(ML)计算实例。SageMaker 管理实例和相关资源的创建。在您的笔记本实例中使用 Jupyter 笔记本来准备和处理数据、编写代码来训练模型、将模型部署到 SageMaker 托管,以及测试或验证您的模型。

3.2 Stable Diffusion 模型

Stable Diffusion 是由 CompVis、Stability AI 和 LAION 共同开发的一个文本转图像模型,它通过 LAION-5B 子集大量的512×512图文模型进行训练,用户只要简单的输入一段文本,Stable Diffusion 就可以迅速将其转换为图像。同样,用户也可以置入图片或视频,配合文本对其进行处理。

3.3 用户交互界面

3.3.1 Stable Diffusion WebUI+使用示例

Stable Diffusion WebUI 是 Stable Diffusion 的一个浏览器交互界面,它提供了多种功能,如 txt2img、img2img 等,还包含了许多模型融合改进、图片质量修复等附加升级。通过调节不同参数可以生成不同效果,用户可以根据自己的需要和喜好进行创作。它不仅支持生成图片,使用各种各样的模型来达到你想要的效果,还能训练你自己的专属模型。

Stable Diffusion WebUI:

https://github.com/AUTOMATIC1111/stable-diffusion-webui

以文字生成图片为例,用户可在“txt2img”界面,使用提示词生成期望图片,步骤如下:

● 点击“txt2img”进入文生图界面

● 在提示词输入框内输入提示词

● 点击“Generate”按钮即可生成图片

https://allencj.com/wp-content/uploads/2023/06/image-1-1024x174.png

1、生成一对90年代中国情侣,尺寸512×512,一次生成4张图:

提示词(Prompt):A pair of young Chinese lovers, wearing jackets and jeans, sitting on the roof, the background is Beijing in the 1990s, and the opposite building can be seen

https://allencj.com/wp-content/uploads/2023/06/image-2-1024x434.png

2、生成背景为雏菊的罗马士兵半身像,尺寸512×512,一次生成4张图:

提示词(Prompt):A roman soldier with daisies in the background, bust figure

https://allencj.com/wp-content/uploads/2023/06/image-3-1024x432.png

3.3.2 InvokeAI+使用示例参考

InvokeAI 是 Stable Diffusion 的一个实现,它从开源文本到图像以及从图像到图像生成器。它提供了一个具有各种新功能和选项的简化流程,以帮助图像生成过程。

InvokeAI:

https://github.com/invoke-ai/InvokeAI

提示词(Prompt):temple in ruines, forest, stairs, columns

https://allencj.com/wp-content/uploads/2023/06/image-4-1024x476.png

提示词(Prompt):A pair of young Chinese lovers, wearing jackets and jeans, sitting on the roof, the background is Beijing in the 1990s, and the opposite building can be seen

https://allencj.com/wp-content/uploads/2023/06/image-5-1024x476.png

3.4 方案部署

3.4.1 方案部署操作步骤

1、登录控制台,在控制台页面右上角切换区域至 us-east-1。

https://allencj.com/wp-content/uploads/2023/06/image-6.png

2、在 Service 搜索框中输入 Cloudformation,点击进入。

https://allencj.com/wp-content/uploads/2023/06/image-7.png

3、创建堆栈 -使用新资源(标准)- 上传模板文件,模板在以下链接下载:

https://xiekl.s3.cn-northwest-1.amazonaws.com.cn/sd-webui.yml

4、填入堆栈名称,Instance Type 建议选择 g5.2xlarge,磁盘 Volume 大小默认为100G,选择 WebUI Type,默认是 auto 代表 Stable Diffusion WebUI,WebUI Version 选择0316,点击“下一步” 。

https://allencj.com/wp-content/uploads/2023/06/image-8.png

5、设置保持默认,点击“下一步”。

https://allencj.com/wp-content/uploads/2023/06/image-9.png

6、确认配置(维持默认即可),勾选“我确认…”,点击“提交” ,等待15-20分钟部署完成。

https://allencj.com/wp-content/uploads/2023/06/image-10.png

3.4.2 使用 Stable Diffusion WebUI 进行文生

1、创建堆栈后等待资源陆续启动(约20分钟),待堆栈状态显示为“CREATE_COMPLETE”后,点击“输出”。点击“键”为“WebUI URL”相应的“值”位置的 URL。

https://allencj.com/wp-content/uploads/2023/06/image-13-1024x441.png

2、进入 WebUI 界面,输入 Prompt,点击 generate 即可生成图片。

https://allencj.com/wp-content/uploads/2023/06/image-14.png

3.4.3 使用 Stable Diffusion WebUI进行训练(微调)

下面介绍如何使用 Stable Diffusion WebUI 训练您自己的图片。

1、首先要创建一个模型,导航到 DreamBooth ⻚面。

https://allencj.com/wp-content/uploads/2023/06/image-15-1024x463.png

2、创建成功后,如下图所示。

https://allencj.com/wp-content/uploads/2023/06/image-16.png

3、设置训练参数,导航到 Select ⻚面,如图所示。

https://allencj.com/wp-content/uploads/2023/06/image-17.png

4、在 input ⻚面,设置 Setting,Basic 的参数保持默认即可,点击右侧箭。

https://allencj.com/wp-content/uploads/2023/06/image-18-1024x639.png

5、点击 Advance 右侧箭头,展开选项卡。在 Mixed Precision 选择 fp16,Memory Attention 选择 xformers,其他选项保持默认即可,如下图所示。

https://allencj.com/wp-content/uploads/2023/06/image-19-1024x893.png

6、点击 Concepts 选项卡,在 Dataset Directory 输入实例图片所在的目录。我们事先准备了示例图片在 /data/images 中,读者也可以把自己的图像文件放在该目录中。

https://allencj.com/wp-content/uploads/2023/06/image-20-1024x893.png

7、向下拉动滚动条,在 Instance Prompt 中输入”a photo of a zxw dog”,在 Class Prompt 中输入”a photo of dog”,其他保持默认。

https://allencj.com/wp-content/uploads/2023/06/image-21-1024x893.png

8、点击⻚面上方的“Train”按钮。

https://allencj.com/wp-content/uploads/2023/06/image-22.png

9、观察右侧 Output 选项卡的训练进度,等待训练完成。

https://allencj.com/wp-content/uploads/2023/06/image-23.png

10、训练完成后,点击刷新按钮,模型列表中将出现刚训练好的模型,选择新训练的模型。

https://allencj.com/wp-content/uploads/2023/06/image-24.png

11、点击 txt2img,跳转到文生图⻚面。输入 Prompt,注意要带上 zwx 前缀,查看结果。

https://allencj.com/wp-content/uploads/2023/06/image-25-1024x393.png

12、下面介绍如何用自己的图片进行训练。在 Cloudfomation 的输出中,点击 NotebookURL 链接。

https://allencj.com/wp-content/uploads/2023/06/image-26-1024x579.png

13、如下图所示,点击 sd-webui 进入到 data/images/ 文件夹。在文件上依次点击右键,删除文件。

https://allencj.com/wp-content/uploads/2023/06/image-27.png

14、点击 Upload files 按钮,上传您自己的图片作为训练集。上传完成后,重复上述步骤完成训练过程。

https://allencj.com/wp-content/uploads/2023/06/image-28.png

No.4

总结

本文简单介绍了如何使用托管的笔记本服务 SageMaker Notebook 来一键部署 Stable Diffusion WebUI,轻松构建 AI 生成图片的界面化、快速验证环境。方案只需点击几次即可实现自动化部署,基于托管服务的特性让您无需忧心底层基础设施的搭建与运维,同时拥有良好的开源项目体验。您还可以使用自己的图片对模型进行微调,为定制特色的 AIGC 应用做好准备。

No.5

参考资料

● https://docs.aws.amazon.com/sagemaker/latest/dg/nbi.html

● https://jupyter-contrib-nbextensions.readthedocs.io/en/latest/

● https://github.com/AbdBarho/stable-diffusion-webui-docker

● https://github.com/AUTOMATIC1111/stable-diffusion-webui

● https://github.com/invoke-ai/InvokeAI

想要快速体验动手实验,即刻点击下方链接,注册亚马逊云科技账号,免费领取200美元云上资源,畅快探索 AI 作画的无限魅力:

张铮

亚马逊云科技机器学习产品技术专家,负责基于亚马逊云科技加速计算和 GPU 实例的咨询和设计工作。专注于机器学习大规模模型训练和推理加速等领域,参与实施了国内多个机器学习项目的咨询与设计工作。

杨佳欢

亚马逊云科技 AI/ML 产品经理。专注于云计算、人工智能技术领域。

赫祎诺

亚马逊云科技 AI/ML 产品经理,致力于帮助客户加速云上机器学习创新之旅。

戴怡青

亚马逊云科技解决方案顾问,曼彻斯特大学数据科学硕士,负责挖掘市场需求与热点,专注于数据科学领域,赋能和支持客户上云加速业务发展和创新

刘楚楚

亚马逊云科技解决方案顾问,昆士兰大学 IT 硕士,负责云计算市场探索与挖掘,为客户提供数字化转型咨询,帮助加速业务发展和创新。

没有标签
首页      翻墙相关      基于Amazon SageMaker Notebook快速搭建Stable Diffusion–AI作画可视化环境

发表回复

textsms
account_circle
email

Allen的分享

基于Amazon SageMaker Notebook快速搭建Stable Diffusion–AI作画可视化环境
本文主要介绍如何使用 Amazon SageMaker Notebook 机器学习服务轻松托管 Stable Diffusion WebUI,一键部署开箱即用的 AIGC 图片方向轻量级应用。通过 Amazon CloudFormation 基础设施即…
扫描二维码继续阅读
2023-06-12