Stable Diffusion模型越大越好吗?快来拯救你的内存和磁盘

在这里插入图片描述

如果你经常使用 Stable Diffusion 绘图,是否注意到很多大模型文件的大小各有不同,有2G的、4G的、还有8G的,这些模型占用了大量的磁盘空间,特别是租用云服务器的有限免费空间;有些模型的作者或者使用者会说模型文件越大越好,越大出图越精细,真的是这样吗?这里边有没有什么科技与狠活呢?

本文先给大家介绍一个给模型瘦身的方法,将那些4G、5G、8G的模型文件缩减到2G左右,然后对比下原模型与新模型的图片生成效果,最后再讲讲其中的原理。真正能拯救大家的内存和磁盘哦!

安装插件

这是秋叶大佬开发的一个模型转换插件,秋叶整合包中自带。如果你的 Stable Diffusion WebUI 中没有这个插件,请使用下面这个地址安装,安装完成之后别忘了重启 WebUI。

https://github.com/Akegarasu/sd-webui-model-converter

在这里插入图片描述

如果你访问 Github 不方便,也可以下载我整理的 Stable Diffusion 资源,然后把相关的文件上传到 Stable Diffusion WebUI 的 extensions 目录中。下载方式见本文最后部分。

缩减模型

安装成功后,我们会在主菜单中看到 Model Converter 这个插件,先看一下这几个设置:

这个插件可以转换单个模型,也可以处理多个模型,这里以“单个处理”为例。

降低精度

模型:选择一个文件大小在 4G 或以上的 SD 1.5 模型,这种模型都是能够缩减的。我这里选择的 revAnimated_v122 模型的文件大小是4G。确保模型已经上传到了 WebUI 的大模型目录,否则这里加载不出来。

自定义名称:缩减后的新模型的名称,如果不填写会自动生成,我这里自己写了一个。

Precision:浮点数精度,fp32 精度最高,fp16 和 bf16 精度比较低,但是占用的空间比 fp32 小一半。

Checkpoint Format:现在一般都使用 safetensors 了,安全。

其它设置暂时保持默认就可以了。

在这里插入图片描述

最后点击“运行”,正常情况下很快就能处理完毕,当右边出现类似下图的提示时就说明缩减完成了。

Checkpoint saved to …

在这里插入图片描述

给大家看一下文件大小的对比,差不多缩减了一半。根据这个效果,以及对 fp32 和 fp16 的对比,大致可以猜测出原来的大模型使用的是 fp32 的浮点数精度。

在这里插入图片描述

那么实际的生图效果怎么样呢?这里使用 WebUI 的 XYZ图表做一个对比,Y轴选择这两个模型。

在这里插入图片描述

注意采样器选择 Euler a,其它采样器可能存在采样不稳定的情况,每次出来的图可能有些小差别,就不好做对比了。

在这里插入图片描述

下面是生成图片的效果,大家对比下看看,确实是完全一样的,这说明缩减对模型的质量没有任何影响,Stable Diffusion WebUI 中生成图片时使用的就是 fp16。

在这里插入图片描述

去除EMA

再看一个例子。这个大模型是我从 liblib 下载的,文件大小有 6.88 G。

这里把自定义名称空了出来,让插件自己生成。

除了继续勾选 fp16 和 safetensors,这里还特别勾选了 no-ema,先不管 ema 是什么,让我们看看效果。

在这里插入图片描述

还是使用 XYZ图表 来做一个对比,这里我做了两次精简,第一次只降低精度,第二次去除ema。看下图的效果:

在这里插入图片描述

你能看出来他们之间的差别吗?反正我看不出来。

如果你觉得一两张图片可能是特殊情况,大家可以尽管去测试。

再给大家看看文件大小的变化,是不是很惊喜!

在这里插入图片描述

原理

为什么降低精度和去除EMA可以无损的压缩模型?

搞清楚这个问题需要先搞清楚模型里边都有什么东西,这部分内容主要参考了秋叶大佬的文章,并结合一些别的网络资料。看下面这张图:

在这里插入图片描述

对于 1.5 模型,其中可能包括四部分:标准模型、文本编码器、VAE模型、EMA模型。

  • 标准模型:生成图片的核心模块,潜空间中的前向扩散和反向扩散就是通过它做的,对应到图中左侧的 U-Net。

  • 文本编码器:将文本提示词转换为数学向量,然后用作生成图片的引导条件。全称是 Text Encoder,对应到图中的TE。

  • VAE模型:用于图像在像素空间和潜在空间的映射,生成图片时将图像从潜在空间转换为像素图片,目前大部分模型都自带VAE。

  • EMA模型:EMA是一种算法,用来稳定模型效果的。对于日常生成,我们只要了解这样一个事实就行了:如果只是生成,EMA模型和标准模型的效果是一样的。如果你要做二次训练,并且显卡够好,选择带EMA的模型可能更好,因为所有数据都在;当然选择去EMA的模型也能做二次训练。

