rockeycoss commited on
Commit
dbf3159
·
verified ·
1 Parent(s): 05d238c

Update README.md

Browse files
Files changed (1) hide show
  1. README.md +79 -75
README.md CHANGED
@@ -1,76 +1,80 @@
1
- ---
2
- license: apache-2.0
3
- datasets:
4
- - yuvalkirstain/pickapic_v1
5
- language:
6
- - en
7
- pipeline_tag: text-to-image
8
- ---
9
- # Step-aware Preference Optimization: Aligning Preference with Denoising Performance at Each Step
10
-
11
- <a href="https://arxiv.org/abs/2406.04314"><img src="https://img.shields.io/badge/Paper-arXiv-red?style=for-the-badge" height=22.5></a>
12
- <a href="https://github.com/RockeyCoss/SPO"><img src="https://img.shields.io/badge/Gihub-Code-succees?style=for-the-badge&logo=GitHub" height=22.5></a>
13
- <a href="https://rockeycoss.github.io/spo.github.io/"><img src="https://img.shields.io/badge/Project-Page-blue?style=for-the-badge" height=22.5></a>
14
-
15
- <table>
16
- <tr>
17
- <td><img src="assets/1.png" alt="teaser example 0" width="200"/></td>
18
- <td><img src="assets/2.png" alt="teaser example 1" width="200"/></td>
19
- <td><img src="assets/3.png" alt="teaser example 2" width="200"/></td>
20
- <td><img src="assets/4.png" alt="teaser example 3" width="200"/></td>
21
- </tr>
22
- </table>
23
-
24
- ## Abstract
25
- <p>
26
- Recently, Direct Preference Optimization (DPO) has extended its success from aligning large language models (LLMs) to aligning text-to-image diffusion models with human preferences.
27
- Unlike most existing DPO methods that assume all diffusion steps share a consistent preference order with the final generated images, we argue that this assumption neglects step-specific denoising performance and that preference labels should be tailored to each step's contribution.
28
- </p>
29
- <p>
30
- To address this limitation, we propose Step-aware Preference Optimization (SPO), a novel post-training approach that independently evaluates and adjusts the denoising performance at each step, using a <em>step-aware preference model</em> and a <em>step-wise resampler</em> to ensure accurate step-aware supervision.
31
- Specifically, at each denoising step, we sample a pool of images, find a suitable win-lose pair, and, most importantly, randomly select a single image from the pool to initialize the next denoising step. This step-wise resampler process ensures the next win-lose image pair comes from the same image, making the win-lose comparison independent of the previous step. To assess the preferences at each step, we train a separate step-aware preference model that can be applied to both noisy and clean images.
32
- </p>
33
- <p>
34
- Our experiments with Stable Diffusion v1.5 and SDXL demonstrate that SPO significantly outperforms the latest Diffusion-DPO in aligning generated images with complex, detailed prompts and enhancing aesthetics, while also achieving more than 20&times; times faster in training efficiency. Code and model: <a ref="https://rockeycoss.github.io/spo.github.io/">https://rockeycoss.github.io/spo.github.io/</a>
35
- </p>
36
-
37
- ## Model Description
38
-
39
- This model is fine-tuned from [runwayml/stable-diffusion-v1-5](https://huggingface.co/runwayml/stable-diffusion-v1-5). It has been trained on 4,000 prompts for 10 epochs.
40
-
41
- This is a merged checkpoint that combines the LoRA checkpoint with the base model [runwayml/stable-diffusion-v1-5](https://huggingface.co/runwayml/stable-diffusion-v1-5). If you want to access the LoRA checkpoint, please visit [SPO-SD-v1-5_4k-p_10ep_LoRA](https://huggingface.co/SPO-Diffusion-Models/SPO-SD-v1-5_4k-p_10ep_LoRA). We also provide a LoRA checkpoint compatible with [stable-diffusion-webui](https://github.com/AUTOMATIC1111/stable-diffusion-webui), which can be accessed [here](https://civitai.com/models/526379/spo-sd-v1-54k-p10eplorawebui).
42
-
43
-
44
- ## A quick example
45
- ```python
46
- from diffusers import StableDiffusionPipeline
47
- import torch
48
-
49
- # load pipeline
50
- inference_dtype = torch.float16
51
- pipe = StableDiffusionPipeline.from_pretrained(
52
- "SPO-Diffusion-Models/SPO-SD-v1-5_4k-p_10ep",
53
- torch_dtype=inference_dtype,
54
- )
55
- pipe.to('cuda')
56
-
57
- generator=torch.Generator(device='cuda').manual_seed(42)
58
- image = pipe(
59
- prompt='an image of a beautiful lake',
60
- generator=generator,
61
- guidance_scale=7.5,
62
- output_type='pil',
63
- ).images[0]
64
- image.save('lake.png')
65
- ```
66
-
67
- ## Citation
68
- If you find our work or codebase useful, please consider giving us a star and citing our work.
69
- ```
70
- @article{liang2024step,
71
- title={Step-aware Preference Optimization: Aligning Preference with Denoising Performance at Each Step},
72
- author={Liang, Zhanhao and Yuan, Yuhui and Gu, Shuyang and Chen, Bohan and Hang, Tiankai and Li, Ji and Zheng, Liang},
73
- journal={arXiv preprint arXiv:2406.04314},
74
- year={2024}
75
- }
 
 
 
 
76
  ```
 
1
+ ---
2
+ license: apache-2.0
3
+ datasets:
4
+ - yuvalkirstain/pickapic_v1
5
+ language:
6
+ - en
7
+ pipeline_tag: text-to-image
8
+ ---
9
+ # Aesthetic Post-Training Diffusion Models from Generic Preferences with Step-by-step Preference
10
+
11
+ <a href="https://arxiv.org/abs/2406.04314"><img src="https://img.shields.io/badge/Paper-arXiv-red?style=for-the-badge" height=22.5></a>
12
+ <a href="https://github.com/RockeyCoss/SPO"><img src="https://img.shields.io/badge/Gihub-Code-succees?style=for-the-badge&logo=GitHub" height=22.5></a>
13
+ <a href="https://rockeycoss.github.io/spo.github.io/"><img src="https://img.shields.io/badge/Project-Page-blue?style=for-the-badge" height=22.5></a>
14
+
15
+ ## Abstract
16
+ <p>
17
+ Generating visually appealing images is fundamental to modern text-to-image generation models.
18
+ A potential solution to better aesthetics is direct preference optimization (DPO),
19
+ which has been applied to diffusion models to improve general image quality including prompt alignment and aesthetics.
20
+ Popular DPO methods propagate preference labels from clean image pairs to all the intermediate steps along the two generation trajectories.
21
+ However, preference labels provided in existing datasets are blended with layout and aesthetic opinions, which would disagree with aesthetic preference.
22
+ Even if aesthetic labels were provided (at substantial cost), it would be hard for the two-trajectory methods to capture nuanced visual differences at different steps.
23
+ </p>
24
+ <p>
25
+ To improve aesthetics economically, this paper uses existing generic preference data and introduces step-by-step preference optimization
26
+ (SPO) that discards the propagation strategy and allows fine-grained image details to be assessed. Specifically,
27
+ at each denoising step, we 1) sample a pool of candidates by denoising from a shared noise latent,
28
+ 2) use a step-aware preference model to find a suitable win-lose pair to supervise the diffusion model, and
29
+ 3) randomly select one from the pool to initialize the next denoising step.
30
+ This strategy ensures that diffusion models focus on the subtle, fine-grained visual differences
31
+ instead of layout aspect. We find that aesthetic can be significantly enhanced by accumulating these
32
+ improved minor differences.
33
+ </p>
34
+ <p>
35
+ When fine-tuning Stable Diffusion v1.5 and SDXL, SPO yields significant
36
+ improvements in aesthetics compared with existing DPO methods while not sacrificing image-text alignment
37
+ compared with vanilla models. Moreover, SPO converges much faster than DPO methods due to the step-by-step
38
+ alignment of fine-grained visual details.
39
+ </p>
40
+
41
+ ## Model Description
42
+
43
+ This model is fine-tuned from [runwayml/stable-diffusion-v1-5](https://huggingface.co/runwayml/stable-diffusion-v1-5). It has been trained on 4,000 prompts for 10 epochs.
44
+
45
+ This is a merged checkpoint that combines the LoRA checkpoint with the base model [runwayml/stable-diffusion-v1-5](https://huggingface.co/runwayml/stable-diffusion-v1-5). If you want to access the LoRA checkpoint, please visit [SPO-SD-v1-5_4k-p_10ep_LoRA](https://huggingface.co/SPO-Diffusion-Models/SPO-SD-v1-5_4k-p_10ep_LoRA). We also provide a LoRA checkpoint compatible with [stable-diffusion-webui](https://github.com/AUTOMATIC1111/stable-diffusion-webui), which can be accessed [here](https://civitai.com/models/526379/spo-sd-v1-54k-p10eplorawebui).
46
+
47
+
48
+ ## A quick example
49
+ ```python
50
+ from diffusers import StableDiffusionPipeline
51
+ import torch
52
+
53
+ # load pipeline
54
+ inference_dtype = torch.float16
55
+ pipe = StableDiffusionPipeline.from_pretrained(
56
+ "SPO-Diffusion-Models/SPO-SD-v1-5_4k-p_10ep",
57
+ torch_dtype=inference_dtype,
58
+ )
59
+ pipe.to('cuda')
60
+
61
+ generator=torch.Generator(device='cuda').manual_seed(42)
62
+ image = pipe(
63
+ prompt='an image of a beautiful lake',
64
+ generator=generator,
65
+ guidance_scale=7.5,
66
+ output_type='pil',
67
+ ).images[0]
68
+ image.save('lake.png')
69
+ ```
70
+
71
+ ## Citation
72
+ If you find our work or codebase useful, please consider giving us a star and citing our work.
73
+ ```
74
+ @article{liang2024step,
75
+ title={Aesthetic Post-Training Diffusion Models from Generic Preferences with Step-by-step Preference Optimization},
76
+ author={Liang, Zhanhao and Yuan, Yuhui and Gu, Shuyang and Chen, Bohan and Hang, Tiankai and Cheng, Mingxi and Li, Ji and Zheng, Liang},
77
+ journal={arXiv preprint arXiv:2406.04314},
78
+ year={2024}
79
+ }
80
  ```