文档中心>TI-ONE 训练平台>实践教程>部署Stable Diffusion WebUI服务

部署Stable Diffusion WebUI服务

最近更新时间:2024-05-15 10:31:32

我的收藏

背景

本文为您介绍如何导入 Web-UI 模型、部署 Web-UI 模型,进行推理。
本文提供2个案例进行演示:
基础 Stable Diffusion 模型推理(模型来源选择 CFS 模式)
Stable Diffusion + ControlNet 模型推理加速

案例一:基础 Stable Diffusion 模型推理(模型来源选择CFS模式)

第一步:前置准备,购买 CVM 和 CFS

1. 登录 CFS 控制台,在左侧导航栏中选择文件系统,单击创建,选择您需要的存储类型,完成对应配置。



2. 登录 CFS 控制台,在左侧导航栏中选择实例,单击新建,进行购买。
说明:
1. CFS、CVM 地域请选择 TIONE 支持的地域:北京、上海、广州。
2. CFS、CVM 网络请保持一致。
3. 在 CVM 上挂载CFS,可参考 在 Windows 客户端上使用 CFS 文件系统

第二步:将模型上传到 CFS

1. 请您将 Stable Diffusion 基础模型放至 CFS 的 models/Stable-diffusion 路径下,将模型涉及的元信息等,一并上传至 .cache 目录中。
说明:
因涉及 Hugging Face 的软件许可和合规问题,WebUI 模型和插件,需要您自行下载后,来 TIONE 部署使用。
2. 初始最简目录结构,您可参考:



3. models 目录结构



4. .cache 目录结构




第三步:部署服务

1. 登录 TI-ONE 控制台,在左侧导航栏中选择模型服务 > 在线服务,单新建服务,进入新建页面。
2. 您可填写服务名称,模型来源选择“CFS”,选择该地域下的 CFS,CFS 挂载路径为步骤二中自定义的模型所在路径(例如 webui),运行环境选择“内置 / STABLEDIFFUSION-WebUI(2.0.0) / sd-webui-1.6.0(gpu)”,选择算力,配置其他您需要的信息,单击启动服务,当您服务状态为运行中时,即部署完成,可进行推理。




第四步:服务调用

1. 单击运行中的 Web-UI 模型服务名称,进入服务详情页,单击服务调用 tab 页,在接口信息的接口调用地址右边,填写 Web-UI 的 URL,如文生图:/sdapi/v1/txt2img,您可参考 API 文档



说明:
如需支持 GET 方式的接口或者希望延迟更少,可参考 从外部访问 TI-ONE,获取自己的 vpc 到服务之间的 内网地址,通过内网地址,进行服务访问。

第五步:SD-WebUI 界面使用

1. 服务管理列表,运行中的服务会出现“打开 WebUI 页面”的操作按钮,您可单击后在新窗口打开 WebUI 页面。







第六步:附录使用说明

1. 服务运行后 CFS 上完整的目录结构说明
1.1 extensions/sd-tiacc 和 extensions/sd-webui-controlnet 为平台内置的加速过的 sd-webui-controlnet 插件;当您 CFS 上未存放此插件时,将使用平台内置的插件。
1.2 CFS 上的目录结构和配置文件,和原生 webui 一致。



2. 环境变量说明
2.1 环境变量 CLI_ARGS 表示 webui 启动参数,默认是“ --allow-code --enable-insecure-extension-access --api”。
2.2 当同时配置 COS_UPLOAD_ENBALE,COS_REGION, COS_BUCKET,COS_FILE_PREFIX 等环境变量,API 调用 webui 文生图,图生图接口时,将生成的图片自动保存到 COS 上,接口返回的是 COS 上图片的临时链接(默认10分钟);COS_SECRET_ID 和 COS_SECRET_KEY 是永久密钥,为可选项;不配置时则平台使用临时密钥方式。



案例二:Stable Diffusion + ControlNet 模型推理加速

第一步:前置准备,购买CVM和CFS

1. 登录 CFS 控制台,在左侧导航栏中选择文件系统,单击创建,选择您需要的存储类型,完成对应配置。



2. 登录 CFS 控制台,在左侧导航栏中选择实例,单击新建,进行购买。
说明:
1. CFS、CVM地域请选择 TIONE 支持的地域:北京、上海、广州。
2. CFS、CVM网络请保持一致。
3. 在 CVM 上挂载CFS,可参考 在 Windows 客户端上使用 CFS 文件系统

第二步:config.json 中的加速参数说明

1. config.json的内容示例如下:
{
"use_tiacc": false,
"use_tiacc_unet": false,
"control_net_max_models_num": 3,
"control_net_model_cache_size": 3,
}
2. config.json 中的加速参数说明:
2.1 use_tiacc 设置为 false,则说明 Angel tune 加速方式关闭,采用非 tune 加速方式。(大尺寸>=1024, Angel tune 和非 tune 加速性能相当)。
2.2 use_tiacc_unet 当前需设置为 false,当前不可用(当前仅支持 controlnet tune)。
2.3 control_net_model_cache_size 为 controlnet 加速常驻显存个数,如果您常用 controlnet 较多,则需调大此参数,否则这里会有转换开销(您可压测此参数确认显存可承载的最大数值)。

第三步:controlnet 模型上传 CFS

1. 您将需要的 controlnet 模型上传至 models/ControlNet 目录下。
2. 当 use_tiacc 设置为 true 时,需要将TI 平台加速处理过的 cache 模型上传到 /models/cache 目录下。
说明:
cache 模型您可根据自身需求下载获取。
文件说明
controlnet版本
下载链接
需要情况
原始模型文件
controlnet1.0
都需要
原始模型文件
controlnet1.1
都需要
A10加速的模型文件
controlnet1.0
A10机器需要
A10加速的模型文件
controlnet1.1
A10机器需要
A100加速的模型文件
controlnet1.0
A100机器需要
A100加速的模型文件
controlnet1.1
A100机器需要


第四步:部署服务

1. 登录 TI-ONE 控制台,在左侧导航栏中选择模型服务 > 在线服务,单新建服务,进入新建页面。
2. 您可填写服务名称,模型来源选择“CFS”,选择该地域下的 CFS,CFS 挂载路径为步骤二中自定义的模型所在路径(例如 webui),运行环境选择“内置 / STABLEDIFFUSION-WebUI(2.0.0) / sd-webui-1.6.0(gpu)”,选择算力,配置其他您需要的信息,单击启动服务,当您服务状态为运行中时,即部署完成,可进行推理。




第五步:服务调用

1. 单击运行中的 Web-UI 模型服务名称,进入服务详情页,单击服务调用 tab 页,在接口信息的接口调用地址右边,填写 Web-UI 的 URL,如文生图:/sdapi/v1/txt2img,您可参考 API 文档



说明:
如需支持 GET 方式的接口或者希望延迟更少,可参考 从外部访问 TI-ONE,获取自己的 vpc 到服务之间的 内网地址,通过内网地址,进行服务访问。