GAS: Improving Discretization of Diffusion ODEs via Generalized Adversarial Solver
This repository contains the models and code for the paper GAS: Improving Discretization of Diffusion ODEs via Generalized Adversarial Solver.
Code: https://github.com/3145tttt/GAS
Abstract
While diffusion models achieve state-of-the-art generation quality, they still suffer from computationally expensive sampling. Recent works address this issue with gradient-based optimization methods that distill a few-step ODE diffusion solver from the full sampling process, reducing the number of function evaluations from dozens to just a few. However, these approaches often rely on intricate training techniques and do not explicitly focus on preserving fine-grained details. In this paper, we introduce the Generalized Solver (GS): a simple parameterization of the ODE sampler that does not require additional training tricks and improves quality over existing approaches. We further combine the original distillation loss with adversarial training, which mitigates artifacts and enhances detail fidelity. We call the resulting method the Generalized Adversarial Solver (GAS) and demonstrate its superior performance compared to existing solver training methods under similar resource constraints.
Usage
To use the trained Generalized Solver (GS) or Generalized Adversarial Solver (GAS) for image generation, you can run the generate.py script from the project's GitHub repository.
First, ensure your environment is set up and the necessary data (including teacher models) are downloaded as per the GitHub instructions.
Here is an example command to generate 50,000 images using 2 GPUs from a trained GS checkpoint on CIFAR-10 with four sampling steps:
# Generate 50000 images using 2 GPUs and a checkpoint from checkpoint_path
torchrun --standalone --nproc_per_node=2 generate.py \
--config=configs/edm/cifar10.yaml \
--outdir=data/teachers/cifar10 \
--seeds=50000-99999 \
--batch=1024 \
--steps=4 \
--checkpoint_path=checkpoint_path
Replace checkpoint_path with the actual path to your trained GS/GAS model checkpoint. For more details and specific configurations, refer to the GitHub repository's inference section.
Citation
@misc{oganov2025gasimprovingdiscretizationdiffusion,
title={GAS: Improving Discretization of Diffusion ODEs via Generalized Adversarial Solver},
author={Aleksandr Oganov and Ilya Bykov and Eva Neudachina and Mishan Aliev and Alexander Tolmachev and Alexander Sidorov and Aleksandr Zuev and Andrey Okhotin and Denis Rakitin and Aibek Alanov},
year={2025},
eprint={2510.17699},
archivePrefix={arXiv},
primaryClass={cs.CV},
url={https://arxiv.org/abs/2510.17699},
}
- Downloads last month
- 17
