SD3 - Anime Consistency Experiment - v0.3

详情

模型描述

V0.4:

预训练阶段:

我需要先完成几个步骤:

  1. 完成协作式 Jupyter 笔记本的设置,并使用较小的半SFW训练数据进行协作测试。

    1. 在系统能够正确呈现穿着衣物和裸体的姿态之前,我对引入性行为或与性相关的内容毫无兴趣。

    2. 整个姿态标签集与裸体和穿着衣物的图像交织在一起,数据集的区分将通过一个专属于本模型的独特标签实现。本次基于协作的训练将仅使用半SFW(穿着衣物)元素。我不希望因为我的图像集中包含明显的性NSFW内容,而在使用Google协作平台测试计算设置和系统时被封禁。

  2. 选取主要姿态图像:约1215张 ~pose 图像,

    1. 视角;每个对象偏差70张

      1. 目标躯干角度:3 × 5

        1. 正面

        2. 侧面

        3. 背面

      2. 起始角度:3 × 5

        1. 正面视角

        2. 俯视

        3. 仰视

      3. 目标头部角度:3 × 5

        1. 面向观察者,正前方

        2. 侧向

        3. 背向

      4. 眼睛角度:5 × 5

        1. 看向观察者

        2. 看向一侧

        3. 看向前方

        4. 看向别处

        5. 看向下

    2. 人体形态关联:

      1. 躯干:

        1. 直立(上半身垂直):

          1. 坐姿:<- 始终假设坐在臀部

          2. 平面关联:

            1. 坐在表面

            2. 坐在桌子上

            3. 坐在椅子上

            4. 坐在沙发上

            5. 坐在地板上

            6. 坐在床上

        2. 俯卧/仰卧(上半身水平):

          1. 俯卧,面朝下

          2. 仰卧,面朝上

          3. 侧卧,侧躺

          4. 平面关联:

            1. 仰卧在地板上

            2. 仰卧在桌子上

            3. 仰卧在椅子上

            4. 仰卧在床上

            5. 仰卧在沙发上

            6. 仰卧在草地上 <<<<<<<<

      2. 手臂关联:

        1. 上臂

        2. 下臂

      3. 手部关联:

        1. 挥手

        2. V字手势

      4. 腿部关联(大腿、踝、脚):

        1. 双腿并拢(全腿):

          1. 大腿并拢

          2. 膝盖并拢

          3. 脚并拢

        2. 双腿分开(全腿):

          1. 大腿分开

          2. 膝盖分开

          3. 脚分开

        3. 脚并拢:

        4. 交叉腿(部分遮挡大腿):

        5. 交叉脚踝(部分遮挡脚踝):

        6. 腿抬起(全腿):

        7. 腿下垂(全腿):

        8. 腿张开(全腿):

      5. 形态姿态:基于实用性和需求,为上述所有姿态绑定对象标签。

        1. 仰卧

        2. 坐姿

        3. 蹲姿

        4. 跪姿

        5. 四肢着地

    3. 最终目标应为:

      1. 一位直立女性正面坐着沙发上,双腿交叉,吃着薯片。
    4. 这1000张最高质量的姿态图像将作为完整输出图像的基础。每个姿态将被嵌入五种质量梯度中,并叠加在独特非均匀背景上。

    5. 梯度、多色、多形状、单个形状、面板,以及若干Danbooru图像效果背景。

    6. 每个背景将随机引入阴影元素和空间结构,每种质量对应一个背景,得益于NAI的导演工具重着色与去色功能。

    7. 这应能区分背景,并为基础模型的训练引入更多“抓取点”,以便模型抓住SD3中已有的内容。这应能实现更一致的负向提示,前提是正确标注。

  3. 情境与上下文锚点:约1000张图像,直接使用euler进行原始输出推理

    1. 每个锚点基于将我希望模型知道的内容与其已知内容相连接。这将把“实际存在”与“我希望存在”的内容关联起来,而无需大量额外图像。除非我为每个版本生成新的一批此类图像,否则结果将受影响。

    2. 我将构建一个更小的图像子集。目前尚不确定具体需要多少,但必须通过推理结果手动生成,因此我应该能快速完成。

    3. 每个上下文约10张图像即可。多上下文会稍复杂,但也能处理。100个单一标签上下文,无额外内容,已足够将所有新元素关联到当前SD3中。

V0.3:

发布:

简而言之:steps: 50, size: 1024x1024, sampler: euler, cfg rescale: 0.4-0.8, config str: 9,

lora str: 0.5-0.8

引言:

