AIGC中的Stable Diffusion文生图模型是开源流行的跨模态生成模型,用于生成与给定文本对应的图像。通过EAS,您可以一键部署AIGC Stable Diffusion SDWebUI绘画的AI-Web应用,以便在该应用中进行模型推理验证,实现自动生成图像等功能。
背景信息
本文主要按照以下操作流程,介绍如何在EAS中使用镜像部署AI-Web应用的方式部署Stable Diffusion文生图模型,启动WebUI进行模型推理验证,体验AIGC生产方式。
-
部署EAS服务
-
启动WebUI进行模型推理
您在模型部署及推理验证过程中可能会遇到一些问题,常见问题及解决方法,请参见常见问题及解决方法。
前提条件
-
已开通EAS并创建默认工作空间,详情请参见开通并创建默认工作空间。
-
如果使用RAM用户来部署模型,需要为RAM用户授予EAS的管理权限,详情请参见云产品依赖与授权:EAS。
部署EAS服务
将Stable Diffusion模型部署为AI-Web应用服务,具体操作步骤如下。
-
进入PAI-EAS 模型在线服务页面。
-
登录PAI控制台。
-
在左侧导航栏单击工作空间列表,在工作空间列表页面中单击待操作的工作空间名称,进入对应工作空间内。
-
在工作空间页面的左侧导航栏选择模型部署>模型在线服务(EAS),进入PAI-EAS 模型在线服务页面。
-
-
在PAI-EAS 模型在线服务页面,单击部署服务。
-
在部署服务页面,配置以下关键参数。
参数
描述
服务名称
自定义服务名称。本案例使用的示例值为:sdwebui_demo。
部署方式
选择镜像部署AI-Web应用。
镜像选择
在PAI平台镜像列表中选择stable-diffusion-webui;镜像版本选择3.1。
说明
由于版本迭代迅速,部署时镜像版本选择最高版本即可。
资源组种类
选择公共资源组。
资源配置方法
选择常规资源配置。
资源配置选择
必须选择GPU类型,实例规格推荐使用ml.gu7i.c16m60.1-gu30(性价比最高)。
镜像配置完成后,系统会自动配置运行命令、额外系统盘等参数,您无需修改配置。
-
单击部署,等待一段时间即可完成模型部署。
当模型状态为运行中时,服务部署成功。
启动WebUI进行模型推理
-
单击目标服务服务方式列下的查看Web应用。
-
在WebUI页面,进行模型推理验证。
在文生图页签提示词(Prompt)区域,自定义输入内容,单击生成,即可开启您的AIGC之旅。
本案例在提示词(Prompt)区域输入
cute dog
,单击生成,推理结果如下图所示。
常见问题及解决方法
图片生成速度慢怎么办?
您可以通过开启Blade或xFormers的方法进行模型服务加速。
Blade和xFormers方法的使用优势如下。
-
Blade是由PAI平台提供的加速工具,在不同的图像尺寸和迭代步数下有不同的加速效果,最高可实现3.06倍的加速效果,为您的AIGC之旅带来更高性能和更低延时。
-
xFormers是SDWebUI自带的开源加速工具,拥有更广泛的模型适配性。
开启Blade或xFormers的方法如下。
-
开启Blade方法
-
单击服务操作列下的更新服务。
-
在部署服务页面运行命令中增加
--blade
指令,即./webui.sh --listen --port=8000 --blade
。 -
单击部署。
-
-
开启xFormers方法
-
单击服务操作列下的更新服务。
-
在部署服务页面运行命令中增加
--xformers
指令,即./webui.sh --listen --port=8000 --xformers
。 -
单击部署。
-
您自己的模型及输出目录等内容如何挂载?
如果您自己在开源社区下载了模型或自己训练得到了Lora或SD等模型要用于SDWebUI,或您需要保存输出数据到您自己的OSS Bucket目录,或需要进行一些第三方的配置和插件安装等,您可以通过如下文件挂载方式来实现。
-
前往对象存储OSS控制台,创建一个Bucket和空文件目录。
例如:
oss://bucket-test/data-oss/
,其中:bucket-test为OSS Bucket名称;data-oss为该Bucket下的空文件目录。关于如何创建Bucket,请参见创建存储空间;关于如何创建空目录,请参见管理目录。 -
单击服务操作列下的更新服务。
-
在模型服务信息区域,配置以下参数。
参数
描述
模型配置
单击填写模型配置,进行模型配置。
-
模型配置选择OSS挂载,将OSS路径配置为步骤1中创建的OSS Bucket路径。例如:
oss://bucket-test/data-oss/
。 -
挂载路径:将您配置的OSS文件目录挂载到镜像的
/code/stable-diffusion-webui
路径下。例如配置为:/code/stable-diffusion-webui/data-oss
。 -
是否只读:开关关闭。
运行命令
在运行命令中增加
--data-dir 挂载目录
,其中挂载目录需要与模型配置中挂载路径的最后一级目录一致。例如:./webui.sh --listen --port=8000 --data-dir data-oss
。 -
-
单击部署,更新模型服务。
PAI会自动在您配置的OSS空文件目录下创建如下目录结构,并复制必要的数据到该目录下。因此,建议您在服务启动成功后,再向指定的目录上传数据。
-
OSS目录结构自动创建成功后,您可以将已下载的或训练获得的模型上传到models下指定的模型目录中,单击目标服务操作列下的
>重启服务,服务重启成功后,即可生效。
后续您可以单击目标服务服务方式列下的查看Web应用,启动WebUI。在WebUI页面Stable Diffusion模型(ckpt)下拉列表中切换指定模型,进行模型推理验证。
服务长时间卡住怎么办?
-
您可以先尝试重新打开SDWebUI界面或重启EAS服务来解决
-
单击目标服务服务方式列下的查看Web应用,重新打开SDWebUI。
-
单击目标服务操作列下的
>重启服务,重启EAS服务。
-
-
如果重启后长时间无法解决,则大概率是因为服务需要从外网下载模型或插件等内容导致。EAS默认不开公网,镜像可以离线启动,挂载模型也无需网络。但部分插件的使用,需要依赖从互联网下载相关内容。此时推荐您根据日志,找到模型或插件的下载路径,手动下载模型并上传到OSS进行挂载,详情请参见您自己的模型及输出目录等内容如何挂载?。如果仍需要连接互联网,您可以参考配置网络连通和公网连接及白名单配置进行公网连接配置。
如何多人同时使用一个SDWebUI出图?
上述正常部署的SDWebUI为单机版仅支持单个人使用,多人使用会出现不兼容问题。当您需要企业级多人使用时,可以部署EAS的集群版SDWebUI。您只需在部署服务时镜像选择stable-diffusion-webui:3.1-cluster即可,同时建议多人使用时开启多个服务实例数,来保证AI绘画的出图速度和稳定性。
部署集群版SDWebUI后,有以下优势:
-
多个团队可以通过相同的URL访问应用,互不干扰。
-
支持多人共享一张卡,同时单一服务按照实际使用量进行弹性扩缩容,从而提高集群的使用率,实现降本增效的目的。
-
对接企业内部账号体系,按用户身份区分每个人的出图模型、图片成果和插件等。
如何将WebUI页面的默认语言切换为英文?
-
为模型服务配置OSS挂载路径,具体操作,请参见您自己的模型及输出目录等内容如何挂载?。
-
在打开的WebUI页面中,单击设置。
-
在左侧导航栏单击用户界面,在右侧页面下方本地化翻译区域,将选项从zh_CN切换为无。
-
在WebUI页面上方,单击保存设置,保存成功后单击重启WebUI。
待模型状态从等待中变为运行中,重新刷新WebUI页面,即可切换为英文。
如何更方便地管理自己的文件系统?
如果您想要更方便地和本地文件系统进行交互,在WebUI应用页面直接打开文件系统,您可以参照以下步骤进行设置。
-
您可以在挂载OSS路径的情况下(详情请参见您自己的模型及输出目录等内容如何挂载?),在创建或更新服务时,在运行命令文本框中增加
--filebrowser
指令,即./webui.sh --listen --port=8000 --blade --data-dir data-oss --filebrowser
。 -
服务部署完成后,单击服务方式列下的查看Web应用。
-
在WebUI页面,单击FileBrowser页签。您可以直接看到文件系统,并且可以上传本地的文件到文件系统中,也可以下载文件到本地。
内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家
阿里云企业补贴进行中: 马上申请
腾讯云限时活动1折起,即将结束: 马上收藏
同尘科技为腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利:同意关联,立享优惠
转转请注明出处:https://www.yunxiaoer.com/165281.html