MOSS-Image-heal:让 fp16 推理安全的完整微调

ComfyUI Wikinews

KohakuBlueleaf 的 MOSS-Image-heal 重新训练 MOSS-Image-Base,使其残差流不再剧烈尖峰:fp16 不再逼近上限运行,ComfyUI 可直接使用 bf16、fp16 与 int8 文件。

<strong>MOSS-Image-heal</strong> 是 LyCORIS 与 KohakuMoss 作者 KohakuBlueleaf 对 MOSS-Image-Base 的完整微调。它并不追求新的外观风格:而是把残差流重新训练回合理范围,使最大激活值从 58,411 降至 3,083,fp16 推理也不再运行在距离自身上限仅 6% 的位置。输出与基础模型保持接近,发布版本提供 bf16、fp16 与 int8 ConvRot 单文件,采用 ComfyUI 的键名布局。
MOSS-Image-Base 与 MOSS-Image-heal 在相同提示词和种子下的对比

基础模型与 heal 使用相同的提示词、种子、16 步、CFG 3 与 shift 5,图来自官方模型卡片。

它训练所要消除的问题

MOSS-Image 是一个 5.08B 的单流扩散 transformer,其残差流中承载着少数极大的通道。在作者的六样本探测中,基础模型上最大的流值为 58,411,而 fp16 上限为 65,504,仅剩 1.12 倍余量。任何稍微加大激活强度的因素,或任何计算略宽中间值的 kernel,都会溢出为 inf,图像随即变成全黑或损坏。这也是 Comfy-Org 的重打包版本提供 bf16 与 int8 ConvRot 文件、而不提供 fp16 版本的原因。

每个 block 中最大的残差流值,基础模型与 heal 对比

在 1024² 面积下六个文本-图像样本中,每个 block 的最大绝对流值。图表来自模型卡片。

测量项MOSS-Image-BaseMOSS-Image-heal
最大流值58,4113,083
距 fp16 上限的余量1.12x21.2x
流 RMS,各 block 均值27.753.70
流 RMS,最后一个 block65.612.0
32 个最大通道的能量占比0.8370.708

余量来自同一项变化:模型学会了把过去集中在 32 个通道中的值分散到更多通道。能量占比从 0.837 降到 0.708 是这一变化可见的一面,也正是它换来了 fp16 的空间。

训练方式

本次训练对除冻结文本精炼器之外的每一个 transformer 权重做完整微调;文本编码器、tokenizer、VAE、scheduler 与 pipeline 代码均为官方 MOSS-Image-Base 版本。损失函数包括 flow matching、一个向冻结基础模型对齐的蒸馏项、一个惩罚注意力与 FFN 写入过度集中于少数通道的流写入集中度(stream write-concentration)损失,以及一个流 RMS 损失。当权重超过其初始 RMS 的某个上限倍数时,会单独对其进行衰减,该上限倍数在前 10,000 步内从 64 逐步收紧到 16。

步数50,000 × 64 样本,共 320 万样本
分辨率1024² 面积,每张图像保持自身宽高比
优化器AdamW,lr 1e-5,余弦退火至 1e-7
算力约 200 GPU 小时,B300,fp16 加 fp32 主副本
数据999,294 条 Danbooru 帖子,来自 Qwen3.8-27B 与 Qwen3.5-9B 的 Graph-Based Captioning
超过其张量 RMS 若干倍的元素,基础模型与 heal 对比

每个二维张量的权重离群值:基础 transformer 中有 349 个元素超过 64 倍 RMS,而 heal 中一个也没有。图表来自模型卡片。

输出仍停留在基础模型的位置

驯服残差流只有在模型仍然画得像基础模型时才有意义,模型卡片给出了两方面的数字。Flow loss 从 0.4280 变为 0.4289,在探测样本行上相对基础模型的速度余弦相似度为 0.9983。这是一次数值修复,而不是风格重训。

第二组对比网格,相同提示词与种子

卡片中的第二组网格,竖版比例,同时印出 caption 提示词与 GBC 布局提示词。

面向 ComfyUI 的文件

三个文件都是采用 Comfy-Org 键名布局的单文件 checkpoint,因此通过官方 MOSS-Image 重打包版本相同的 UNet加载器(Load Diffusion Model)节点即可加载。其他一切不变:继续使用你已有的 qwen3.5_9b 文本编码器和 MOSS VAE。

文件权重大小
moss_image_heal_bf16.safetensorsbf1610.2 GB
moss_image_heal_fp16.safetensorsfp1610.2 GB
moss_image_heal_int8_convrot.safetensorsint8 ConvRot,group 2565.4 GB

int8 文件与 Comfy-Org 的 moss_image_base_int8_convrot 布局完全对齐:同样是 757 个键,每个未量化的张量完全相同,量化编码中有 5e-8 的比例差一位。因此它可以占用一半的磁盘空间,直接放进官方 int8 checkpoint 所在的同一位置。

在相同的探测样本行上,fp16 heal 的速度误差为 2.1e-3,余弦相似度为 0.999996,流峰值 3,278,比 fp16 上限低 20 倍。基础模型在这些行上的峰值为 61,696,仅比上限低 6%。

获取方式

评论

使用 GitHub 登录后即可参与讨论。

评论加载中…
MOSS-Image-heal:让 fp16 推理安全的完整微调 | ComfyUI Wiki