File size: 2,463 Bytes
fb980a8
 
 
f05ac27
a62242f
 
f05ac27
e841e98
 
f05ac27
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
e841e98
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
---
datasets:
- bayes-group-diffusion/GAS-teachers
license: mit
tags:
- arxiv:2510.17699
pipeline_tag: unconditional-image-generation
---

# GAS: Improving Discretization of Diffusion ODEs via Generalized Adversarial Solver

This repository contains the implementation for **GAS: Improving Discretization of Diffusion ODEs via Generalized Adversarial Solver**, a method presented in the paper [GAS: Improving Discretization of Diffusion ODEs via Generalized Adversarial Solver](https://arxiv.org/abs/2510.17699).

The work introduces a novel approach to accelerate sampling in diffusion models without compromising generation quality. The **Generalized Solver (GS)** offers a simpler parameterization of the ODE sampler, and when combined with adversarial training, forms the **Generalized Adversarial Solver (GAS)**, which enhances detail fidelity and mitigates artifacts. This method aims to reduce the computational cost of diffusion model sampling from dozens to just a few function evaluations.

![Teaser image](https://github.com/3145tttt/GAS/raw/main/docs/teaser_1920.jpg)

For detailed code, setup instructions, and examples, please refer to the official GitHub repository: [https://github.com/3145tttt/GAS](https://github.com/3145tttt/GAS)

## How to use

To generate images from a trained **GS** checkpoint, you can use the `generate.py` script. Set the `--checkpoint_path` option to the path of your trained model checkpoint.

```bash
# 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
```

For a fair comparison and to avoid leakage of test seeds into the training dataset, we recommend using seeds 50000-99999 for all datasets except MS-COCO, which should use seeds 30000-59999.

## Citation

```bibtex
@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}, 
}
```