大模型
大模型拥有完整的 TextEncoder、U-Net、VAE。
Stable Diffusion是Latent Diffusion Model(https://arxiv.org/abs/2112.10752)的一种应用。
Diffusion Model 是文本到图像图像生成模型,通过使用 VAE(Variational Auto-Encoder) 将潜空间的数据转换为正常图像。使用 Text Encoder (将人类语言转换成机器能理解的数学向量)的 CLIP(CLIPTextModel)使用 U-Net调节(噪声的估计和去除)图像生成。
常见的大模型一般为ckpt和safetensors格式,还有ema、full ema、nonema、pruned等版本
模型下载
Civitai:https://civitai.com/
Hugging Face:https://huggingface.co/models
stable-diffusion-v1-5:https://huggingface.co/runwayml/stable-diffusion-v1-5/tree/main
stable-diffusion-v-1-4-original:https://huggingface.co/CompVis/stable-diffusion-v-1-4-original/tree/main
ckpt(CheckPoint)
路径:stable-diffusion-webui\models\Stable-diffusion
ckpt模型包含生成图像所需的TextEncoder、U-Net、VAE,不需要额外的文件。一般比较大,通常为 2~7 GB。
safetensors
路径:stable-diffusion-webui\models\Stable-diffusion
safetensors是为了解决模型的安全风险(pickle反序列化攻击)而出现的新型的模型格式,旨在取代ckpt格式。
ema
ema版本的模型可以生成更多创意性的结果,适合训练使用(但是也更大)。
ema就是exponential moving average的缩写。
就像考试如果你只考虑去年的分数(即只用一组最近的实际数据值来预测),你会得到MA(moving average 移动平均数)。而如果你保留整个历史,但给最近的分数以更大的权重,则会得到EMA(exponential moving average 指数移动平均数)。
nonema、full ema的模型其实就是对平均数值的保留或者修剪。
pruned
pruned适合用于生成图片。
pruned(修剪)对应就是unpruned(未修剪),pruned是指在训练中删除修剪冗余的或对输出影响很小的权重。可以有效的节省资源,同时提高准确度。
微调模型
微调模型需要配合大模型使用,包括Embedding(Textual inversion)模型、Hypernetwork模型、LoRA模型、VAE模型
Embedding模型(Textual inversion)
路径:stable-diffusion-webui\embeddings
embedding模型通常为10~100 KB,常见格式为pt。
embedding模型用于定义新关键字来生成新的对象或风格的小文件(多用于风格引导)。不会改变模型,它只是定义新的关键字来实现某些样式。
LoRA模型
路径:stable-diffusion-webui\models\Lora
LoRA模型通常是10~200 MB,常见格式为ckpt(safetensors)。
LoRA(Low-Rank Adaptation of Large Language Models)模型可以理解为大模型的补丁,用于修改风格/对象。性价比很高(效果好而且训练较为快速和简单),所以很常用。
LoRA的原理是冻结预训练好的模型权重参数,然后在每个Transformer块(利用注意力机制来提高模型训练速度)里注入可训练的层,由于不需要对模型的权重参数重新计算梯度,所以可以减少参数量和计算量,提高训练效率和生成质量。
hypernetworks模型
路径:stable-diffusion-webui\models\hypernetworks
hypernetworks模型通常为 5~300 MB,常见格式为pt。
hypernetworks是 Stable Diffusion 的微调模型之一。它似乎是来源于 NovelAI 泄漏。它学起来很慢,设置起来很困难,而且没有很好的效果,所以它基本已经过气了,很少人在聊这个。
hypernetworks可以根据自己的图片训练一个小部分的神经网络,然后用这个结果来生成新的图片。可以用来对 Stable-diffusion 的模型进行风格迁移(style transfer),即根据自己的图片或者其他模型生成一个新的权重,然后用这个权重来改变生成图片的风格。
VAE模型
路径:stable-diffusion-webui\models\VAE
VAE模型通常是300~800MB,常见格式为pt、ckpt(safetensors)。
VAE模型(Variational Auto-Encoder)变分自编码器,负责将潜空间的数据转换为正常图像。可以简单理解为滤镜。一般大模型本身里面就自带 VAE,但是一些融合模型的VAE损坏了(画面发灰/颜色怪异),需要额外使用VAE文件来修复。
模型训练
Dreambooth
配置要求:显存12GB以上。
训练速度:慢
训练难度:可以简单可以很难
说明:微调大模型,非常强大的训练方式,但是使用上会不那么灵活,推荐训练风格用,人物/物体使用 LoRA 训练。
LoRA
配置要求:显存8GB以上。
训练速度:快
训练难度:简单
说明:好出效果的人物/物体/风格训练,配置要求低,图要求少。



评论(0)