方案概览
本方案通过函数计算快速部署一个图像生成系统,提供一个创建高质量视觉内容的服务。您可以使用函数计算提供的基础Stable Diffusion模型,也可以通过创建模型库上传自定义的Stable Diffusion模型实现定制化创作需求。同时,可以充分利用函数计算按需付费,弹性伸缩等优势,高效地为用户提供基于Stable Diffusion模型的文本到图像生成服务。
本方案的技术架构包括以下基础设施和云服务:
函数计算:用于提供Stable Diffusion模型的应用服务。
文件存储 NAS:用于存放预训练的Stable Diffusion模型。
专有网络 VPC:用于配置专有网络,方便函数计算访问文件存储 NAS。
入门:部署Stable Diffusion WebUI
登录函数计算3.0控制台,在左侧导航栏,单击应用。
当右上角显示返回函数计算2.0时,表示当前控制台为3.0控制台。
在应用页面,单击创建应用,选择通过模板创建应用,在人工智能页签下找到AI 数字绘画 Stable Diffusion,光标移至该卡片,然后单击立即创建。
说明目前该应用只支持在函数计算 FC 3.0部署,如果您登录的是函数计算 2.0控制台,请单击右上角的体验函数计算 3.0进行切换。
在创建应用页面,设置以下配置项,然后单击创建应用。
重点配置项说明如下,如果您没有特殊要求,其余配置项保持默认值即可。
配置项名称
说明
示例值
角色名
创建应用所需的权限。首次创建应用的用户,需要单击前往授权创建AliyunFCServerlessDevsRole角色。
AliyunFCServerlessDevsRole
地域
创建应用所在的地域。
由于当前模板涉及GitHub以及HuggingFace等网站访问,国内部分地域可能无法直接使用。
华东1(杭州)
镜像选择
不同的镜像将内置不同的模型与插件,请选择您希望的模型插件组合。
动漫风格
在弹出的对话框,仔细阅读应用创建提醒信息,勾选涉及的计费项和我已经了解上面的内容,并同意上述描述,然后单击同意并继续部署。
在应用详情页,单击WebUI 域名右侧的域名,开始体验Stable Diffusion WebUI图片生成。
重要请注意保护域名的安全,不要泄露给其他人,以防产生额外费用。
****.devsapp.net
域名为CNCF SandBox项目Serverless Devs社区所提供,仅供学习和测试使用,社区会对该域名进行不定期的拨测,并在域名下发30天后进行回收,强烈建议您绑定自定义域名以获得更好的使用体验。具体操作,请参见配置自定义域名。如果未绑定自定义域名,且部署的应用已超过30天,应用将无法打开,此时需要重新部署一次应用,然后重新挂载到之前的NAS,即可正常使用。
等待30秒左右,即可进入Stable Diffusion WebUI,您可以输入提示词,单击生成,开始制作自己的图片。
建议先使用默认提示词,先尝试如何生成第一张图。
您也可以自己定义提示词(推荐使用通义千问等大语言模型直接翻译成英文提示词),然后调整采样步数,采样器、高分辨率修复、图像生成种子等参数,生成更符合需求的图片。
例如,需要生成一张春天相关的图片,您可以输入以下提示词。
正向提示词
Spring, flowers, willows, little birds, distant green mountains, a boy is climbing up to the mountains, smiles, Pictrue 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
说明首次打开Stable Diffusion WebUI时,会提示“无法访问此网站”,无需刷新,等待30秒即可进入界面。如果报错Reserve resource exceed limit,则表示当前部署应用的地域GPU显卡资源不足,建议您切换到中国内地地域部署。
进阶:创建自己的模型库并自定义模型
您可以通过使用文件存储 NAS产品,创建模型库进行上传模型、管理模型、自定义模型更换等更加灵活的操作。
您的模型文件存储在NAS中,只要存储模型就会消耗NAS存储资源,详情请参见计费概述。
在应用详情页,单击初始化模型管理,开始实现模型管理功能。
在弹出的对话框,了解创建上述资源的目的以及部分资源可能产生的费用,了解对应的计费规则,并决定继续部署,勾选下方的复选框,然后单击下一步。
在初始化模型管理对话框,挂载NAS存储并设置模型管理密钥,然后单击下一步。
自动配置
如果您未创建过NAS,可以选择自动配置,函数计算将自动为您部署所有配置。
手动配置
如果您之前创建过NAS,并且希望继续进行挂载,可以选择手动配置,然后依次选择专用网络、交换机、安全组、文件系统及挂载点信息。
由于Stable Diffusion只支持
/mnt/auto
,因此您至少需要有一个挂载点的FC 目录是/mnt/auto
。
等待模型初始化后,在应用详情页面,您可以看到模型管理域名,单击此域名进入模型管理器进行模型管理。
如果您上一步设置了模型管理密钥,在模型管理器登录页面输入设置的密钥,然后单击登录进入模型管理器。
说明为了给您提供更好的服务,当您在右上角看到更新提醒时,请单击更新至最新版。
上传模型。本文以上传一个LoRA模型为例进行介绍。您可以从ModelScope平台下载更多模型权重。
在模型管理器页面,在左侧导航栏,单击文件管理,然后单击LoRA 目录,再单击上传开始上传您的模型。
说明上传依赖速度取决于您的网络稳定程度,如果网络不稳定可能会导致上传失败或文件损坏。
上传完成后,您可以在对应目录下查看刚才上传的文件。
(可选)选择函数计算内置的模型。
为了帮助您更好地快速部署模型,函数计算内置了模型仓库,您可以在左侧导航栏,单击模型库,在模型库选择自己喜欢的模型,单击下载模型,下载模型到指定目录。
重要模型仓库由阿里云OSS提供,模型/数据集/文件均来源于第三方,无法保证内容合规性,请您在使用前慎重考虑。
(可选)在弹出的文件下载确认对话框,确认模型下载目录,然后单击下载选中的模型。
当上传队列区域的进度条显示100%,表示模型已经成功上传到NAS文件系统。
上传完成后,刷新Stable Diffusion模型列表,即可看到已经上传的模型。
(可选)使用上一步下载的模型,使用默认提示词,然后单击生成。您可以看到生成的图片风格与之前的风格不同。
如果模型选择列表中找不到您已下载的模型,单击模型选择右侧的刷新图标刷新后重试。
清理资源
在本方案中,您部署了Stable Diffusion应用使用了函数计算产品,创建了函数资源,创建模型管理器使用了文件存储 NAS产品,增加了NAS挂载点。函数计算的函数不调用不会计费,文件存储 NAS只要有模型存储在NAS文件系统下,就会收费。
因此,如果您后续不再使用Stable Diffusion,请及时删除以下两部分资源,避免继续产生费用。
删除Stable Diffusion使用的函数
登录函数计算控制台,在左侧导航栏,单击应用。
在应用页面,找到目标应用,单击右侧操作列的删除应用。
在弹出的对话框,勾选我已确定资源删除的风险,依旧要删除上面已选择的资源,然后单击删除应用及所选资源。
删除模型管理器使用的NAS
登录NAS文件存储控制台,在左侧导航栏选择 。
在文件系统列表,找到目标文件系统,在其右侧操作列,单击
,然后单击删除。
在弹出的对话框,单击移除,移除挂载点,然后单击删除。
费用说明
部署Stable Diffusion应用会创建函数资源,创建模型管理器会使用文件存储 NAS产品。