所以我们从模型中去除EMA是不会影响生成图片质量的,反过来说加上EMA也不会让生成图片的质量更好。

再看精度的问题,fp32 和 fp16 是用来描述浮点数精度的,浮点数我们可以理解为小数,比如 3.1514926,在计算机中考虑到空间占用和计算效率的问题,表示小数时一般使用科学计数法并限定位数,这可能会带来一定的精度损失。

fp32代表的是float32,一般称为单精度浮点数,fp16则称为半精度浮点数,从字面上就可以看出 fp16 比 fp32 的精度要低很多。比如在精度不足的时候,2.00000 可能就变成了 1.99999。

不过这里有一个结论:神经网络训练对精度降低的容忍度非常高,精度对生成图片的影响微乎其微。这是可以得到实际佐证的,Stable Diffusion WebUI 默认就是以 fp16 处理模型中的数据的,如果模型是fp32的,那就先转换成fp16,这可以显著降低对内存和显存的使用。

所以我们降低精度时,Stable Diffusion WebUI 生成图片的效果也不会发生任何变化。

有的同学可能会问:为什么U-Net是3.2G,而不是 2.2G、4.2G?这应该是1.5模型的参数规模决定的,XL模型就不是3.2G。再详细说我也不懂了。

资源下载

本系列使用的模型、插件,生成的图片,都已经上传到我整理的 Stable Diffusion 绘画资源中,后续也会持续更新,如有需要,请关/注/公/众/号:萤火遛AI(yinghuo6ai),发消息:SD,即可获取下载地址。


以上就是本文的主要内容了,如有问题,欢迎留言沟通交流。

AIGC技术的未来发展前景广阔,随着人工智能技术的不断发展,AIGC技术也将不断提高。未来,AIGC技术将在游戏和计算领域得到更广泛的应用,使游戏和计算系统具有更高效、更智能、更灵活的特性。同时,AIGC技术也将与人工智能技术紧密结合,在更多的领域得到广泛应用,对程序员来说影响至关重要。未来,AIGC技术将继续得到提高,同时也将与人工智能技术紧密结合,在更多的领域得到广泛应用。

感兴趣的小伙伴,赠送全套AIGC学习资料和安装工具,包含AI绘画、AI人工智能等前沿科技教程,模型插件,具体看下方。

在这里插入图片描述

一、AIGC所有方向的学习路线

AIGC所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。

图片

在这里插入图片描述

二、AIGC必备工具

工具都帮大家整理好了,安装就可直接上手!

在这里插入图片描述

三、最新AIGC学习笔记

当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。

在这里插入图片描述

四、AIGC视频教程合集

观看全面零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

在这里插入图片描述

五、实战案例

纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

在这里插入图片描述

这份完整版的AIGC全套学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费在这里插入图片描述
  • 6
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Stable Diffusion 是一种基于扩散模型的生成式人工智能技术,通常用于文本和图像内容的创造,尤其是高质量的自然语言描述和图像合成。以下是几种常见的 Stable Diffusion 模型: 1. **Diffusion Probabilistic Model (DPM)**: 这种模型的核心是一个概率过程,通过逐步增加噪声来将原始信号转化为最终的随机输出。在 Stable Diffusion 中,DPM 可能是指 UNet 或类似结构的解码器网络,用于从噪声样本恢复原始内容。 2. **Latent Diffusion Model (LDM)**: LDM 是对 DPM 的改进版本,它的工作原理是在潜在空间中进行扩散,使得模型能够更好地控制生成的内容并提高多样性。 3. **CLIP-guided Diffusion**: 结合了 CLIP( Contrastive Language-Image Pretraining)这样的预训练模型,这种变体允许用户通过文本提示指导生成的过程,提供更精确的指引。 4. **InstructGPT**: 类似于 DALL-E 2,它是基于类似架构但针对特定指令处理优化的模型,能够在给定上下文中生成相关的高质量内容。 5. **GLIDE**: 由 Stability AI 公司开发的一个知名模型,它擅长结合文本提示创建令人信服的图像,并支持更复杂的设计和插图任务。 6. **Chaos:** Facebook 的另一个项目,它也利用了类似的技术,提供了更强的创意灵活性和多样性。 每种模型都有其特点和应用场景,用户可以根据具体需求选择最适合的模型。对于更详细的信息或最新进展,建议查阅最新的研究论文和官方文档。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值