Skip to content

Self-Evaluation Unlocks Any-Step Text-to-Image Generation

Self-E (Self-Evaluating Model) is a from-scratch text-to-image pretraining framework that supports any-step inference. It augments a standard Flow Matching loss with a self-evaluation loss: the in-training network uses its own current score estimate (via Tweedie’s formula) as a dynamic teacher for global distribution matching, so no pretrained teacher is required. The result is a single 2B model that beats FLUX.1-dev, SDXL, SANA-1.5, LCM, SDXL-Turbo, SD3.5-Turbo and the concurrent TiM on GenEval Overall at 2, 4, 8, and 50 steps — and whose quality improves monotonically with more steps within one unified checkpoint.

  • The training objective is a two-component hybrid: a Conditional Flow Matching loss for local velocity supervision plus a self-evaluation loss for global distribution matching, weighted by a function of two sampled timesteps (s, t) [§3.3, Eq. 16].
  • The self-evaluation term is the gradient of the reverse-KL between the model’s implicit one-shot distribution and the data distribution, but the real-data score is replaced by the in-training model’s own conditional-expectation estimate via Tweedie’s formula — i.e. the model is its own teacher [§3.2, Eq. 10–11].
  • Only the classifier score term of the score difference is needed in early training; the fake/auxiliary score term is omitted to avoid co-training a second network and is reintroduced only near convergence to remove oversaturation artifacts [§3.2, Fig. 6, Tab. 2].
  • An “energy-preserving normalization” rescales the implicit regression target to preserve the clean sample’s norm, mitigating color/saturation bias when the self-evaluation weight is large [§3.3, Eq. 18–20].
  • A 2B parameter Self-E trained at 512² outperforms FLUX.1-dev, SDXL, SANA-1.5, LCM, SDXL-Turbo, SD3.5-Turbo and the concurrent any-step TiM on GenEval Overall at 2 / 4 / 8 / 50 inference steps (0.753 / 0.781 / 0.785 / 0.815) [Tab. 1].
  • At 2 steps Self-E beats the second-best baseline (TiM) by +0.12 GenEval Overall (0.753 vs 0.634); at 50 steps it still beats SANA-1.5 (0.815 vs 0.806) within a single checkpoint [Tab. 1].
  • Performance scales monotonically with inference budget in the same checkpoint, unlike distillation-based few-step models such as LCM and SDXL-Turbo whose 50-step scores collapse below their 4-step scores [Tab. 1].
  • Controlled 0.5B ablations on identical data show Self-E beats Flow Matching and Inductive Moment Matching (IMM) at every step count, with the gap largest in the few-step regime (0.61 vs 0.25 / 0.26 at 2 steps after 300k iters) [Tab. 2].

A single network g_θ(x_t, t, s) takes a noisy latent at time t and predicts a clean sample as if jumping to time s. Two timesteps, (s, t), are sampled per training step. When s = t the model receives only the standard Conditional Flow Matching loss against the marginal velocity (local supervision, identical to a flow model). When s ≠ t an additional self-evaluation loss fires.

The self-evaluation loss is derived as follows. Treating g_θ at (t, s) as a sampler from an implicit distribution q_θ, minimizing reverse-KL KL(q_θ || p_data) gives a per-sample gradient that is the difference of two intractable scores: the data score ∇log p_data and the model’s own fake score ∇log q_θ. Tweedie’s formula relates each score to a conditional expectation; the paper’s key move is to estimate the data-score expectation with the in-training model itself, treating it as a dynamic self-teacher. Empirically only the classifier-score component (the CFG-induced difference between conditional and unconditional expectations) is used in early training; the auxiliary (fake-score) term is added back later for refinement. The loss is implemented as MSE between the model’s prediction and a stop-gradient pseudo-target built from two extra forward passes of the same network [Fig. 2(c), Eq. 14–15].

An energy-preserving normalization of the implicit regression target (inspired by EP-CFG) rescales the target so its norm matches the clean sample’s, which the ablation shows is necessary to avoid color bias when the self-evaluation weight is non-trivial. Architecture is a latent transformer in the FLUX/SD3 family, modified to accept the second timestep s alongside t. Inference is the same iterative predict-and-step procedure as a diffusion/flow model, except the “next-step” target time can be set freely — enabling any-step sampling from a single trained checkpoint, with EP-CFG at inference time.

GenEval Overall on a 2B model trained at 512² (higher better), single checkpoint evaluated at multiple step counts [Tab. 1]:

StepsSelf-ETiMSANA-1.5FLUX.1-devSD3.5-TurboLCM
20.7530.6340.1660.1000.3640.262
40.7810.6870.5730.3200.7190.328
80.7850.7140.7790.5890.7070.340
500.8150.7800.8060.7970.6110.330

Self-E is the only method in the table whose GenEval Overall improves monotonically across all four step counts — distillation-based methods (LCM, SDXL-Turbo, SD3.5-Turbo) plateau or regress past their target step count, and Flow Matching collapses below 4 steps. Ablations at 0.5B with 300k iters under matched conditions: Self-E 0.610 / 0.712 / 0.749 / 0.754 vs Flow Matching 0.252 / 0.608 / 0.716 / 0.731 vs IMM 0.262 / 0.599 / 0.711 / 0.747 at 2 / 4 / 8 / 50 steps [Tab. 2]. Removing target normalization mostly hurts (except marginally at 2 steps); including the auxiliary term from scratch significantly hurts (0.331 at 2 steps vs 0.544 baseline).

This is the clearest existence proof so far that teacher-free any-step text-to-image generation can match or beat both pure flow matching and distillation pipelines at every inference budget — and crucially, in a single checkpoint rather than one model per step regime. The trick is small: feed Tweedie back into reverse-KL using the same network that’s still learning the score. For a generative-models team that ships diffusion/flow stacks, the practical implication is that one could collapse the “train a big slow flow model, then distill a fast student” two-stage pipeline into a single pretraining run that exposes the full quality/latency Pareto. It also pairs naturally with SoFlow: Solution Flow Models for One-Step Generative Modeling (SoFlow): both are from-scratch alternatives to MeanFlow/IMM/consistency models, but SoFlow targets one-step via a bi-time solution function and Taylor-based consistency, while Self-E targets any-step via reverse-KL self-distillation. The contrast — solution-function + consistency vs flow-matching + reverse-KL — is a useful axis to track.

  • SoFlow: Solution Flow Models for One-Step Generative Modeling — concurrent from-scratch alternative to MeanFlow; one-step instead of any-step, Taylor consistency instead of reverse-KL self-distillation
  • TiM (Wang et al., 2025) — the concurrent any-step T2I baseline Self-E directly compares against
  • Yin et al. 2024 (DMD/Improved-DMD) — the distillation-based reverse-KL distribution-matching prior that Self-E adapts into a teacher-free pretraining objective