文档

5分钟使用EAS一键部署Stable Diffusion实现文生图能力

更新时间:

Stable Diffusion是一个开源的深度学习模型,能够以较低的计算需求和高效的性能根据文本提示生成对应的图像。阿里云基于Stable Diffusion,在其基础上封装了更加简洁易操作的UI,为您提供了AI模型应用Stable-Diffusion-WebUI(文中简称SD WebUI)。本文为您介绍如何通过EAS一键部署Stable-Diffusion-WebUI服务。

部署Stable Diffusion模型

  1. 进入模型在线服务EAS。

    1. 登录PAI控制台

    2. 在左上角顶部菜单栏选择目标地域。

    3. 在左侧导航栏选择模型部署 > 模型在线服务(EAS),在下拉框中选择目标工作空间后单击进入EAS

  2. 推理服务页签下单击部署服务,然后单击自定义部署卡片,配置以下关键参数,其余参数取默认:

    参数

    示例值

    说明

    模型服务信息

    服务名称

    sdwebui_demo

    自定义服务名称,在同一地域下全局唯一。

    部署方式

    镜像部署AI-Web应用

    服务的部署方式。

    镜像选择

    • 镜像类型:PAI平台镜像

    • 镜像名称:stable-diffusion-webui

    • 镜像版本:4.2-standard

    选择stable-diffusion-webui的镜像,本方案以部署镜像版本4.2-standard举例说明,您可以根据实际情况选择。

    选中阅读并同意PAI服务专用协议

    运行命令

    • 运行命令:./webui.sh --listen --port 8000 --skip-version-check --no-hashing --no-download-sd-model --skip-prepare-environment --api --filebrowser

    • 端口号:8000

    完成上述配置后,系统将自动生成相应的运行命令,无需进行修改。

    资源部署信息

    资源组种类

    公共资源组

    选择用于部署和运行服务的资源。

    资源配置方法

    常规资源配置

    本方案选择常规资源配置

    资源配置选择

    • 资源类型:GPU

    • 实例规格:ml.gu7i.c16m60.1-gu30

    使用GPU类型,例如选择规格为ml.gu7i.c16m60.1-gu30,此规格在满足模型正常运行的条件下性价比高。

    系统盘配置

    额外系统盘:100 G

    需额外配置的系统盘内存大小。

    完成上述配置后,在对应配置编辑区域会自动生成对应的JSON文件。

  3. 单击部署,大约等待5分钟后即可完成模型部署。

启用Web应用并进行模型推理

  1. 单击上述步骤中已部署的模型服务方式列的查看Web应用

  2. 进行模型推理验证。

    在SD WebUI页面文生图页签中,输入正向提示词Prompt,例如cute dog,然后单击生成,即可完成AI绘图,效果图如下:

    image

常见问题

图片生成速度慢怎么办?

  1. 在模型在线服务EAS页面,单击已部署的模型操作列的更新服务

  2. 更新运行命令,开启Blade或xFormers进行模型服务加速。

    image

    加速方式

    说明

    Blade

    由PAI平台提供的加速工具,在不同的图像尺寸和迭代步数下有不同的加速效果,最高可实现3.06倍的加速效果,为您的AIGC之旅带来更高性能和更低延时。

    运行命令示例:./webui.sh --listen --port=8000 --blade

    xFormers

    SD WebUI自带的开源加速工具,拥有更广泛的模型适配性。

    运行命令示例:./webui.sh --listen --port=8000 --xformers

  3. 单击更新

如何挂载自己的模型及输出目录等内容

如果您自己在开源社区下载了模型或自己训练得到了LoRA或SD等模型要进行部署,或需要保存输出数据到您自己的OSS Bucket目录,或需要安装第三方插件等,您可以通过文件挂载方式实现。

  1. 创建OSS Bucket,详情请参见OSS控制台快速入门

  2. 在模型在线服务EAS页面,单击已部署的模型操作列的更新服务

  3. 模型服务信息区域,单击填写模型配置,并配置运行命令

    image

    参数

    示例值

    说明

    模型配置

    • 挂载类型:OSS挂载

    • OSS路径:步骤1中创建的路径,如oss://bucket-test/data-oss/

    • 挂载路径:/code/stable-diffusion-webui/data-oss

    • 是否只读:关闭

    单击填写模型配置,选择OSS路径和挂载路径。

    运行命令

    • 运行命令:./webui.sh --listen --port=8000 --data-dir data-oss

    • 端口号:8000

    在运行命令中增加参数:

    --data-dir:配置为data-oss,即与挂载路径中最后一级目录一致。

  4. 单击更新,PAI会自动在您配置的OSS空文件目录下创建如下目录结构。因此,建议您在服务启动成功后,再向指定的目录上传数据。

    image

  5. 将已下载的或训练获得的模型上传到models目录下指定位置,然后单击目标服务操作列下的image>重启服务,服务重启成功后,即可生效。

  6. 在SD WebUI页面切换模型,进行模型推理验证。

    image

服务长时间卡住怎么办?

  • 您可以先尝试重新打开SD WebUI界面或重启EAS服务来解决:

    • 单击目标服务服务方式列下的查看Web应用,重新打开SD WebUI。

    • 单击目标服务操作列下的image>重启服务,重启EAS服务。

  • 如果重启后长时间无法解决,则大概率是因为服务需要从外网下载模型或插件等内容导致。EAS默认不开公网,镜像可以离线启动,挂载模型也无需网络。但部分插件的使用,需要依赖从互联网下载相关内容。此时推荐您根据日志,找到模型或插件的下载路径,手动下载模型并上传到OSS进行挂载,详情请参见如何挂载自己的模型及输出目录等内容。如果仍需要连接互联网,请参见配置网络连通公网连接及白名单配置进行公网连接配置。

如何多人同时使用一个SD WebUI出图?

本文部署的示例为单机版,仅支持单个人使用,多人使用会出现不兼容问题。当您需要企业级多人使用时,可以部署集群版SD WebUI,即在部署服务时,版本可选择为4.2-cluster-webui即可,同时建议多人使用时开启多个服务实例数,来保证AI绘画的出图速度和稳定性。

image

部署集群版SD WebUI后,有以下优势:

  • 多个团队可以通过相同的URL访问应用,互不干扰。

  • 支持多人共享一张卡,同时单一服务按照实际使用量进行弹性扩缩容,从而提高集群的使用率,实现降本增效的目的。

  • 对接企业内部账号体系,按用户身份区分每个人的出图模型、图片成果和插件等。

如何将WebUI页面的默认语言切换为英文?

  1. 在SD WebUI页面单击设置

  2. 在左侧导航栏单击用户界面,在右侧页面本地化区域,选择

  3. 在SD WebUI页面上方,单击保存设置,保存成功后单击重启前端

    重新刷新WebUI页面,即可切换为英文。

如何更方便地管理自己的文件系统?

  1. 在创建或更新服务时(已挂载OSS路径),运行命令中增加参数--filebrowser,例如./webui.sh --listen --port=8000 --blade --data-dir data-oss --filebrowser

    image

  2. 服务部署完成后,单击服务方式列下的查看Web应用

  3. 在SD WebUI页面,单击FileBrowser页签。您可以直接查看文件系统,或进行上传、下载操作。

    image

相关文档

  • 本页导读 (1)
文档反馈