基于函数计算部署Stable Diffusion实现更高质量的图像生成

方案概览

本方案通过函数计算快速部署一个图像生成系统,提供一个创建高质量视觉内容的服务。您可以使用函数计算提供的基础Stable Diffusion模型,也可以通过创建模型库上传自定义的Stable Diffusion模型实现定制化创作需求。同时,可以充分利用函数计算按需付费,弹性伸缩等优势,高效地为用户提供基于Stable Diffusion模型的文本到图像生成服务。

image

本方案的技术架构包括以下基础设施和云服务:

  • 函数计算:用于提供Stable Diffusion模型的应用服务。

  • 文件存储 NAS:用于存放预训练的Stable Diffusion模型。

  • 专有网络 VPC:用于配置专有网络,方便函数计算访问文件存储 NAS

入门:部署Stable Diffusion WebUI

  1. 登录函数计算3.0控制台,在左侧导航栏,单击应用

    当右上角显示返回函数计算2.0时,表示当前控制台为3.0控制台。

    image

  2. 在应用页面,单击创建应用,选择通过模板创建应用,在人工智能页签下找到AI 数字绘画 Stable Diffusion,光标移至该卡片,然后单击立即创建

    说明

    目前该应用只支持在函数计算 FC 3.0部署,如果您登录的是函数计算 2.0控制台,请单击右上角的体验函数计算 3.0进行切换。

    image

    image

  3. 在创建应用页面,设置以下配置项,然后单击创建应用

    重点配置项说明如下,如果您没有特殊要求,其余配置项保持默认值即可。

    配置项名称

    说明

    示例值

    角色名

    创建应用所需的权限。首次创建应用的用户,需要单击前往授权创建AliyunFCServerlessDevsRole角色。

    image

    image

    AliyunFCServerlessDevsRole

    地域

    创建应用所在的地域。

    由于当前模板涉及GitHub以及HuggingFace等网站访问,国内部分地域可能无法直接使用。

    华东1(杭州)

    镜像选择

    不同的镜像将内置不同的模型与插件,请选择您希望的模型插件组合。

    动漫风格

  4. 在弹出的对话框,仔细阅读应用创建提醒信息,勾选涉及的计费项和我已经了解上面的内容,并同意上述描述,然后单击同意并继续部署

    image

  5. 在应用详情页,单击WebUI 域名右侧的域名,开始体验Stable Diffusion WebUI图片生成。

    image

    重要
    • 请注意保护域名的安全,不要泄露给其他人,以防产生额外费用。

    • ****.devsapp.net域名为CNCF SandBox项目Serverless Devs社区所提供,仅供学习和测试使用,社区会对该域名进行不定期的拨测,并在域名下发30天后进行回收,强烈建议您绑定自定义域名以获得更好的使用体验。具体操作,请参见配置自定义域名

    • 如果未绑定自定义域名,且部署的应用已超过30天,应用将无法打开,此时需要重新部署一次应用,然后重新挂载到之前的NAS,即可正常使用。

  6. 等待30秒左右,即可进入Stable Diffusion WebUI,您可以输入提示词,单击生成,开始制作自己的图片。

    • 建议先使用默认提示词,先尝试如何生成第一张图。

      image

    • 您也可以自己定义提示词(推荐使用通义千问等大语言模型直接翻译成英文提示词),然后调整采样步数采样器高分辨率修复图像生成种子等参数,生成更符合需求的图片。

      例如,需要生成一张春天相关的图片,您可以输入以下提示词。

      • 正向提示词Spring, flowers, willows, little birds, distant green mountains, a boy is climbing up to the mountains, smiles, Picture highlight, rich details

      • 反向提示词loli,nsfw, logo, test, badhandv4, EasyNegative, mutated hands and fingers, poorly drawn face, extra limb, missing limb, disconnected limbs, malformed hands, ugly

      image

    说明

    首次打开Stable Diffusion WebUI时,会提示“无法访问此网站”,无需刷新,等待30秒即可进入界面。如果报错Reserve resource exceed limit,则表示当前部署应用的地域GPU显卡资源不足,建议您切换到中国内地地域部署。

进阶:创建自己的模型库并自定义模型

您可以通过使用文件存储 NAS产品,创建模型库进行上传模型、管理模型、自定义模型更换等更加灵活的操作。

重要

