Kromoss:为 ComfyUI 发布的 MOSS-Image 全量微调模型

ComfyUI Wikinews

Kromoss 是 MOSS-Image-Base 的全量微调版本,以 bf16 和 int8 ConvRot 单文件形式发布,可直接用于 ComfyUI,并附赠 8 步 DMD LoRA 与转换脚本。

Kromoss 是 MOSS-Image-Base 的全量微调版本,由 lodestones 于 2026 年 10 月 19 日发布。lodestones 也是 Chroma checkpoint 系列以及 MOSS-Image SFT 8 步蒸馏权重的作者。它保留了 MOSS-Image-SFT 的架构、Qwen3.5-9B 文本编码器和 FLUX.2 small VAE,因此可直接用于现有的 MOSS-Image 工作流,并以 ComfyUI 已能直接加载的单文件布局打包最终结果。

上传后数小时内,它在 Hugging Face 上就获得了 96 个赞,Banodoco 的 MOSS-Image 频道还用相同的随机种子将其与 int8 监督微调版本进行了对比。

微调带来了哪些变化

模型卡片对目标的描述相当克制:这次全量微调主要修复 Base 模型的模糊问题。其余部分均为继承而来。训练遵循 MOSS-Image 报告中的最终阶段配方,并扩展到每次更新 64 张图像:使用混合 Muon-AdamW,学习率 9e-6,200 步预热,截断的对数正态时间步,将最后一个 block 的 q/k 范数衰减到 1,并对发布权重使用 0.999 的 EMA。该 checkpoint 是该次训练的第 9000 次更新,训练数据为 57.6万 张 1024 px 图像,低于 896² 的图像已从数据集中剔除。训练仍在继续,仓库每隔几个小时就会重新上传一次 EMA checkpoint:仅上传首日就依次放出过第 2000、4000、5000、7000 次更新,如今是第 9000 次,因此具体的更新步数和图像数量都会继续变动。

Kromoss,CFG 3,50 步Kromoss 配合 8 步 DMD LoRA,CFG 1
50 步,CFG 38 步,CFG 1,使用捆绑的 DMD LoRA

专为 ComfyUI 打包,而不只是 diffusers

该仓库的设置使得首次渲染前无需任何转换。五个文件可直接放入 ComfyUI 的目录树:

  • diffusion_models/kromoss_bf16.safetensors(10.2 GB)放入 models/diffusion_models/,通过 UNet加载器 加载。在 Comfy-Org 的工作流中,它可与 moss_image_sft_bf16.safetensors 一一替换。
  • diffusion_models/kromoss_int8_convrot.safetensors(5.4 GB)用于 int8 路径,与 Comfy-Org 的 moss_image_sft_int8_convrot.safetensors 采用相同的 ConvRot W8A8 格式。
  • text_encoders/qwen3.5_9b_bf16.safetensors(19.3 GB)放入 models/text_encoders/,通过 加载CLIP 以 moss_image 类型加载。它与其他 MOSS-Image 版本使用的是同一个编码器,因此已有安装无需重复放置。
  • vae/flux2-vae_small.safetensors 放入 models/vae/。
  • 8-steps-dmd-lora.safetensors(1.19 GB)放入 models/loras/,通过 LoraLoaderModelOnly 以强度 1 应用。

int8 文件并非他人 checkpoint 的重新量化副本:168 个 block 线性层(proj.{qkv,o,ffn_up_gate,ffn_down})在输入维度经过 256 宽的正则 Hadamard 旋转后,以 int8 存储并附带逐行缩放因子;ComfyUI 在加载时重建旋转,而不是存储矩阵;每个 block 都选用 ComfyUI 的 int8 注意力。该仓库还附带 quantize_convrot.py,可从任意 bf16 单文件生成该格式;以及 convert_to_comfy.py,可将 diffusers 的 transformer/ 文件夹转换为融合后的 proj.qkv 布局。

两个脚本都带有自检机制,这让它们值得保留:在 MOSS-Image-SFT 自带的 transformer/ 上运行时,它们能逐字节复现 Comfy-Org 发布的 moss_image_sft_bf16.safetensors 和 moss_image_sft_int8_convrot.safetensors;--compare FILE 可将键、形状和 dtype 与参考文件进行比对。这意味着任何人都可以用同样这两条命令转换自己的 MOSS-Image 微调模型。

8 步 LoRA

捆绑的 8-steps-dmd-lora.safetensors 是 MOSS-Image-Base 的数据空间 DMD 蒸馏,fp32,rank 128,每个 block 的 proj.{q,k,v,o,ffn_up_gate,ffn_down} 上 alpha 为 128,以 kohya 键名保存。它遵循生态中 q、k、v 投影分离的惯例,ComfyUI 在加载时会将其映射到 MOSS-Image 单文件的融合 qkv 切片上。

模型卡片明确指出,不应将 LoRA 合并到 bf16 权重中:其增量接近 bf16 的舍入步长,因此以强度 1 在不合并的状态下应用。

设置完整模型配合 8-steps-dmd-lora
采样器Flow-matching EulerFlow-matching Euler
步数508
CFG31
Shift55
层跳过负面分支,block 22无,不使用负面分支

实测的提示词遵循度

仓库报告了在 PartiPrompts 的 100 条提示词上的 CLIP ViT-L/14 分数,其中 Kromoss 各行的数据是在第 2000 次更新时测得,而非当前发布的 checkpoint:

模型CLIP ViT-L/14
MOSS-Image-Base,50 步,CFG 327.19
MOSS-Image-Base + 8 步 LoRA27.53
Kromoss,50 步,CFG 326.88
Kromoss + 8 步 LoRA,8 步,CFG 127.82
PartiPrompts 对比图

直白地看,这张表说明:单独使用全量微调会用少量提示词遵循度换取锐度,而在此基础上叠加蒸馏 LoRA 则能恢复并略微超过 Base 的分数。这些数字来自作者本人,且取自训练中途的 checkpoint。

获取方式

Kromoss 已在 Hugging Face 上发布,地址为 lodestones/Kromoss,同时也在 Civitai 上有镜像。当前 ComfyUI master 已支持 MOSS-Image,因此无论 checkpoint 还是 LoRA,都不需要自定义节点。有关基础模型和官方权重,请参阅 MOSS-Image 发布报道 和 4 步与 8 步社区适配器。

评论

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

评论加载中…
Kromoss:为 ComfyUI 发布的 MOSS-Image 全量微调模型 | ComfyUI Wiki