Analyzing and Improving the Training Dynamics of Diffusion Models

T. Karras, M. Aittala, J. Lehtinen, Janne Hellsten, Timo Aila +1 more
2/14/2026

No official code found. Best implementation: NVlabs/edm2 (848 stars, last commit 2024-12-09). 4 more below.

Abstract

Diffusion models currently dominate the field of data- driven image synthesis with their unparalleled scaling to large datasets. In this paper, we identify and rectify several causes for uneven and ineffective training in the popular ADM diffusion model architecture, without altering its high- level structure. Observing uncontrolled magnitude changes and imbalances in both the network activations and weights over the course of training, we redesign the network layers to preserve activation, weight, and update magnitudes on ex- pectation. We find that systematic application of this philoso- phy eliminates the observed drifts and imbalances, resulting in considerably better networks at equal computational com- plexity. Our modifications improve the previous record FID of 2.41 in ImageNet-512 synthesis to 1.81, achieved using fast deterministic sampling. As an independent contribution, we present a method for setting the exponential moving average (EMA) parameters post-hoc, i.e., after completing the training run. This allows precise tuning of EMA length without the cost of performing several training runs, and reveals its surprising interactions with network architecture, training time, and guidance.

View on arXivView PDF

Code Implementations(5)

NVlabs/edm2Community100%

EDM2 and Autoguidance -- Official PyTorch implementation

84860Python, DockerfileMar 11, 20241 years agoNOASSERTION
MIT

Implementation of "Analyzing and Improving the Training Dynamics of Diffusion Models"

965PythonDec 8, 20232 years agoMIT
YichengDWu/tinyedmCommunity67%
MIT

Modular PyTorch (Lightning) implementation of Analyzing and Improving the Training Dynamics of Diffusion Models.

91PythonJan 9, 20242 years agoMIT
Al-Kharba/EDM2Community66%

Unofficial implementation of EDM2: Analyzing and Improving the Training Dynamics of Diffusion Models

120Python, DockerfileMar 16, 20242 years agoNOASSERTION
deep-learningdiffusiondiffusion-modelsgenerative-aineural-networks
FutureXiang/edm2Community65%

Minimal multi-gpu implementation of EDM2: "Analyzing and Improving the Training Dynamics of Diffusion Models"

411PythonFeb 18, 20242 years ago
diffusiondiffusion-modelsgenerative-models

Similar Papers

Cite this paper

@article{karras2026analyzing,
  title  = {Analyzing and Improving the Training Dynamics of Diffusion Models},
  author = {T. Karras and M. Aittala and J. Lehtinen and Janne Hellsten and Timo Aila and S. Laine},
  year   = {2026},
  eprint = {2312.02696},
  archivePrefix = {arXiv},
  url    = {https://arxiv.org/pdf/2312.02696},
  journal = {CVPR 2023 2023}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2312.02696.svg)](https://codeofpaper.com/paper/2312.02696)

Discussion