您的模型文件存储在NAS中,只要存储模型就会消耗NAS存储资源,详情请参见计费概述

  1. 在应用详情页,单击初始化模型管理,开始实现模型管理功能。

    image

  2. 在弹出的对话框,了解创建上述资源的目的以及部分资源可能产生的费用,了解对应的计费规则,并决定继续部署,勾选下方的复选框,然后单击下一步

    image

  3. 在初始化模型管理对话框,挂载NAS存储并设置模型管理密钥,然后单击下一步

    • 自动配置

      如果您未创建过NAS,可以选择自动配置函数计算将自动为您部署所有配置。

      image

    • 手动配置

      如果您之前创建过NAS,并且希望继续进行挂载,可以选择手动配置,然后依次选择专用网络交换机安全组文件系统挂载点信息。

      由于Stable Diffusion只支持/mnt/auto,因此您至少需要有一个挂载点的FC 目录/mnt/auto

      image

  4. 等待模型初始化后,在应用详情页面,您可以看到模型管理域名,单击此域名进入模型管理器进行模型管理。

    image

  5. 如果您上一步设置了模型管理密钥,在模型管理器登录页面输入设置的密钥,然后单击登录进入模型管理器。

    image

    image

    说明

    为了给您提供更好的服务,当您在右上角看到更新提醒时,请单击更新至最新版

  6. 上传模型。本文以上传一个LoRA模型为例进行介绍。您可以从ModelScope平台下载更多模型权重。

    在模型管理器页面,在左侧导航栏,单击文件管理,然后单击LoRA 目录,再单击上传开始上传您的模型。

    说明

    上传依赖速度取决于您的网络稳定程度,如果网络不稳定可能会导致上传失败或文件损坏。

    image

    image

    上传完成后,您可以在对应目录下查看刚才上传的文件。

  7. (可选)选择函数计算内置的模型。

    为了帮助您更好地快速部署模型,函数计算内置了模型仓库,您可以在左侧导航栏,单击模型库,在模型库选择自己喜欢的模型,单击下载模型,下载模型到指定目录。

    image

    重要

    模型仓库由阿里云OSS提供,模型/数据集/文件均来源于第三方,无法保证内容合规性,请您在使用前慎重考虑。

  8. (可选)在弹出的文件下载确认对话框,确认模型下载目录,然后单击下载选中的模型

    当上传队列区域的进度条显示100%,表示模型已经成功上传到NAS文件系统。

    上传完成后,刷新Stable Diffusion模型列表,即可看到已经上传的模型。

    image

    image

  9. (可选)使用上一步下载的模型,使用默认提示词,然后单击生成。您可以看到生成的图片风格与之前的风格不同。

    如果模型选择列表中找不到您已下载的模型,单击模型选择右侧的刷新图标刷新后重试。

    image

清理资源

在本方案中,您部署了Stable Diffusion应用使用了函数计算产品,创建了函数资源,创建模型管理器使用了文件存储 NAS产品,增加了NAS挂载点。函数计算的函数不调用不会计费,文件存储 NAS只要有模型存储在NAS文件系统下,就会收费。

因此,如果您后续不再使用Stable Diffusion,请及时删除以下两部分资源,避免继续产生费用。

  • 删除Stable Diffusion使用的函数

    1. 登录函数计算控制台,在左侧导航栏,单击应用

    2. 在应用页面,找到目标应用,单击右侧操作列的删除应用

    3. 在弹出的对话框,勾选我已确定资源删除的风险,依旧要删除上面已选择的资源,然后单击删除应用及所选资源

      image

  • 删除模型管理器使用的NAS

    1. 登录NAS文件存储控制台,在左侧导航栏选择文件系统 > 文件系统列表

    2. 在文件系统列表,找到目标文件系统,在其右侧操作列,单击image,然后单击删除

      image

    3. 在弹出的对话框,单击移除,移除挂载点,然后单击删除

      image

费用说明

部署Stable Diffusion应用会创建函数资源,创建模型管理器会使用文件存储 NAS产品。

  • 调用函数计算的函数生成图片按照资源使用量进行计费,详情请参见计费概述,不调用则不计费。

  • 只要有模型或生成的图片存放在NAS文件系统下,就会持续计费,不同类型NAS的定价详情请参见NAS价格计算器

相关文档

Stable Diffusion API Serverless版解决方案