MOSS-Image 少步 LoRA:4 步 rapid-moss 与 8 步 DMD

ComfyUI Wikinews

两个社区 LoRA 将 MOSS-Image-SFT 从 50 步降至 4 或 8 次网络评估,其中 4 步 rapid-moss 适配器附带一个 ComfyUI 节点与原生工作流。

两个 LoRA 现在可以让 <strong>MOSS-Image-SFT</strong> 摆脱其 50 步、CFG 3 的采样循环。由 darask0 制作的 rapid-moss 4 步适配器于 2026 年 10 月 17 日上传,并附带一个带独立采样器的 ComfyUI 自定义节点。它直接基于 lodestones 的 8 步数据空间 DMD checkpoint 构建,因此两个适配器共用同样的三个文件、同样的采样器和同样的节点。
MOSS-Image 对比

从左到右:50 步教师模型、以 4 步运行的 8 步 checkpoint,以及 4 步 rapid-moss 适配器。相同随机种子,评估提示词从未用于训练。来源:darask0

采样循环为何缩短

MOSS-Image-SFT 使用 CFG 3 以 50 步生成一张图像,而 CFG 会使前向传播翻倍,因此单张图片大约需要 100 次 DiT 评估。8 步 checkpoint 用数据空间 DMD(arXiv 2610.12102)取代了该循环:生成器从固定噪声张量出发,对自身的干净估计迭代四到八次,不使用 CFG,也没有时间步调度。

4 步适配器从该 checkpoint 继续训练,并将其限制为四次迭代,使用 DMAD(arXiv 2610.02188)训练。基于冻结教师模型的 LoRA 判别器(critic)将教师样本与学生样本区分开来,学生模型则最小化负的判别器 logit。作者在 3,199 条提示词上训练,每条配一个教师样本,并发布了 500 次迭代的 checkpoint,因为更靠后的迭代会开始削弱提示词遵循能力。

在单张 H100 上每张 1024² 图像的 DiT 耗时:

CheckpointDiT 耗时DiT 评估次数
MOSS-Image-SFT(50 步,CFG 3)16.2 s100
lodestones 8 步 DMD1.54 s8
rapid-moss 4 步 DMAD0.81 s4

上述耗时仅涵盖 transformer,不包含 Qwen3.5-9B 文本编码器和 VAE。在 RTX PRO 6000 上运行 ComfyUI 时,作者测得包含文本编码与解码在内,一张 1024² 图像耗时 4.5 至 6.9 秒。

ComfyUI 节点

两个适配器都是 fp32 LoRA 增量,其幅度小于 bf16 的舍入步长,因此将它们合并进 bf16 权重会抹掉大部分蒸馏效果。这就排除了 LoraLoaderModelOnly、diffusers 的 fuse_lora,以及任何加载预合并权重的工作流。随附的 MOSS-Image Few-Step Adapter (rapid-moss) 节点改为在运行时以 fp32 添加 LoRA,替换 fp32 时间通路,并返回一组匹配的 MODEL、SAMPLER 和 SIGMAS。

这些输出必须作为一个整体连接:MODEL 接入 BasicGuider 且不使用 CFG,然后 SAMPLER 与 SIGMAS 接入 SamplerCustomAdvanced,再接入 VAE Decode。Euler、sgm_uniform、shift 为 5 的 ModelSamplingSD3 以及跳过第 22 层,这些都是 50 步教师模型的设置,不应在此处添加。步数对 rapid-moss 为 1 至 4,对 8 步 checkpoint 为 1 至 8,推荐默认强度为 1.0。

已包含两个工作流。原生工作流使用标准 ComfyUI 加载器:来自 Comfy-Org/MOSS-Image 的 moss_image_sft_bf16.safetensors、类型为 moss_image 的 CLIPLoader,以及 FLUX.2 VAE。

第二个工作流保留 OpenMOSS 自带的 moss-image HF Loader 节点,并将其指向本地 Diffusers 目录:

1. 将模型仓库中的 comfyui/rapid-moss/ 复制到 ComfyUI/custom_nodes/rapid-moss/ 并重新启动。 2. 将 lora.safetensors、time_embedding.safetensors 和 dataspace.safetensors 放入 ComfyUI/models/rapid_moss/rapid-moss-4step/。models/rapid_moss/ 下的每个子文件夹都会成为节点 adapter 菜单中的一项,因此 8 步文件要放入第二个文件夹。 3. 加载一个工作流,选择适配器,并将基础扩散模型设置为 bf16 或 fp32 的 SFT 权重。
该节点仅适用于 SFT checkpoint。MOSS-Image-Base 未经测试,INT8、FP8 和 GGUF 扩散模型会被拒绝或不受支持,因为适配器增量无法在那样的舍入下保留。量化文本编码器则没有问题。适配器会在基础模型之上额外占用约 1.5 GB 显存:其中 1.19 GB 用于 fp32 LoRA,约 0.34 GB 用于时间通路和调制偏置。

并排对比结果

在 17 条评估提示词上,作者报告相比以四步运行的 8 步 checkpoint,背景细节更丰富、构图更生动,并且修复了竖直海报上“夏”字重复出现的问题,便签、招牌和对话气泡中的日文也保持准确。

对比 1

教师模型、以 4 步运行的 8 步 checkpoint,以及 4 步适配器。来源:darask0

对比 2

第二条提示词上的同一三方对比。来源:darask0

作者也如实列出了退步之处,而非加以掩饰:轻小说封面上会出现多余的拉丁字母;一个要求两格漫画布局的 JSON 请求在下格多出了未被要求的第二个人物;店铺门帘和漫画气泡上的小字仍然失败。整体质量仍低于 50 步教师模型。

ComfyUI 验证

ComfyUI 中的 rapid-moss 节点,fp32 适配器已接入 BasicGuider 和 SamplerCustomAdvanced。来源:darask0

单独使用 8 步 checkpoint

lodestones 于 10 月 16 日发布了更早的 8 步 checkpoint,当时仍处于进行中状态。它只提供文件:强度 1.0 的 lora.safetensors,或强度 0.7 的 lora_latest.safetensors,外加相同的 time_embedding.safetensors 和 dataspace.safetensors。其模型卡对 8 步权重指向标准 ComfyUI LoRA 加载器,而 rapid-moss 节点可以用 4 步增量所需的 fp32 通路驱动两个适配器。

对于在 ComfyUI 之外运行适配器的用户,4 步仓库中的 inference.py 可以直接复现该采样器:保持初始噪声张量固定,通过 dataspace.safetensors 中的 128x128 矩阵将其与当前估计混合,并从同一文件读取步数编码。

获取方式

评论

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

评论加载中…
MOSS-Image 少步 LoRA:4 步 rapid-moss 与 8 步 DMD | ComfyUI Wiki