Checkpoint 预训练大模型
Checkpoint 是根据特定风格训练的大模型,模型风格强大,但体积也较大,一般 5-7GB。模型训练难度大,需要极高的显卡算力。目前网上已经有非常多的不同风格的成熟大模型可供下载使用。如:https://huggingface.co/models?pipeline_tag=text-to-image
LoRA 微调模型
LoRA 模型是通过截取大模型的某一特定部分生成的小模型,虽然不如大模型的能力完整,但短小精悍。因为训练方向明确,所以在生成特定内容的情况下,效果会更好。LoRA 模型也常用于训练自有风格模型,具有训练速度快,模型大小适中,配置要求低(8G 显存)的特点,能用少量图片训练出风格效果。常用 LoRA 模型下载地址:
https://stableres.info
https://civitai.com(友情提醒:不要在办公场所打开,不然会很尴尬)
Textual Inversion 文本反转模型
Textual Inversion 文本反转模型也是微调模型的一种,它是针对一个风格或一个主题训练的风格模型,一般用于提高人物还原度或优化画风,用这种方式生成的模型非常小,一般几十 KB,在生成画作时使用对应 Tag 在 prompt 中进行调用。
自有风格模型训练
Stable Diffusion 的强大之处还在于能够自定义训练风格模型,如果现有风格无法满足要求,我们还可以自己训练特定风格模型。Stable Diffusion 支持训练大模型和微调模型。我比较推荐的是用 LoRA 模型训练方法,该方法训练速度快,模型大小适中(100MB 左右),配置要求低(8G 显存),能用极少量图片训练出风格效果。例如:下图中我用了 10 张工作中的素材图,大概花了 20 分钟时间训练出该风格的 LoRA 模型,然后使用该模型就可以生成风格类似的图片。如果将训练样本量增大,那么训练出来的风格样式会更加精确。
了解了 Stable Diffusion 能干什么后,再来介绍下如何部署安装使用它。
二、AI 绘画工具的部署安装
以下主要介绍三种部署安装方式:云端部署、本地部署、本机安装,各有优缺点。当本机硬件条件支持的情况下,推荐本地部署,其它情况推荐云端方式。
1. 云端部署 Stable Diffusion
通过 Google Colab 进行云端部署,推荐将成熟的 Stable Diffusion Colab 项目复制到自己的 Google 云端硬盘运行,省去配置环境麻烦。这种部署方式的优点是:不吃本机硬件,在有限时间段内,可以免费使用 Google Colab 强大的硬件资源,通常能给到 15G 的 GPU 算力,出图速度非常快。缺点是:免费 GPU 使用时长不固定,通常情况下一天有几个小时的使用时长,如果需要更长时间使用,可以订阅 Colab 服务。
推荐两个目前比较好用的 Stable Diffusion Colab,选择相应模型版本运行即可:
Stable Diffusion Colab:github.com/camenduru/stable-diffusion-webui-colab (不带 ControlNet)
ControlNet Colab:github.com/camenduru/controlnet-colab(带 ControlNet)
Colab 运行界面如下,点击连接虚拟机,连接成功后点击左侧运行代码,等待环境自动配置完成后,点击 WebUI URL 即可运行 Stable Diffusion。
Stable Diffusion WebUI 运行界面如下,在后面的操作方法里我会介绍下 Stable Diffusion 的基础操作。
2. 本地部署 Stable Diffusion
相较于 Google Colab 云端部署,本地部署 Stable Diffusion 的可扩展性更强,可自定义安装需要的模型和插件,隐私性和安全性更高,自由度也更高,而且完全免费。当然缺点是对本机硬件要求高,Windows 需要 NVIDIA 显卡,8G 以上显存,16G 以上内存。Mac 需要 M1/M2 芯片才可运行。
本地部署方式主要分四步,以 Mac M1 为例:
第 1 步:安装 Homebrew 和 Python3.10 环境
Homebrew 是一个包管理工具,具体安装方法可参考: https://brew.idayer.com/
Python3.10 安装:brew install cmake protobuf rust python@3.10 git wget
第 2 步:克隆 Stable Diffusion WebUI 项目仓库
推荐下载 AUTOMATIC1111 的 Stable Diffusion WebUI,能很好的支持 ControlNet 扩展。
克隆项目仓库:git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui
第 3 步:下载并存放 Stable Diffusion 模型
Stable Diffusion 模型可以下载官方提供的 1.5 或 2.0 版本的 ckpt 文件,其它风格模型则根据自己需要下载。下载地址:huggingface.co/models?pipeline_tag=text-to-image
下载完后找到 stable-diffusion-webui 文件夹,把下载的 ckpt 大模型文件存放到 stable-diffusion-webui/models/Stable-diffusion 目录下。
如果下载了 LoRA 模型的 safetensors 文件,则存放到 stable-diffusion-webui/models/Lora 目录中。
Textual Inversion 文本反转模型的 pt 文件,存放到 stable-diffusion-webui/embeddings 目录中。
第 4 步:运行 Stable Diffusion WebUI
模型文件存放完成后,运行 Stable Diffusion WebUI:
先输入 cd stable-diffusion-webui 再输入 ./webui.sh,程序会自动完成下载安装。
运行完毕后显示:Running on local URL: http://127.0.0.1:7860 To create a public link, set `share=True` in `launch()`
在浏览器中打开 http://127.0.0.1:7860 ,即可运行 Stable Diffusion WebUI
需要用到的资源:
Homebrew 包管理工具:brew.idayer.com/guide/
Python 安装: www.python.org/downloads/
Stable Diffusion 项目仓库:github.com/AUTOMATIC1111/stable-diffusion-webui
Stable Diffusion 模型:huggingface.co/models?pipeline_tag=text-to-image
ControlNet 的安装
安装完 Stable Diffusion WebUI 后,我们再安装 ControlNet 扩展,以便进行图像的精准控制。
安装方法:
第 1 步:安装 ControlNet 插件
点击扩展,选择从 URL 安装,输入插件地址 https://github.com/Mikubill/sd-webui-controlnet ,点击 Install 后重启 WebUI。
第 2 步:安装 ControlNet 模型
打开模型下载页面 https://huggingface.co/lllyasviel/ControlNet/tree/main
将 annotator 目录中的人体检测预处理模型 body_pose_model.pth 和 hand_pose_model.pth 下载至本地 stable-diffusion-webui/extensions/sd-webui-controlnet/annotator/openpose 目录。
将深度图模型 dpt_hybrid-midas-501f0c75.pt 下载至本地 stable-diffusion-webui/extensions/sd-webui-controlnet/annotator/midas 目录
将 models 目录中的文件下载至本地 stable-diffusion-webui/extensions/sd-webui-controlnet/models 目录
重启 WebUI 即可使用 ControlNet