本文介绍如何在函数计算中结合NAS搭建可切换模型的Stable Diffusion的WebUI框架实现文本生成图片。同时将SD公共模型库转存至函数计算下的NAS文件系统。
背景信息
阿里云函数计算FC是Serverless架构的一种形态,面向函数编程,基于事件驱动提供阿里云云服务之间端到端的解决方案。借助函数计算,您可以快速构建任何类型的应用和服务,并且只需为任务实际消耗的资源付费。
阿里云文件存储 NAS是一种分布式的网络文件存储,为ECS、HPC、Docker、BatchCompute等提供安全、无限容量、高性能、高可靠、简单易用的文件存储服务。阿里云文件存储NAS支持与函数计算无缝集成。这使您的函数可以像访问本地文件系统一样访问存储在NAS文件系统上的文件。
Stable Diffusion(简称SD)是一个可通过文本生成图像的扩散模型,基于CLIP模型从文字中提取隐变量,并通过UNet模型生成图片;最后通过逐步扩散、逐步处理图像,优化图像质量。
AIGC(Artificial Intelligence Generated Content)是指人工智能生成内容。“文生图”技术是指使用AI绘画创作图片。
阿里云不对第三方模型的合法性、安全性、准确性进行任何保证,阿里云不对由此引发的任何损害承担责任。
您应自觉遵守第三方模型的用户协议、使用规范和相关法律法规,并就使用第三方模型的合法性、合规性自行承担相关责任。
前提条件
已开通文件存储NAS服务。
首次登录文件存储NAS产品详情页时,按照页面引导开通服务。
已开通函数计算服务,详情请参见开通函数计算服务。
费用说明
部署Stable Diffusion应用框架,并使用其生成图片将产生部分费用,包括GPU资源使用、vCPU资源使用、内存资源使用、磁盘资源使用和公网出流量以及函数调用的费用。具体信息,请参见计费概述。
说明无论是否生成图片,进入Stable Diffusion WebUI使用界面就会耗费GPU资源。所以在不需要使用Stable Diffusion WebUI生成图片的时候,请及时关闭Stable Diffusion WebUI使用界面。
使用NAS存储AIGC的模型,NAS将根据文件系统类型、存储容量及时长收取文件存储费用,建议搭配NAS资源包使用。更多计费信息,请参见计费概述。
使用在线迁移服务将SD公共模型库转存至NAS时,在线迁移服务将根据迁移类型和迁移场景收取源端请求费用。更多信息,请参见新版计费项。
步骤一:部署可更换模型的FC Stable Diffusion
登录函数计算控制台,单击右上角返回函数计算2.0。
在左侧导航栏,单击应用。
如果您首次使用函数计算的应用中心,或您的账号下没有创建任何应用,在左侧导航栏,单击应用后,将自动进入创建应用页面。
如果您之前使用过应用中心,在左侧导航栏,单击应用,然后在应用页面单击创建应用。
在创建应用页面,选择通过模版创建应用,然后在应用列表中选择人工智能页签,并将光标移至AI数字绘画stable-diffusion自定义模型版卡片,单击立即创建。
在应用配置页面,配置以下参数,然后单击创建应用。
参数
示例值
说明
地域
cn-beijing
选择部署应用的地域。支持部署应用到华东1(杭州)、华东2(上海)、华北2(北京)和华南1(深圳)地域。
重要如果部署异常,例如AIGC公共镜像拉取耗时长,拉取失败,请切换到其他地域重试。
服务名
fc-stable-diffusion-plus
当您有多个挂载NAS的Stable Diffusion应用时,相同的服务名可以挂载在同一个目录。
函数名
sd
如果同一个服务下部署了多个Stable Diffusion,需要通过函数名区分开,否则会覆盖部署。
绘图类型
动漫风格
根据需要选择绘图类型,应用中心内置了SD1.5、动漫风格、真人风格的绘图类型。
为了方便您使用,函数计算提供基于开源项目stable-diffusion-webui构建的镜像,您可以直接使用。如果您想自定义Stable Diffusion镜像,请参见如何构建并使用stable-diffusion-webui镜像。
角色名
AliyunFCServerlessDevsRole
首次登录用户,需要单击前往授权配置角色权限。
如果您的角色名称已有相关权限,则无需设置。
在弹出的活动应用创建提醒对话框,仔细阅读提示内容,勾选已知当前收费项复选框,然后勾选我已经了解上面的内容,并同意上述描述复选框,最后单击同意并继续部署。
等待几分钟后,应用部署完成,页面跳转至应用详情。您可以查看应用的基本信息、项目详情和资源信息等。
在应用详情页面,单击模型管理域名右侧的初始化模型管理。
在弹出的初始化模型管理对话框,仔细阅读提示内容,勾选我已阅读,并了解上述创建资源的目的以及部分资源可能产生的费用。我已知晓对应的计费规则,并决定继续部署该应用复选框,然后单击确认。
配置NAS文件系统。
自动配置:系统自动为您创建一个新的通用型NAS文件系统。
如您再次选择自动配置,系统查询到前一次选择自动配置时创建的通用型NAS文件系统后,将不会再重新创建。关于费用详情,请参见通用型NAS计费。
手动配置:您需要手动配置如下参数才能配置NAS文件系统。
单击确认。
步骤二:将公共模型库转存到NAS存储
登录函数计算控制台,单击右上角返回函数计算2.0。
在左侧导航栏,单击应用。
找到您需要转存模型库的应用,并单击应用名称,进入应用详情页面。
在项目详情区域,单击模型管理域名右侧的域名。
在模型管理页面,选择模型库,然后将光标放置您感兴趣的模型卡片,单击下载模型。
在弹出的文件下载确认对话框,单击下载选择的模型。
您可以单击传输列表,查看模型下载进度。下载完成后,您可以进入文件管理查看下载的模型( /mnt/auto/sd/models/Stable-diffusion),重启Stable Diffusion即可使用模型进行文生图的体验。
说明模型会被下载至文件管理(NAS)进行存储,NAS将根据您的NAS文件系统类型、存储容量和时长进行收费,详细的计费信息,请参见计费概述。
步骤三:验证模型推理
登录函数计算控制台。
在左侧导航栏,选择应用。
找到目标应用,单击应用名称,进入应用详情页面。
在项目详情区域,单击WebUI 域名,进入Stable Diffusion 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
提示词引导系数:4
图像生成种子:82742