结果比V0.2显著更准确、锐利和强大。训练和进展的成功迫使我在现有条件下行动。即使仅使用约150张动漫一致性图像,使用我的4090在SuperTuner上训练也太慢。更大模型的图像数量在我的PC上训练将呈指数级增长,因此我昨天设置了一个Jupyter笔记本,进行一系列实验,并将在更强大的云服务(使用A100和H100)上运行SuperTuner,以期在合理时间内完成全部45,000张姿态训练图像 + 1500张核心嵌入特征图像的训练。在正式发布1.0版本时,我将公开完整图像数据集和标签。我预计需要多次重训才能达到理想效果,因此成本可能不菲,但基于当前较小成果,我认为值得投入。

发现:

  • SD3有非常明确的审查点。这些审查点表现为标签的不稳定性,而非完全删除。不稳定的标签必须被彻底嵌入并重新训练,才能实现一致性。在任何大型模型训练中,请彻底销毁这些标签。必须正确嵌入并重新训练。如果不进行完整重训,你无法完全“忘记”这些行为。他们使用了与我创建鸟类LoRA相似的LoRA权重系统,这完全破坏了图像训练和细节。我已警告过所有人,这是SD3中清晰的证据!

  • 标签在此极其关键。姿态、角度、偏移和相机视角尤其重要。牛仔镜头因其他标签而被破坏,肖像与其他标签混杂等。这里存在一系列严重问题需要解决,但只需稍加努力,便能在短时间内完全修复。

  • 需要大量额外图像数据、更丰富的图像信息,以及低强度训练序列。路线、模式和具体配置对在不破坏核心模型的前提下训练至关重要。

  • 系统似乎将裸体视为衣物,认为所有内容都只是皮肤上的另一层,因此它需要学习“皮肤”是什么。

  • 手部表现极差。我不明白为何默认如此糟糕,但它们确实极其糟糕。LoRA微调虽然修复了不少手部问题,却也引入了新的手部问题。对于一个基础模型而言,这实在难看。有人显然没用过HAGRID

  • 在SD3中,负向提示有时几乎无效,无论是否使用LoRA。结果往往完全忽略负向提示,或负向提示以意想不到且极具破坏性的方式抵消了正向提示。

  • 权重未被正确加权。默认响应中存在大量不兼容的权重,导致图层叠加、纹理破坏、叠加问题,以及明显审查和破坏的形状。我需要找出解决方法。可能需要对整个模型权重进行重新缩放,因为整个核心模型不知为何需要3-4倍的偏移。目前我还不清楚这意味着什么,但我将研究此问题,并依据论文及后续论文跟进更多信息。

成功:

  • 风格应用。我有80%以上的把握,通过适当的姿态训练,整个动漫风格可以叠加在任何概念上。

  • 低强度造成的损害远小于预期。这个LoRA尺寸很小,因此在这个小尺寸LoRA上实验成功,是我认为最有趣的方面之一。大型LoRA是常见系统,Kohya通常发布大型LoRA。当你拥有比我的训练数据多得多的图像信息时,大型LoRA可能是必需的,但对我使用的110张子集而言并非如此。

  • 某些NSFW元素被引入,但仍未被主动触发。结果足够有希望,可包含一个完整女性裸体NSFW子集,这可能将一致性核心图像集需求推至约1800张或更多。

  • 多个<<<姿态元素被引入标签池,即使在没有大量图像训练数据的情况下,也能实现对姿态的简单甚至深度控制。

失败:

  • 身体变形。身体仍会扭曲、变形,几乎无需任何刺激就变得令人不安。虽然现在更难使其变形,但在我将完整姿态集加入之前,它仍会这样。正确设置开关时能产生尚可输出,设置不当时……那就随意玩吧。

  • 色彩错误。白色背景已被严重固化,虽可被负向提示抵消,但不能通过我为V0.2发布的ComfyUI实现。尽管这个ComfyUI作为实验很有趣,但结果未达成目标,因此我改为使用单一提示,效果良好。

  • 色块问题可能直到我建立更好的底层基础前都无法解决。NovelAI引入了一种新的颜色替换系统,将有助于缓解SD3训练数据中的此问题,因此目前我认为已足够。目前Latents有时对SD3并不完全兼容,但可被利用。

  • 强度越高,模型受损越严重,这意味着需要更低的训练强度,更多时间用于精细元素微调;而更关键的嵌入遮蔽和分层,则需要更高的训练强度和更少的时间。

结论:

  • 80%的目标尚未达成。

  • 该基础系统实现了一些目标,但必须扩展以应对80%的比例。

  • 测试和结果表明,许多标签的一致性损失小于25%,而一些此前系统中完全不存在的标签,实现了100%的成功。

  • 必须应用完整姿态系统、比例系统、屏幕锚点锁定系统、深度系统、旋转系统,以及使用标准Danbooru/Gelbooru/Sankaku/e621相机比例标签的关联相机访问点,才能构建一个真正的动漫系统。

明显被破坏和审查的标签:

