New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add Align Your Steps to available schedulers #15751
base: dev
Are you sure you want to change the base?
Add Align Your Steps to available schedulers #15751
Conversation
* Include both SDXL and SD 1.5 variants (https://research.nvidia.com/labs/toronto-ai/AlignYourSteps/howto.html)
what's the difference between this? I see this pull request use quick start guide numbers and drhead implemented Theorem 3.1 in the paper |
@AG-w I think the main difference is that this implements the schedule as recommended by the authors. My understanding from reading the material is that the provided schedules are the optimized ones using the techniques described in the paper (https://arxiv.org/pdf/2404.14507). The section "B.1. Practical Implementation Details" explains in more detail. Happy to be corrected if I've misinterpreted or missed anything. |
* Consistent with implementations in k-diffusion. * Makes this compatible with AUTOMATIC1111#15823
Just wanted to put this out there: https://arxiv.org/abs/2405.11326 It's a new method "GITS" that purports to beat AYS in These are the sigmas I was able to get from model_wrap.sigmas for the recommended timesteps: I'm not sure they're correct because they didn't change when I loaded a SDXL model. |
what if you calculate the scale between SD1.5 and SDXL sigma in AYS then apply that scale to GITS so you get SDXL version of that sigmas? something like I use this way generated a result for sdxl, need testing though |
Implements the Align Your Steps noise schedule as described here: https://research.nvidia.com/labs/toronto-ai/AlignYourSteps/howto.html. This includes the sigmas for SDXL and SD 1.5, as well as the recommended interpolation for using larger step sizes.
Description
According to the original work (https://research.nvidia.com/labs/toronto-ai/AlignYourSteps/), AYS can provide better image quality over schedulers such as Karras and Exponential at low step counts (~10). This does appear to bear out in limited testing as can be seen below, though in some cases (such as the tower), it's debatable. It's certain not a panacea; you'll still want to perform at least 15 samples for more consistent, coherent images.
Note I've used 11 steps in the examples below to account for the appending of zero to the sigmas, which is consistent with other schedulers. The alternative would be to truncate/replace the final sigma with zero, but that doesn't seem correct.
Screenshots/videos:
Checklist: