大模型

稳定扩散(Stable Diffusion)是潜空间扩散模型(Latent Diffusion Model)的一种应用。扩散模型是一种将文本转化为图像的生成模型,通过使用变分自编码器(VAE)将潜在空间的数据映射为真实图像。CLIPTextModel是一个文本编码器,将人类语言转换为机器可理解的数学向量,并使用U-Net调节图像生成过程,估计和去除噪声。大型模型通常包括完整的VAE、TextEncoder和U-Net。常见的大模型一般为ckpt和safetensors格式,还有ema、full ema、nonema、pruned等版本

大模型 一般放置在*\stable-diffusion-webui\models\Stable-diffusion目录内。

ckpt

ckpt(CheckPoint),大模型的常见格式,现在的ckpt模型一般都包含生成图像所需的TextEncoder、U-Net、VAE,不需要额外的文件。比如C真很火的真人大模型ChilloutMix就是一种CHECKPOINT模型。既然被称为大模型,CheckPoint一般会比较大,通常为 2~7 GB(目前新的大模型一般都在1-5g左右),其后缀为.ckpt。

safetensors

safetensors是为了解决模型的安全风险(pickle反序列化攻击)而出现的全新模型格式,旨在替代ckpt格式,这也是我们最常使用的大型模型文件格式。可以简单这样去解释,即.safetensors和.ckpt都是大模型的格式而.safetensors格式的更为安全可靠一些

小模型

由于想要训练一个大型模型非常困难,需要极高的显卡算力,因此越来越多的人选择训练小型模型。小型模型通常是从大型模型中截取的特定部分,虽然能力不如完整的大型模型,但它们小而精。由于训练方向明确,所以在生成特定内容的情况下,效果更佳。其实你可以这么理解,大模型训练的是人类这一物种的各种特征需要将所有的细节都进行处理,而小模型则是在这个大模型的基础上去训练某个特定的人,比如这个人是什么颜色的头发,眼睛等等,属于是站在巨人肩膀上进行训练,不过即便如此lora(小模型的一种分类)的训练仍然需要至少6g显存的gpu才能够训练
以下是常见的微调模型介绍:LoRA、VAE、Textual inversion (Embedding)、Hypernetwork等

LoRA模型

LoRA(Low-Rank Adaptation of Large Language Models)模型可以被视为大型模型的补丁,用于修改画风或对象的细节特征。由于它既能提供良好的效果,又能较快速和简单训练(其实更重要是其对于显存的要求相比大模型更低),具有很高的性价比,因此被广泛使用.比如现在很火的ai写真,十几张图片就能生成一个人的ai写真,背后就是对于lora的应用
LoRA模型的原理是冻结预训练好的模型权重参数,并在每个Transformer块中注入可训练的层。通过利用注意力机制来提高模型的训练速度。由于不需要对模型的权重参数重新计算梯度,LoRA模型能够减少参数量和计算量,从而提高训练效率和生成质量。
一般来说,LoRA模型的大小通常在10到200 MB之间,常见的模型文件格式是.ckpt(safetensors)。
该模型一般放置在*\stable-diffusion-webui\models\Lora目录内。

VAE模型

VAE(Variational Auto-Encoder)模型是一种变分自编码器,用于将潜在空间中的数据转换为正常图像。可以将其简单理解为一种滤镜。
一般来说,大型模型本身已经包含了内置的VAE模块,但是一些融合模型中的VAE可能存在问题(如画面发灰或颜色异常),因此需要额外使用VAE文件进行修复。
修复过程通常涉及使用VAE文件对损坏的图像进行处理,以恢复其正常的视觉效果。这样可以修复颜色失真或其他异常,使图像恢复到预期的状态。
也可以简单的理解VAE为生成图片的色彩控制器,或者理解为一个上色器,只有搭配好合适的VAE生成的图片才能更好看,如果在使用SD跑图时发现生成的图片总是灰蒙蒙的那么极有可能就是你的VAE没有选取好

VAE模型通常是300~800MB,常见格式为.pt,.ckpt(safetensors),目前也是更多的为safetensors格式。

该模型一般放置在*\stable-diffusion-webui\models\VAE目录内。

Embedding

Embedding模型用于通过定义新的关键字来生成具有新对象或风格的文本或图像。它通常用于风格引导等任务。与改变整个模型不同,Embedding模型只是通过定义新的关键字或参数来实现特定样式的生成,而不会对模型本身进行修改。

通过调整嵌入向量或其他相关参数,Embedding模型可以控制生成结果的特定属性或风格。例如,在文本生成任务中,通过调整嵌入向量的值,可以实现生成与特定关键字相关的内容或风格。这种方式使得模型能够根据给定的指示生成具有特定特征或风格的输出。
对于这个应用最常见的就是一些负面提示词的应用了,将一些常用的负提示词集成在一个embedding文件中,平时使用时只需将这个embedding模型加入负面提示词中就行了,可以说嘎嘎好用。

embedding模型通常为10~100 KB,常见格式为.pt。

该模型一般放置在*\stable-diffusion-webui\models\embeddings目录内。

Hypernetwork

Hypernetworks是一种通过训练一个小型神经网络来生成另一个神经网络的方法。它可以根据自己的图片数据或其他模型生成新的权重,并用这些权重来改变生成图片的风格,从而实现风格迁移(style transfer)。

在Stable Diffusion中,Hypernetworks被用作微调模型之一。然而,虽然它具有一定的潜力,但也存在一些问题。Hypernetworks的训练过程相对缓慢,设置也较为复杂,并且其效果并不总是很好。因此,它在当前的研究和讨论中已经相对较少被提及,逐渐失去了热度。

需要注意的是,技术领域总是不断发展和演变的,某些方法可能会在某个时间点过时或被取代。因此,了解最新的研究趋势和技术进展是很重要的。

hypernetworks模型通常为 5~300 MB,常见格式为.pt。
该模型一般放置在*\stable-diffusion-webui\models\hypernetworks目录内。

最后修改:2024 年 01 月 24 日
如果觉得我的文章对你有用,请随意赞赏