歸藏 2024-06-11 15:56 北京
SD 发布前 Reddit 一个老哥写的介绍帖子,用通俗的语言介绍了 SD3 主要升级的内容以及这些改动的重要性,还有 SD3 的发布对社区的意义。
Summary 简介
有任何问题以及想法欢迎随时交流。
SD 发布前 Reddit 一个老哥写的介绍帖子,用通俗的语言介绍了 SD3 主要升级的内容以及这些改动的重要性,还有 SD3 的发布对社区的意义。
概述
大家好!看起来我们将迎来美好的一周,因为我们正在进入一个更新、更好的架构,这将带来一些令人兴奋的发展。
在这篇文章中,我将尽量保持简洁明了,让非专业人士也能理解 Stable Diffusion 3 发布的重要性和关键细节。我会更多地使用类比(尽量避免技术细节),并讨论其长期可行性。
如果你是工程师或研究人员,请记住我会尽量概括以方便阅读。另外,如果你是 Stability AI (SAI) 的员工,欢迎随时指出任何不准确的地方,我无意误导大家。
文章最后,我会尝试澄清一些社区关注的问题以消除困惑(其中一些已经在讨论要点中提到了)。
总之,以上只是我个人对这些事情的看法,在此与社区分享。
VAE 是默默无闻的英雄
VAE(变分自编码器)非常特别,因为我们现在有 16 个特征和色彩数据通道可用,而之前的模型只有 4 个通道。从下图可以看出,使用更多通道会产生巨大影响(图片来自 Emu 论文)。
总的来说,这意味着模型训练时能捕捉更多细节。不仅你训练的模型质量会更高,实际上训练速度也会加快。主要的 MMDiT(分层多尺度扩散模型,Multiscale Multilevel Diffusion Model in Latent Space)模型(生成图像的核心模型)也能更好地捕捉细节。这篇 文章[1] 对这些通道的具体内容有很好的(但非常专业的)解释。
理解了这一点,我们就能消除关于图像分辨率的困惑。u/mcmonkey4eva[2](具体帖子找不到了)提到,与旧模型相比,新的 16 通道 VAE 在 512x512 分辨率下表现出色。简单来说,即使在较小的图像尺寸下,通道维度上足够的特征量也能捕捉很多细节。
为了更形象地说明,我打个比方(如果你了解视频原理,可以忽略其中的细微差别)。过去我们既有 VHS 也有 DVD,它们都属于标准清晰度。尽管两者分辨率都是 480i/480p,但 DVD 显然能捕捉更多细节,而且与硬件和软件放大器配合得很好。
再举个例子,如果你玩过复古游戏或在老游戏机上玩过游戏,可以这样想象 512x512 分辨率:
•复合线缆 -> SD1.X VAE•S-Video -> SDXL VAE•分量线缆 -> SD3 VAE
考虑到这两个类比,再结合我们目前拥有的 AI 升频、工作流程等方法,从长远来看,一切都会变得更高效,包括视频生成(以低分辨率训练以适应显存,再通过保留细节的升频流程处理)。
无需训练/微调文本编码器
众所周知,训练文本编码器可提高基于 SD1.X 和 SDXL 的模型性能,原因有很多。但我个人认为,从长远来看,由于大量的微调和模型合并泛滥,这实际上是低效的。推理时大量的权重调整和修改使得更难以捕捉我们希望在创作过程中得到的细节。
虽然小规模下还好,但随着社区的扩大,它变得非常麻烦。而且从技术角度讲,CLIP(对比语言-图像预训练,Contrastive Language-Image Pre-training)模型本来就很难训练和微调,所以尝试同时训练三个编码器可能会是个艰巨的任务。
此外,与旧模型相比,VAE 能捕捉更多细节。更重要的是,不管用哪个版本,SD3 都是在合适且丰富的标题数据上训练的,以捕捉大多数人关心的所有重要细节。考虑到这两点,我们根本不需要微调文本编码器。让新架构和 VAE 来为我们捕捉这些细节,使我们能更好地利用多个 LoRA(低秩自适应)模型实现更强大的图像生成。
加速新 AI 研究
这一点可能很少被提及,但我在此补充一下。目前,生成式(媒体)AI 社区和大语言模型(LLM)社区之间缺乏协同。我相信,随着 MMDiT 架构与 LLM 社区中的架构更加一致,我们会看到更多开发者涌入我们社区,带来他们广泛的研究成果和方法。
这非常有潜力,因为 LLM 社区已经创造了许多可以应用于生成式媒体的伟大方法(如源自文本建模的 LoRA)。但架构之间互操作性的缺乏(当前 SD 使用 U-Net,SD3 使用 Transformer 块)可能会让人望而却步。
虽然这只是推测,但我真诚地相信,我们会开始看到这两个领域开发者和研究人员的共同成长,拓展多模态(文本、图像、音频、视频等)功能,创造出只有开源社区才能提供的非常酷的体验。
旧方法变得更好
虽然 SD3 可能无法应用所有方法,但据谷歌学术引用,迄今为止已有 7500 多篇论文是在 Stable Diffusion 模型基础上发展的。自发布以来,SD 在许多方面加速了该领域发展,让我们现在能瞬间生成图像、视频、音频,甚至 3D 模型。
所有这些知识都有可能迁移到更新的架构中,从而在应用于 SD3 模型时取得更好的效果。无论是微调、ControlNet、Adapter、分割等方法,理论上在 SD3 上的表现都会优于之前的架构。而且,由于 SD3 架构简单,一切都会变得更易用、更易访问。
事实上,由于 SD3 强大的图像-文本对齐能力和 VAE,你可能都不再需要其中一些方法了。音频扩散就是一个常被忽视的例子,它将音频源转换为图像(这里省略技术术语),训练后再转换回音频。我们现在可以在新架构上训练这些方法,进一步提高模型的质量和稳健性,这同样适用于视频扩散和 3D 扩散模型。
正如前面提到的,ControlNet 和 Adapter 将变得更好,因为 SD3 本质上是个多模态架构。这意味着文本、图像、音频等不同模态之间能有更好的关联理解。随着我们构建新的使用方法,将能在同一空间利用这些模态。再加上更好的文本理解和强大的 VAE,你应该明白我的意思了!
社区
我看到社区中对 SD3 的一些担忧,虽然我不一定认为它们是不公平的,但有些可能存在误解。我将试着在这里澄清一下。请记住,这些不是真实评论,而是我根据潜水时看到的大量讨论总结改写的。
评论: SD3 2B 意味着我们得到的是阉割版模型。
回应: 这不对。几乎在所有情况下,数据和训练方式才是最重要的。如果 8B 模型训练不足,体量小得多的模型就能超越它,包括旧架构的模型。据我所见,SD3 远未被阉割(非常非常远)。要知道,一旦 SAI 认为 8B 版本已完成,它的表现应该会在各方面都优于 2B 版本。
⎯
评论: 如果他们发布不同规模的模型,会导致 LoRA 和微调难以通用。
回应: 虽然这种担忧有道理,但我认为不应这样看问题。所有版本使用同样的架构,只是扩展规模不同。
其次,正因为承认了前一点,创建高效方法来利用跨模型的信息变得更容易了,无论规模大小。
我最后要说的是,我觉得社区最终会像 LLM 社区那样,选定一个主要版本。
⎯
评论: 为什么又发布 512 版本?不可能的,伙计!(我注:我相信会有 1024 和 512 两个版本,如果我错了请指正)
更正。不会有 512 版本。 请看这条 评论[3]。我保留了下面的回复,因为它包含了一些关于低分辨率推理的有用信息。
回应: 在 VAE 部分我提到过这一点,但在这里我想再多说几句。对于低端用户和追求速度的人来说,能使用 512 版本的模型真的很酷。
我从个人角度举个例子。我喜欢研究视频模型,开发基于它们的库。如果能有一个 512 分辨率的模型,具有可扩展性、良好的提示一致性、显存友好,那就太棒了。
比如最近发布的 ToonCrafter,它以 512x320 分辨率运行。如果我们用基于 512 的 SD3 配合 16 通道 VAE 来训练它,然后用动漫升频器之类的东西放大,与之前的架构相比,会产生更少的伪影。此外,从创意的角度来看,速度和质量同样重要,而这种方法两者兼顾。
换句话说,它能加快研究和开发速度,让那些无法使用企业级硬件的人也能参与其中。
⎯
评论: 它可能审查很严,不易训练。
回应: 每个 Stable Diffusion 模型 都有足够的先验知识,可以在各方面进行高质量微调。
SD3 经过训练,在捕捉缺失或未见内容方面远胜以往,无论你想微调什么,都会比以前更容易。
在我看来,它不太可能以让社区不满的方式进行审查(可以参考 Diffusers 库中 SD1.5 的安全检查器)。而且据我所见,它在写实主义、表现主义艺术、动漫等各个方面都表现出色,这应该会让微调变得更加容易。
⎯
评论: SD1.5 和 SDXL 的质量比 SD3 更好,我为什么要用 SD3?
回应: 理由有很多,但在大多数情况下(除了在早期阶段缺乏工具支持),几乎没有理由 不 使用 SD3。
你说得对,在很多甚至几乎所有方面,SD1.5 或 SDXL 的微调模型(不是基础模型)的美学质量能与 SD3 相媲美或超越它。但这并没有完全体现出新模型的特别之处。
使用 SD3,你将能更好地控制创作输出,创造出富有变化而不单调的构图(这一点很重要)。为了更好地说明这一点,可以去 r/weirddalle[4] 看看 DALLE 3 生成的大量变化。
与之前的架构相比,SD3 在对比度、提示遵循、训练效果、模型合并、分辨率、视频等方面有着无法企及的优势。简而言之,打补丁的工作会减少,你可以更专注于创造力。不容忽视的一点是,SD3 强大的架构使其无论是在技术上还是在社区建设方面都能实现规模化,从而实现更加流畅的工作流程。
总结
总之,我非常期待 Stable Diffusion 3 的发布,以及它为生成式 AI 社区带来的未来变化。我也期待着看到我们使用最新版本创造和开发的所有很酷的东西!
原文地址:https://www.reddit.com/r/StableDiffusion/comments/1dcuval/the_importance_of_stable_diffusion_3_its_standout/[5]
References
[1]
文章: https://huggingface.co/blog/TimothyAlexisVass/explaining-the-sdxl-latent-space#the-8-bit-pixel-space-has-3-channels[2]
u/mcmonkey4eva: https://www.reddit.com/user/mcmonkey4eva/[3]
评论: https://www.reddit.com/r/StableDiffusion/comments/1dcuval/comment/l80v9an/?utm_source=share&utm_medium=web3x&utm_name=web3xcss&utm_term=1&utm_content=share_button[4]
r/weirddalle: https://www.reddit.com/r/weirddalle/[5]
: https://www.reddit.com/r/StableDiffusion/comments/1dcuval/the_importance_of_stable_diffusion_3_its_standout/