AIGC(AI-Generated Content)指通过人工智能技术自动生成内容的生产方式,其中Stable Diffusion文生图模型是开源社区非常流行的跨模态生成模型,它能基于用户给定的文本自动生成匹配的图像。Stable Diffusion WebUI提供了网页端交互界面,支持低代码化的文图生成配置。
本文将展示如何通过阿里云机器学习平台PAI的模型在线服务PAI-EAS来快速部署Stable Diffusion文生图模型和启动WebUI进行推理服务。与部署到本地的方式相比,通过PAI-EAS可以快速拉起稳定的在线AI绘图应用,并具备按需弹性扩缩容、多实例集群版、管理模型及插件等企业级能力。
准备工作
- 已开通PAI-EAS并创建默认工作空间;
- 如果您是PAI-EAS的新用户,也可以免费领取PAI-EAS的免费试用名额开启实验,详情请参见本文“05 免费体验”。
部署EAS服务
将Stable Diffusion模型部署为AI-Web应用服务,具体操作步骤如下。
1. 进入PAI EAS模型在线服务页面。
a. 通过PAI官网首页登录PAI控制台。
https://www.aliyun.com/product/bigdata/learn
b. 在左侧导航栏单击工作空间列表,在工作空间列表页面中单击待操作的工作空间名称,进入对应工作空间内。
c. 在工作空间页面的左侧导航栏选择模型部署 > 模型在线服务(EAS),进入PAI EAS模型在线服务页面。
2. 在PAI EAS模型在线服务页面,单击部署服务。
3. 在部署服务页面,配置以下关键参数。
参数 |
描述 |
服务名称 |
自定义服务名称。本案例使用的示例值为:sdwebui_demo。 |
部署方式 |
选择镜像部署AI-Web应用。 |
镜像选择 |
在PAI平台镜像列表中选择stable-diffusion-webui;镜像版本选择2.2。 |
资源组种类 |
选择公共资源组。 |
资源配置方法 |
选择常规资源配置。 |
资源配置选择 |
必须选择GPU类型,实例规格推荐使用ml.gu7i.c8m30.1-gu30(性价比最高)。 |
镜像配置完成后,系统会自动配置运行命令、端口号等参数,您无需修改配置。若您是免费试用用户,资源部署信息选择试用活动的机型。
4. 单击部署,等待一段时间即可完成模型部署。当模型状态为运行中时,服务部署成功。
启动WebUI进行模型推理
1. 单击目标服务服务方式列下的查看Web应用。
2. 在WebUI页面,进行模型推理验证。
在文生图页签提示词(Prompt)区域,自定义输入内容,单击生成,即可开启您的AIGC之旅。
本案例在提示词(Prompt)区域输入cute dog,单击生成,推理结果如下图所示。
常见问题及解决方法
4.1 图片生成速度慢怎么办?
您可以通过开启Blade或xFormers的方法进行模型服务加速。Blade和xFormers方法使用优势如下。
- Blade是由PAI平台提供的加速工具,在不同的图像尺寸和迭代步数下有不同的加速效果,最高可实现3.06倍的加速效果,为您的AIGC之旅带来更高性能和更低延时。
- xFormers是SDWebUI自带的开源加速工具,拥有更广泛的模型适配性。
开启Blade或xFormers的方法如下。
- 开启Blade方法
a. 单击服务操作列下的更新服务。
b. 在部署服务页面运行命令中增加--blade指令,即./webui.sh --listen --port=8000 --blade。
c.单机部署。
- 开启xFormers方法
a. 单击服务操作列下的更新服务。
b. 在部署服务页面运行命令中增加--xformers指令,即./webui.sh --listen --port=8000 --xformers。
c. 单机部署
4.2 您自己的模型及输出目录等内容如何挂载?
如果您自己在开源社区下载了模型或自己训练得到了Lora或SD等模型要用于SDWebUI,或您需要保存输出数据到您自己的OSS Bucket目录,或需要进行一些第三方的配置和插件安装等,您可以通过如下文件挂载方式来实现。1. 前往阿里云对象存储OSS,创建一个Bucket和空文件目录。
例如:oss://bucket-test/data-oss/,其中:bucket-test为OSS Bucket名称;data-oss为该Bucket下的空文件目录。
2. 单击服务操作列下的更新服务。
3. 在模型服务信息区域,配置以下参数。
参数 |
描述 |
模型配置 |
单击填写模型配置,进行模型配置。
|
运行命令 |
在运行命令中增加--data-dir 挂载目录,其中挂载目录需要与模型配置中挂载路径的最后一级目录一致。例如:./webui.sh --listen --port=8000 --data-dir data-oss。 |
4. 单击部署,更新模型服务。
PAI会自动在您配置的OSS空文件目录下创建如下目录结构,并复制必要的数据到该目录下。因此,建议您在服务启动成功后,再向指定的目录上传数据。
5. OSS目录结构自动创建成功后,您可以将已下载的或训练获得的模型上传到models下指定的模型目录中,单击目标服务操作列下的>重启服务,服务重启成功后,即可生效。
后续您可以单击目标服务服务方式列下的查看Web应用,启动WebUI。在WebUI页面Stable Diffusion模型(ckpt)下拉列表中切换指定模型,进行模型推理验证。
4.3 如何更方便的管理自己的文件系统?
如果您想要更方便地和本地文件系统进行交互,在WebUI应用页面直接打开文件系统,您可以参照以下步骤进行设置。
1. 您可以在挂载OSS路径的情况下(4.2 详情请参见您自己的模型及输出目录等内容如何挂载?),在创建或更新服务时,在运行命令文本框中增加--filebrowser指令,即./webui.sh --listen --port=8000 --blade --data-dir data-oss --filebrowser。
2. 服务部署完成后,单击服务方式列下的查看Web应用。
3. 在WebUI页面,单击FileBrowser页签。您可以直接看到文件系统,并且可以上传本地的文件到文件系统中,也可以下载文件到本地。
免费体验
从2023年4月起,阿里云产品试用中心正式开放 PAI-EAS 的试用活动,如果您是 PAI-EAS 的新用户且通过阿里云实名认证,即可免费体验 PAI-EAS 模型推理服务。
阿里云试用中心地址:
选择“AI与机器学习”分类 -> “机器学习平台 PAI” -> “模型在线服务PAI-EAS”。
【往期回顾】: