bigASP 🧪 v2.5

详情

下载文件

模型描述

bigASP 🧪 v2.5

⚠️这不是一个普通的SDXL模型,默认情况下无法工作。⚠️

这是一个高度实验性的模型,在超过1300万张图像上训练了1.5亿个训练样本。它大致基于SDXL架构,但采用了流匹配(Flow Matching) 以提升质量和动态范围。

⚠️⚠️⚠️警告⚠️⚠️⚠️

你正在进入 ASP 实验室

bigASP v2.5 是纯粹的实验性模型,不适用于常规用途。

它本质上难以使用。

如果你仍希望坚持使用此模型,请遵循以下使用指南。

使用方法

目前,此模型仅在 ComfyUI 中可用。上图包含一个示例工作流,你可以将其直接拖入你的 ComfyUI 工作区加载。如果因某种原因无法使用,你可以手动构建工作流:

  • 从一个基础的SDXL工作流开始,但向模型添加一个 ModelSamplingSD3 节点。例如:

    • 加载检查点 -> ModelSamplingSD3 -> KSampler
  • 其余部分与常规SDXL工作流相同:包含两个clip编码器(一个用于正面提示,一个用于负面提示)、空潜空间、采样器后接VAE解码器等。

分辨率

支持的分辨率如下,大致按支持效果从最佳到最差排序。低于或高于这些分辨率的几乎不可能正常工作。

832x1216
1216x832
832x1152
1152x896
896x1152
1344x768
768x1344
1024x1024
1152x832
1280x768
768x1280
896x1088
1344x704
704x1344
704x1472
960x1088
1088x896
1472x704
960x1024
1088x960
1536x640
1024x960
704x1408
1408x704
1600x640
1728x576
1664x576
640x1536
640x1600
576x1664
576x1728

采样器配置

首先,与普通SDXL生成不同,你现在拥有另一个参数:shift

Shift 是 ModelSamplingSD3 节点上的一个参数,用于弯曲噪声调度。设为1.0时,无任何效果;当设为高于1.0时,采样器会在噪声较高的阶段花费更多时间,从而更注重图像结构而非细节。

此模型对采样器和调度器极其敏感,适当延长在高噪声阶段的处理时间能显著提升效果。这与普通SDXL相反,后者通常设计为在高噪声阶段花费更少时间。

到目前为止,我发现以下配置对我效果最佳。请自行调整和实验,但请预期大量失败案例。

  • Scale=1, Sampler=Euler, Schedule=Beta
  • Scale=6, Sampler=Euler, Schedule=Normal
  • Scale=3, Sampler=Euler, Schedule=Normal

除Euler外,我尚未在其他采样器上取得良好效果。UniPC 可用,但通常表现不佳;大多数其他采样器失败或效果更差。但我的测试仍非常有限,其他采样器或许能用,只是可能误读此模型(因为它是个“怪胎”)。

Beta 调度是通用性最好的选择,无需调整 scale 参数。Beta 调度在噪声调度中形成一个“S”形曲线:前半段比常规更长时间处于高噪声,后半段则更长时间处于低噪声,从而在图像结构和细节质量之间取得良好平衡。

Normal 调度通常要求 scale 大于1,3至6之间的数值效果最佳。我发现高于6并无额外收益。此设置使采样器大部分时间用于处理图像结构,可能导致细节退化。

具体使用哪种配置取决于你的偏好和生成目标。我所说的“图像结构质量”是指确保物体整体形态正确、位置合理。若结构未正确形成,常会出现扭曲、多余肢体等问题。若你做特写镜头,结构重要性较低,可调整设置以投入更多时间于细节;若是中景或远景,则结构重要性显著提升。

CFG 和 PAG

在我的有限测试中,CFG 值在 3.0 到 6.0 之间效果最佳。和往常一样,CFG 在质量与多样性之间做权衡:较低的CFG产生更多样但质量较低的图像,反之亦然。但当CFG低于2.0时,质量通常低到无法使用。

我强烈建议使用 PerturbedAttentionGuidance(PAG) 节点,将其置于 ModelSamplingSD3 之后、KSampler 之前。该节点有一个 scale 参数,可进行调整。我通常将其保持在 2.0 左右。使用PAG时,通常需降低CFG。当我启用PAG时,我会将CFG控制在2.0至5.0之间。

CFG 和 PAG 的确切数值取决于你的个人偏好和生成目标。如果你不熟悉它们,建议先设为推荐范围的中间值,再上下微调以熟悉其在你环境中的表现。

PAG 可显著提升图像质量和稳定性,但也可能使图像更具冲击力和对比度,这可能并非你想要的效果。与其他许多设置一样,这是一场平衡艺术,若效果过强,可直接禁用。

步数

我不知道,28-50?我通常用40步,但我是个怪胎。

负面提示

到目前为止,我发现最好的负面提示就是 "low quality"。空的负面提示也有效,复杂的负面提示同样可行。但仅用 "low quality" 就能显著提升生成质量,而像 "deformed"、"lowres" 等其他词对我帮助不大。

正面提示

我在此方面没有太多建议,因为我尚未充分探索此模型以确定最佳提示方式。至少你应知道,此模型在训练时使用了以下质量关键词:

  • worst quality
  • low quality
  • normal quality
  • high quality
  • best quality
  • masterpiece quality

这些关键词在训练期间被注入到标签字符串和标题中。模型通常不关心质量关键词在提示中的位置,但越靠前效果越强。你无需使用多个质量关键词,仅使用一个即可,也不需要加权。

