Kroma v0.3.1: On-Policy Distillation for the Krea 2 Fine-Tune

ComfyUI Wikinews

Lodestones ships Kroma v0.3.1 OPD for Krea 2: an on-policy distilled turbo checkpoint that stays inside the base model's distribution, with LoRA training carried over.

Lodestones published Kroma v0.3.1 on October 7, the next iteration of the community fine-tune of Krea 2. The new recommended checkpoint, kroma-v0.3.1-turbo-opd.safetensors, is distilled on-policy, so it keeps Turbo sampling speed without the quality tax that usually comes with distillation. The Kroma repository was trimmed the same day: the v0.1 and v0.2 files are gone, leaving only v0.3.1 OPD, the v0.3 base and the v0.3 teacher.
Kroma for Krea 2

What OPD changes

The earlier Kroma turbo checkpoints were distilled offline: the student was trained to imitate the teacher on a fixed sampling schedule. The readme describes the failure mode of that recipe directly. Imitating the teacher on states the teacher chose slowly pulls the student off the original data manifold, which shows up as mode collapse, washed-out detail and prompts that suddenly stop working.

OPD, on-policy distillation, flips the direction. The student generates its own trajectories, and the teacher corrects it on those exact points. Training only ever happens on states the model actually visits, so the distilled checkpoint stays inside the distribution of the model it came from. The result is meant to be Turbo speed without the usual distillation tax.

What is in the repo now

The repository was reorganised on October 7 and now holds three files:

FileSizeWhat it is
kroma-v0.3.1-turbo-opd.safetensors~26.3 GBRecommended checkpoint: v0.3 distilled on-policy into a Turbo-speed model
kroma-v0.3-base.safetensors~51.3 GBFull fine-tune of the Krea 2 raw (non-distilled) weights
kroma-sensei-booru-e6-teacher-velocity-v0.3.safetensors~25.7 GBThe teacher used for LoRA training and for the OPD run

The kroma-v0.2-turbo, kroma-v0.2-base, kroma-v0.3-turbo and kroma-v0.3-tdm-4steps-artifact files that earlier Kroma articles linked to have been deleted, so older download instructions no longer resolve. The readme's "files to download" table still names kroma-v0.2-turbo.safetensors, which is stale: v0.3.1 OPD is the file to grab.

How to run it in ComfyUI

Running v0.3.1 is identical to v0.2 and v0.3. It uses the standard Krea 2 stack, so no custom node is required beyond ComfyUI's native Krea 2 support:

  1. Put kroma-v0.3.1-turbo-opd.safetensors in ComfyUI/models/diffusion_models/
  2. Load the Krea 2 text encoder (Qwen3-VL, 12 layers) with a CLIPLoader set to type krea2
  3. Load the Krea 2 VAE
  4. Sample with the Turbo settings the checkpoint was distilled for: 8-12 steps, CFG 1.0-1.5, shift (mu) 1.15

The minimal chain is a Load Diffusion Model into a KSampler, with the krea2 CLIP and the Krea 2 VAE feeding it. If output looks off, the readme's first suspect is the text encoder: confirm the CLIPLoader type is krea2 and that ComfyUI is on a current build with native Krea 2 support.

LoRA training still carries over

Because OPD keeps the student inside the original distribution, LoRAs trained the normal way keep working. Train against either the teacher (kroma-sensei-booru-e6-teacher-velocity-v0.3.safetensors) or the base (kroma-v0.3-base.safetensors), and the resulting LoRA loads on kroma-v0.3.1-turbo-opd.safetensors unchanged. That is the main practical difference from an aggressively distilled student: you do not have to retrain or re-derive adapters when the turbo checkpoint is swapped.

Availability

Model: lodestones/Kroma
Checkpoint: kroma-v0.3.1-turbo-opd.safetensors
Base model: Krea 2

Comments

Sign in with GitHub to join the discussion.

Loading comments…
Kroma v0.3.1: On-Policy Distillation for the Krea 2 Fine-Tune | ComfyUI Wiki