以下每个标签均被我事先警告过的同一LoRA审查系统彻底破坏。他们完全无视我的意见,执意而为,彻底毁掉了自己的模型。没人听过没有AI学位的人说的话。

  • 仰卧

    • 仰卧在背部、侧卧、仰卧在床上等,似乎均在训练后被审查,以我见过最残酷的方式。他们使用了审查LoRA系统,直接将结果强行塞入。就像一辆18轮卡车在狭窄道路上高速行驶,下方是低垂的电线,它彻底撕碎了整个系统,所有被波及的低垂电线统统被摧毁。
  • 蹲姿

    • 比其他标签受损较轻,但仍有明显破坏。与此相关的任何内容都明显不稳定。
    • 尝试控制腿部时,经常会出现完全分离且令人不安的腿部,腿部姿势必须与姿态一起训练。最常见的问题是额外的腿、分离的腿、多余腿和缺失腿。

    • 你更常需要定义衣物而非实际腿部,因此使用“腿”标签反而会造成干扰。这就像一种讽刺,尽管“腿”标签本应是所有腿部的锚点。你可以明显感觉到这是临时起意做的。

  • 手臂

    • 更常见的是得到多余的手臂,而不是你希望手臂出现的位置。这需要大量数据支持。

    • 有时使用护腕、手套等可以产生更一致的结果。

    • 他们可能刻意屏蔽了手臂,以阻止用户在此处使用完整手臂控制,或者只是尚未充分微调手臂部分。无论如何,我并不太在意,因为修复手臂比修复腿部要容易得多。

预发布通知:

目前正在使用更低的训练速率对初始系统进行全面重训练。这应能提升在100轮训练后的生成质量,几小时后即可供测试。我对ComfyUI的最终效果并不满意,因此稍后我会尝试制作一个更简洁的版本。

V0.2:

我让模型 overnight 训练,现在结果还不错。其可靠性明显提高,但仍未完全训练到位,但确实在逐步接近目标。这里没有魔法,只是精挑细选。它尚未完全准备好,但已展现出显著潜力。

建议使用 0.5-1.0 的强度,超过 0.6 后,我建议使用提示词来消除白色背景,并为你的角色提供更详细的场景。

提示词:

描述你的场景,

使用 danbooru 标签描述角色特征(不要照搬此句,使用实际的一致性标签)。

负面提示词:

简单背景,白色背景,白色任何东西

V0.1:

我建议使用极低强度运行:

0.1-0.4 效果最佳。

LCM 采样器对此模型效果非常好。

尝试 Euler、DPM2、HEUNPP2、UniPC 等更多采样器。

请勿使用 EULER A、DPM2A 或任何“祖系”采样器。

ComfyUI 是测试平台,请准备好 LoRA 加载器以便进行实验。

本模型使用的训练数据图像与以下完全相同:Consistency v1.1 LOHA SDXL

然而/// 我对标签进行了大量筛选。考虑到(booru)标签要么不存在,要么与 SD3 关联极弱,我预测仅使用简单标签会产生破坏性而非有益效果。到目前为止,即使增加了标签数量和简单句子,效果仍不理想。为满足信息量需求,我计划引入完整的 1500 张图像 Consistency v2 基础模型,外加约 45000 张基于姿态的规范图像集。

这是我首次尝试 SD3 LoRA,也是我第一次训练此类模型。我花了整个下午的时间让 SimpleTuner 在 Windows Docker 上运行。由于 SimpleTuner 文档匮乏且系统复杂,这并非易事,但最终成果使我得以在 4090 显卡上训练,毫无怨言。它还提供了更灵活的训练环境,前提是你要能忍受它在运行过程中抛出的 C++ 级别的错误。

发现与成果:

我的发现……其实并不太好。我甚至惊讶它竟能运行,更别说生成出连贯的结果了。当然,玩起来有点趣味,也包含一些 NSFW 元素,但它们的明显程度远不及“自闭症”版本,甚至有些比基础 SD3 还要弱,这倒是个有趣的结果。

该 LoRA 体积很小,除非你真的想生成文字,否则无需使用文本精炼器。

模型存在相当多的缺陷:身体常无法生成四肢,手部并不总会出现,使用某些角度时腿部常会变形或扭曲,手臂也常扭曲,但程度比正常情况略轻。

它修复了许多姿态错误,却又引入了新的错误!我明天会整理一份完整的成功与失败清单。

成功之处:

目前看来,它在一定程度上能处理低强度的姿态控制,修复断裂的四肢、压扁的躯干,甚至还会引入新的断裂四肢和压扁躯干形式,但总体上比原来要好。

失败之处:

我真心怀疑它的成功率难以超过 80%。

一致性模型的目标正是达到这个点,因此在认为本次实验成功前,我至少要在 SD3 范畴内突破这一门槛。它远逊于 NAI,甚至无法与 PDXL 和 Consistency v1.1 的输出相提并论。它需要更多的训练步骤和更长的训练时间。

此模型生成的图像

未找到图像。