你完全不必在提示中包含质量关键词,这是可选的。

我不建议使用 "masterpiece quality",因为它会使模型倾向于生成插画/绘画风格而非照片。我发现 "high quality" 已足够满足大多数需求,我通常以 "A high quality photograph of" 开头提示。

该模型在训练时使用了多种标题风格(得益于 JoyCaption Beta One)及标签字符串。理论上,这允许你自由使用任何提示风格。但在我的有限测试中,自然语言标题整体表现最佳,偶尔在末尾添加标签字符串以微调效果。你的聊天机器人可帮你撰写,或使用我自定义的提示增强器/撰写器(https://huggingface.co/spaces/fancyfeast/llama-bigasp-prompt-enhancer)。

若你生成成人主题内容,建议使用类似于聊天机器人常用的中性措辞描述身体部位和行为。模型应该能理解俚语,但我尝试时它们反而使生成效果变差。

该模型在大量图像上训练,概念覆盖较广,但尚未达到像Flux这样的全网级模型水平。

实验室(v2.5 的不同之处)

此模型是为准备v3而进行的副实验,包含了我想尝试和学习的各种奇怪元素。

与v2相比:

  • 标题生成:数据集使用 JoyCaption Beta One 进行标注,而非早期版本的 JoyCaption。
  • 更多数据:从v2的600万张图像增至1300万张。
  • 动漫内容:数据集中包含了大量动漫/兽迷等类型图像。
  • 流匹配目标:我用撬棍撬开SDXL,然后用胶带粘上了流匹配。
  • 更多训练:从4000万训练样本增至1.5亿。
  • 冻结文本编码器:两个文本编码器全程保持冻结。

那么,为什么?

标题生成的更换只是因为我在数据准备时刚好完成Beta One,就顺手替换了。我希望Beta One更强的性能和多样性能赋予模型更灵活的提示能力。但由于文本编码器被冻结,我不确定是否真有实质影响。

更多数据当然是好事。最重要的是,我加入了许多原本带有现成alt文本的图像,并精心平衡以涵盖尽可能广泛的概念。这旨在扩展模型在训练中接触的图像和标题风格多样性。

加入动漫等内容基于两点原因:一是希望拥有统一的模型,而非在写实与非写实之间分裂;大模型(如GPT-4o)显然能同时胜任这两种风格,因此至少是可能的。二是我希望写实部分能吸收动漫/兽迷侧的丰富概念。后者的内容和概念范围远超写实数据,而写实数据集受限较多,导致基于它们训练的模型缺乏创造力。

流匹配是多数现代模型(如Flux)所采用的目标函数,它能带来更高品质的生成,但也固定了噪声调度。SDXL的噪声调度存在缺陷,导致多种问题,最明显的是结构生成能力差。这正是SDXL模型常出现重复肢体、融化物体和“小帮手”等问题的主要原因。它也阻碍了SDXL生成高动态范围、暗或亮的图像。切换到流匹配能解决所有这些问题。

更多训练当然更好。v2(及v1)最大的问题之一是失败生成率过高。经过大量实验,我发现主要原因有两个:SDXL的坏调度,以及更重要的是——训练不足。像PonyXL这样的模型训练时间远长于v2。通过将训练样本从4000万增至1.5亿,v2.5现已达到PonyXL的训练规模。

至于冻结文本编码器,我本无意将其作为此模型的特性,这仅仅是因为我在处理训练不稳定性时的临时做法。

有效与无效

最大的改变是流匹配。此前有人尝试将SDXL改为其他目标(如v-prediction),但我认为没人试过切换为流匹配。结果……它有效了。我认为这是一次成功。由于结果与更多训练混杂,很难判断流匹配是否真正提升了SDXL的输出质量,但它明确提升了图像的动态范围,这是我非常享受的。此外,如上所述,固定的噪声调度很可能是v2.5失败生成远少于v2的主要原因。

更多训练也几乎肯定提升了模型性能。结合来看,v2.5的失败生成率已大幅下降。

更多数据和加入动漫等内容似乎确实拓展了模型的概念和创造力。我现在能生成更广泛、更具艺术性和创意,同时仍保持写实风格的图像。

然而,v2.5并未获得真正生成非写实内容的能力。我尝试生成动漫风格图像完全失败。很奇怪。

冻结文本编码器是双刃剑。通过冻结,它们保留了最初大规模训练所获得的所有知识和鲁棒性,这非常有用,尤其对像我这样缺乏同等规模资源的实验者而言。

缺点是,未经微调会导致提示遵循性严重下降。v2.5经常出现困惑,例如看到“beads of sweat”却生成一串珠子而非汗水。

因此这是一种权衡。由于文本编码器被冻结,v2.5大概也无法从JoyCaption Beta One的改进中获益太多。

训练LoRA与模型合并

老实说,我不知道这模型能否合并。它基于与原版SDXL不同的训练目标,合并会很奇怪。但似乎有人已将其与DMD2合并并成功了?谁知道呢。

至于使用现有LoRA,情况相同:可能无效,但无法确定。

训练LoRA同样可能无效,因为此模型使用了不同的训练目标。

我当然不喜欢这个,但这个模型原本只是个实验,因此对LoRA等的支持并不是优先考虑的。v3将会基于已有工具的模型,或者如果我不得不再次走自定义架构的道路,我会随它一起发布工具。

支持

如果你想帮助支持这类愚蠢的实验、JoyCaption,以及(希望的)v3:https://ko-fi.com/fpgaminer

此模型生成的图像

未找到图像。