Kroma v0.3.1:面向 Krea 2 微调的 On-Policy 蒸馏模型
Lodestones 发布 Krea 2 的 Kroma v0.3.1 OPD:一个基于 on-policy 蒸馏的 Turbo 模型,始终保持在基础模型的分布之内,并且 LoRA 训练结果可继续沿用。
kroma-v0.3.1-turbo-opd.safetensors 采用 on-policy 蒸馏,因此在保持 Turbo 采样速度的同时,不会带来蒸馏通常伴随着的质量损耗。Kroma 仓库 也在同一天做了精简:v0.1 和 v0.2 的文件已被移除,只留下 v0.3.1 OPD、v0.3 基础模型和 v0.3 教师模型。
OPD 改变了什么
更早的 Kroma turbo 模型是离线蒸馏的:学生模型在固定的采样调度上模仿教师模型。readme 直接描述了这种配方的失败模式。在教师模型自己选择的中间状态上模仿它,会逐渐把学生模型拉离原始数据流形,表现为模式崩溃、细节被冲淡,以及提示词突然失效。
OPD,即 on-policy 蒸馏,把方向反了过来。 学生模型自己生成轨迹,教师模型则在这些确切的点上进行纠正。训练只发生在模型实际访问过的状态上,因此蒸馏后的模型始终处于它来源模型的分布之内。其目标是获得 Turbo 速度,同时不付出通常的蒸馏代价。
仓库现在包含哪些内容
该仓库于 10 月 7 日重新整理,现在包含三个文件:
| 文件 | 大小 | 说明 |
|---|---|---|
kroma-v0.3.1-turbo-opd.safetensors | ~26.3 GB | 推荐模型:将 v0.3 以 on-policy 方式蒸馏为 Turbo 速度的模型 |
kroma-v0.3-base.safetensors | ~51.3 GB | Krea 2 原始(未蒸馏)权重的完整微调 |
kroma-sensei-booru-e6-teacher-velocity-v0.3.safetensors | ~25.7 GB | 用于 LoRA 训练和 OPD 运行的教师模型 |
更早的 Kroma 文章中链接的 kroma-v0.2-turbo、kroma-v0.2-base、kroma-v0.3-turbo 和 kroma-v0.3-tdm-4steps-artifact 文件已被删除,因此旧的下载说明已无法解析。readme 中的“files to download”表格仍然列出 kroma-v0.2-turbo.safetensors,这是过时的:应该下载的是 v0.3.1 OPD。
如何在 ComfyUI 中运行
运行 v0.3.1 与运行 v0.2 和 v0.3 完全相同。它使用标准的 Krea 2 技术栈,因此除了 ComfyUI 原生的 Krea 2 支持外,无需任何自定义节点:
- 将
kroma-v0.3.1-turbo-opd.safetensors放入ComfyUI/models/diffusion_models/ - 使用类型设置为
krea2的 CLIPLoader 加载 Krea 2 文本编码器(Qwen3-VL,12 层) - 加载 Krea 2 VAE
- 使用该模型蒸馏时对应的 Turbo 设置进行采样:8-12 步、CFG 1.0-1.5、shift (mu) 1.15
最小链路是 UNet加载器(Load Diffusion Model)接入 KSampler,由 krea2 CLIP 和 Krea 2 VAE 为其提供输入。如果输出看起来异常,readme 首要怀疑的是文本编码器:确认 CLIPLoader 的类型为 krea2,并确认 ComfyUI 是带有原生 Krea 2 支持的当前构建版本。
LoRA 训练结果仍可沿用
因为 OPD 让学生模型保持在原始分布之内,以正常方式训练的 LoRA 依旧可以正常工作。可以针对教师模型(kroma-sensei-booru-e6-teacher-velocity-v0.3.safetensors)或基础模型(kroma-v0.3-base.safetensors)进行训练,得到的 LoRA 可以原封不动地加载到 kroma-v0.3.1-turbo-opd.safetensors 上。这正是它与激进蒸馏的学生模型之间最主要的实际区别:更换 turbo 模型时,你无需重新训练或重新推导适配器。
可用性
模型: lodestones/Kroma
模型文件: kroma-v0.3.1-turbo-opd.safetensors
基础模型: Krea 2
评论
使用 GitHub 登录后即可参与讨论。