Stable Diffusion 与相关模型库介绍
AI绘画是AIGC的重要分支, Stable Diffusion作为一款底层代码、数据完全开源的高性能开源绘画模型,参数量仅有1B大小,开发者可在消费级GPU上进行本地推理训练与模型部署。为了让更多开发者快速体验Stable Diffusion模型库,加快推理训练过程,阿里云在公共模型库中收录了主流热门的大模型文件,同时提供了并准备了相关方案与实验。
Stable Diffusion能够通过文本prompt生成图像,模型库包含写实、国漫、科技等几十种风格,文件大小总计 70 GB 左右,后续还会不定期地更新更多的热门模型和类型。更多类型的模型,可访问Modelscope模型社区获取。
开发者可以将模型文件一键转存到自己的存储空间,然后直接挂载到 PAl 或 FC 下进行推理和训练。无论是阿里云对象存储OSS,还是文件存储NAS,都很适合用作模型库存储空间。这样,开发者无需经历复杂漫长的下载和上传步骤,即可获得多种模型的使用体验,实现云上 AIGC 的快速搭建。在本地推理训练开始之前,开发者可以先在云起实验室体验基于PAI-EAS挂载OSS部署AIGC服务、使用FC和NAS一键部署Stable Diffusion,熟悉搭建流程。
点击这里,快速云上部署AIGC服务。
步骤一:通过活动页面一键秒存模型文件
进入《Stable diffusion模型库,AIGC画风任你选》页面活动,在方案1:使用对象存储 OSS 作为模型库存储空间处单击一键复制。
- 单击一键复制按钮后,将会弹出公共库转存信息对话框,输入新建对象存储OSS Bucket名称,此处示例填写osstestforsd;地域请从杭州,上海,北京,乌兰察布这四个Region选择,此处选择华东2(上海);签署转存的授权协议;最后单击确认转存。
- 确认转存后几秒钟,将会弹出文件框提示转存成功,记录对象存储OSS Bucket名称为 osstestforsd。
- 前往对象存储OSS控制台,确认您刚才转存的模型文件。在Bucket列表找并单击osstestforsd。
进入Bucket的文件管理-文件列表处,然后逐个单击文件夹,进入/data-oss/models的目录,可以看到模型文件已经转存进来。
步骤二:将OSS模型库挂载到PAI-EAS并部署模型
您已经将SD模型库的Stable Diffusion模型文件转存到了自己的对象存储OSS中,该存储空间中的模型可以被用于SDWebUI,另外也可以将未来训练和推理的结果保存到该OSS Bucket目录中。您可以通过如下文件挂载方式来实现。
- 前往PAI控制台。开通机器学习PAI并创建默认工作空间。其中关键参数配置如下,更多详细内容,请参见开通并创建默认工作空间。如果您后续使用RAM用户来部署模型,您需要将RAM用户添加为默认工作空间的成员,并配置管理员角色,详情请参见管理成员;同时,需要为RAM用户授予PAI-EAS的管理权限,详情请参见云产品依赖与授权:EAS。
- 本教程地域选择:华东2(上海)。
- 组合开通:本教程无需使用其他产品,去除勾选其他产品即可。
- 服务角色授权:单击去授权,完成服务角色授权。
- 登录PAI控制台,进入PAI-EAS控制台。
a.在左侧导航栏,单击工作空间列表
b.在工作空间列表页面,找到默认工作空间,单击默认工作空间名称。
c.在左侧导航栏,选择模型部署>模型在线服务(EAS),进入PAI EAS模型在线服务页面。
说明:如果界面弹出一键授权对话框,单击授权即可。
- 登录PAI控制台,进入在PAI EAS模型在线服务页面,单击部署服务。
- 在部署服务页面,单击新建服务,在模型服务信息配置以下关键参数,其他参数保持默认即可。
- 服务名称:自定义一个服务名称,本教程示例为sdwebui_test
- 部署方式:本次选择镜像部署AI-WEB应用
- 镜像选择:在PAI平台镜像列表中选择stable-diffusion-webui;镜像版本选择3.2。说明:由于版本迭代迅速,部署时镜像版本选择最高版本即可。
- 勾选并同意PAI服务专用协议
- 在模型服务信息区域,配置以下参数。
- 单击填写模型配置,进行模型配置
- 模型配置选择OSS挂载,将OSS路径配置为步骤1中创建的OSS Bucket路径。例如:oss://osstestforsd/data-oss/。
- 挂载路径:将您配置的OSS文件目录挂载到镜像的/code/stable-diffusion-webui路径下。例如配置为:/code/stable-diffusion-webui/data-oss。
- 是否只读:开关关闭。
- 在运行命令中增加--data-dir 挂载目录,其中挂载目录需要与模型配置中挂载路径的最后一级目录一致。例如:./webui.sh --listen --port 8000 --skip-version-check --no-hashing --no-download-sd-model --skip-install --api --filebrowser --data-dir data-oss。
- 在资源部署信息区域,配置如下参数
- 资源种类:选择公共资源组
- 资源配置方法:选择常规资源配置
- 资源配置选择:
- 如果您使用免费试用资源,本教程实例规格选择试用活动页签的ecs.gn6i-c8g1.2xlarge.limit。 说明:阿里云免费试用提供的机型包括以下三种机型,仅选择试用活动页签下的这三种机型来部署服务产生的费用,才能使用抵扣包抵扣。 ecs.g6.xlarge.limit ecs.gn6i-c8g1.2xlarge.limit ecs.gn7i-c8g1.2xlarge.limit
- 如果您使用个人账户资源,本教程实例规格选择试用活动页签的ecs.gn6i-c8g1.2xlarge.limit。
- 额外系统盘:本教程不需要额外系统盘。
- 在部署服务页面下方,单击部署。
- 在部署服务对话框中,单击确定。
- 在PAI EAS模型在线服务页面,等待1~3分钟,当模型状态从创建中变为运行中,表明服务已成功部署,您可继续后续的模型推理操作。
步骤三:启动WebUI进行模型切换与推理
- 在PAI EAS模型在线服务页面,找到您创建的服务,单击其服务方式列下的查看Web应用。
- 启动WebUI。在WebUI页面Stable Diffusion模型(ckpt)下拉列表中切换指定模型,进行模型推理验证。此处选择名称为dreamshaper_7的模型,选择完成后,切换模型时间预计需要几十秒,请耐心等待。
切换完成后,在文生图页面输入如下信息:
- 提示词:photo of the warrior Aragorn from Lord of the Rings, film grain
- 反向提示词:BadDream, (UnrealisticDream:1.2)
- 采样方法(Sampler):DPM++ SDE Karras
- 迭代步数(steps):30
- 相关性(CFG scale):4
- 随机种(seed):82742