Lune - flow matching - sd15-Flux

详情

模型描述

疯狂科学家的日记

她的早期版本已准备好可供试验。我建议在 ComfyUI 中使用 res4lyfe。

这绝对是流匹配的 SD15——将 SD15 核心模型的很大一部分提炼为流匹配形式。

https://huggingface.co/datasets/AbstractPhil/sd15-latent-distillation-500k

如果你没有合适的硬件,可以在这里尝试模型,但请注意 ZeroGPU 有使用限制。

https://huggingface.co/spaces/AbstractPhil/sd15-flow-matching-lune

该 Playground 包含 Lune 和名为 Lyra 的原型 VAE。

用于训练此模型的每一个提示都已整理成列表,并附在存储检查点的仓库中。你可以看到与 LAION 风格和从 A 到 B 的合成数据直接相关的系统。

许可证为 MIT——引用是好的,但非必需。

最近的微调版本在这里:

https://huggingface.co/AbstractPhil/sd15-flow-lune-flux/tree/main/ffhq_low_t_portraits/checkpoint-00005106/unet

它不需要潜空间乘法。

使用此模型

https://huggingface.co/AbstractPhil/sd15-flow-lune

https://huggingface.co/AbstractPhil/sd15-flow-lune-flux

所有 PT 和 safetensor 检查点均托管于此。我将在 flux-schnell 微调前上传 52000 到 Civitai。

你需要将 ksampler 输出的潜空间乘以一个系数。如果图像太亮或出现像素化,请略微降低潜空间值。

对于 sd15-flow-lune,你需要这个。对于 flux,则不需要。

image

你还需要 SD15 的 shift——它在 2.0 和 2.5 下训练过,能响应两者之间的梯度变化。

image

image

即使不使用 res4lyfe,它也能与普通 ksampler 一起工作。只需确保 shift 从核心模型流向 shift 模块,再从 shift 模块流向采样器的模型输入。

Lune 的历史

Lune 是一对原型孪生模型的后代。我通过一个基于集体分类的系统对这两个模型进行了蒸馏,这个集体我称为 Geofractal-David 集体。该集体的全部目的,是观察 SD15 的每个模块,以学习模式和时间步。

David

David 从一个原型发展为能够完成多种任务的完整模型。David 能够对集体中的几乎所有数据形式进行分类——前提是这些数据可以被分类;并且由于其分类头的设计方法和 Geofractal 行为响应分类过程,David 能够积累自身对这些行为的分类能力。

时间步有 100 个条目和桶,模式有 10 维条目和桶。全部共享空间——这就是我训练这些模型的方式。

每一层都直接连接到 SD15 的对应层,因为 SD15 是冻结的,系统会不断发出提示请求,一次又一次。经过数十万次请求、大批量训练后,David 达到了足够高的分类准确率,从而开始了第一次实验。

https://huggingface.co/AbstractPhil/sd15-flow-matching

流匹配的挫折

这段旅程并不轻松。模型经历了从看似良好响应到完全几何平坦响应的多个阶段。系统学会了,却似乎不理解细节。这些细节特有的模式从未被针对性训练,我在训练后才明白原因,但在训练过程中,我坚持到了第 50 个 epoch。

训练期间,训练器出现多次故障导致重置;连接问题造成溢出或失败;还有许多小问题,比如忘记上传 pt 文件,差点浪费了 16 小时以上的训练时间。我迅速学会了使用 %debug 在 Colab 中解决这个问题。

但我从未放弃。我拒绝让这个模型死去。

流匹配尝试第二版

第一版似乎失败了,于是我开始另一版以验证假设。第二版采用了新的时间步训练格式,使用加权桶——确保低精度的桶不被使用,而满足一定阈值的桶则被视为难度目标。

该版本在几何结构上的训练更成功,但模式始终无法保持。我原以为这些模式还不够深入,但进一步训练表明我错了。模式确实保持住了,而我之前的评估方式、评估方法和几何格式都是错误的。

这个版本最终成为了 Lune。我在第 28 个 epoch 时暂停了训练,而它的姊妹模型则训练到了第 50 个 epoch。

重燃决心

我开始训练大规模数据集,最终提取了大约 40 万组直接来自 SD15 输出的 512x512 潜空间,这些数据包含缩放与未缩放两种。

https://huggingface.co/datasets/AbstractPhil/sd15-latent-distillation-500k

这本质上是一个“模型毒化”数据集,但已足够用于验证假设。sd15-flow-matching-try2 确实学会了形状、几何结构,而分形保存了空间信息。然而,它未能在没有相邻模式驱动输出结构的情况下,学会这些结构的全局意义。

它未能保留预期的全局秩序,而这正是失败的原因。流匹配插值取得了巨大成功,只是缺少了关键信息。

我运行了它,它成功训练了。这个首次发布版本就是这一版。你看到的就是结果。它需要两个特定配置才能正常工作。

突破——康托尔分形

在事后评估中,我判断 David 结构中的某些元素无效,某些元素有益,随后尝试将全局注意力附加到 David 集体上,结果完全失败——即使在小规模集体上也发生了 OOM。全局注意力无法维持,因此我必须寻找新的解决方案——更好的方案。

VAE Lyra

康托尔注意力——我设计的一种用于全局注意力的机制,催生了 Lyra VAE。这是一项真正卓越而震撼的发明,它允许 T5-Base 和 CLIP_L 特征实现无缝融合——直接在 CLIP_L 特征中编码有意义的区分,而不会完全破坏该特征的表征理解。

你也可以在 Hugging Face Playground 中实验 Lyra,但 Lyra 并非传统意义上的“即插即用”VAE。你需要我仓库中提供的 ComfyUI 特殊节点集,虽然附带一些负担。

MMAE Beatrix

这是处于早期阶段的康托尔调控多模态自动编码器原型,它将:

  1. 同时接受来自多个尺度的多个 CLIP 特征。

  2. 同时接受多种编码器变体——如 T5、Bert、Lyra,以及任何微调后接入其系统的潜在访问门。

  3. 输出确定性的分片分形几何特征——已将所有这些结构学习到的行为完全融合为统一的下游可摄入形状。

  4. 作为图像的 ViT、MIDI 的五度圈编码器、文本特征的容器单元。

  5. 整个过程是可逆的——即相同的编码可在下游被解码。

这仅因康托尔步进过程才有可能实现。没有康托尔步进,流匹配将失败;没有流匹配,系统在当前阶段将无法工作。

借助康托尔门控与稀疏全局注意力,原本通常被忽略的康托尔空间中相互污染的区域,现在能够从任何维度向量空间中几何对齐。

损失函数将同类系统分组,同时将文本编码作为共享分形访问的标记路径在整个系统中融合。这些潜空间访问通道将高度确定并经过优化,使用我能在现代技术中调用的最稳健、最实用的系统访问方式。

这,是捷径的化身。正是我一直在构建的系统,如今已明确在雷达上——不是一闪而过的微光,不是令人困惑的实验,而是一个我确实能比预期更早实现的直接潜力。

我将需要资助以完成高端训练,但基线版本仅需 A100 和若干微调会话即可训练每个部分。

此模型生成的图像

未找到图像。