PromptZone - AI Prompts, Guides and Tools for Builders

Cover image for Hyper-SD Guide to Faster SDXL Sampling and Correct Settings
Linh Pham
Linh Pham

Posted on Edited on

Hyper-SD Guide to Faster SDXL Sampling and Correct Settings

Hyper-SD is ByteDance's diffusion acceleration project, which distills image models to generate with fewer sampling steps. To use its fixed-step SDXL LoRAs, choose the adapter for your step count and follow the accompanying scheduler and guidance settings. The authors publish weights, Diffusers examples, and ComfyUI workflows on Hugging Face. project

What are the key facts about Hyper-SD for SDXL?

Field Verified detail
Developer ByteDance research team led by the authors of the Hyper-SD project. project
Released The official update log dates public checkpoints and initial demos to April 20, 2024. card
Type Diffusion distillation and acceleration project, including LoRA and UNet releases. project
Size or parameters No single parameter count published for the complete family; the card distinguishes adapters and full UNet checkpoints. card
License and access Downloadable weights; the repository bundles multiple license texts, including CreativeML Open RAIL++-M, without an SDXL-specific heading. The SDXL base model separately identifies its Open RAIL++-M license. license
Where it runs Self-hosted Diffusers pipelines and supplied ComfyUI workflows; the SDXL Python example uses CUDA. card

How does Hyper-SD reduce SDXL sampling steps?

Hyper-SD targets the number of steps needed for image synthesis. The authors describe trajectory-segmented consistency distillation, human-feedback learning, and score distillation as parts of their approach. project

The model card offers several SDXL routes: fixed-step LoRAs, a unified LoRA, and a separate single-step UNet. It also supplies a ComfyUI workflow for the fixed-step adapters. card

Treat each route as a different experiment. Choose one that fits your intended interface, reproduce its settings, and only then explore whether it meets your image requirements.

A useful trial might involve repeated drafts of the same composition. Define the subject, framing, and visual details you need, then evaluate whether the accelerated setup produces acceptable candidates consistently enough for that task.

For adapter-loading concepts, see the ComfyUI LoRA guide. Keep those general loading concepts separate from Hyper-SD's particular sampling recipe.

Which settings must match your Hyper-SD checkpoint?

The adapter filename, scheduler, step count, and guidance settings belong together. The official fixed-step SDXL example uses DDIM with trailing timestep spacing and disables classifier-free guidance through guidance_scale=0. card

The unified LoRA instead uses TCD, while the single-step UNet example uses its own scheduler and starting timestep. Copying settings between those examples can change the intended experiment. card

Avoid combining an accelerated adapter with an unrelated sampler recipe during initial setup. When a result is unsatisfactory, first compare the entire configuration with the documentation before rewriting the prompt.

A reduced step count does not establish a universal wall-clock speedup. Your measurement should identify the hardware, model, image size, batch size, and whether initialization is included.

Use separate observations for loading and generation. Report a first-run measurement if that matters to your application, and a warmed-up measurement if the model will remain loaded between requests.

The authors report benchmark comparisons, but their results describe their evaluation setup. They do not establish a quality guarantee for every fine-tuned SDXL checkpoint or custom prompt. project

Hyper-SD's license file contains FLUX.1-dev, Stability AI Community License, and CreativeML Open RAIL++-M texts. It does not explicitly label the Open RAIL++-M text as an SDXL section. Review the repository license and the selected base model's terms together instead of assigning one license to the entire Hyper-SD collection. license

How do you run Hyper-SD with SDXL in two steps?

Begin with the official fixed-step SDXL Diffusers example. Prepare a Python environment with compatible PyTorch, Diffusers, Transformers, Accelerate, Hugging Face Hub, Safetensors, and PEFT packages. Diffusers' SDXL LoRA loader requires the PEFT backend. card

The following adapts the model card's two-step example with an original prompt and an explicit output file. It assumes a working CUDA environment and enough memory for the selected pipeline. card

import torch
from diffusers import DiffusionPipeline, DDIMScheduler
from huggingface_hub import hf_hub_download

pipe = DiffusionPipeline.from_pretrained(
    "stabilityai/stable-diffusion-xl-base-1.0",
    torch_dtype=torch.float16, variant="fp16"
).to("cuda")
adapter = hf_hub_download(
    "ByteDance/Hyper-SD", "Hyper-SDXL-2steps-lora.safetensors"
)
pipe.load_lora_weights(adapter)
pipe.fuse_lora()
pipe.scheduler = DDIMScheduler.from_config(
    pipe.scheduler.config, timestep_spacing="trailing"
)
pipe("A ceramic teapot on a linen tablecloth",
     num_inference_steps=2, guidance_scale=0).images[0].save("hyper.png")
Enter fullscreen mode Exit fullscreen mode

Run the baseline successfully before substituting a fine-tuned checkpoint. Keep the adapter file and settings unchanged for the first comparison, so you know which model change you are evaluating.

For ComfyUI, use ByteDance's Hyper-SDXL-Nsteps-lora-workflow.json. Its two-step example uses Hyper-SDXL-2steps-lora.safetensors at model strength 1, two steps, CFG 1, the ddim sampler, and sgm_uniform scheduling. Load the workflow and select your installed SDXL checkpoint and adapter; retain these ComfyUI settings instead of copying the Python example's guidance value. workflow

The one-step UNet and unified-LoRA workflows have additional scheduler requirements documented in the model card. Follow the installation instructions for the specific workflow you select. card

Build a small evaluation sheet with these checks:

  1. Record the model and adapter identifiers, scheduler settings, and image dimensions. Preserve the workflow or script alongside the output.
  2. Choose prompts representing the work you actually produce. Include an uncomplicated object and a composition with several required elements.
  3. Evaluate whether the output meets the request before looking at elapsed time. Reject a quick result that omits the central subject or required composition.
  4. Measure complete generation under consistent conditions. Repeat enough cases to avoid basing the decision on one favorable result.
  5. Keep a short explanation of why you accepted or rejected each candidate. Use those notes when deciding whether to try another adapter recipe.

If the initial output fails, return to the published base-model recipe. Check that the downloaded file belongs to SDXL and that its intended step count matches the configured steps.

How does Hyper-SD compare with SDXL-Lightning?

Option Practical comparison point
Hyper-SD Several acceleration recipes, including fixed-step and unified adapters; use the recipe attached to the selected file. card
SDXL-Lightning ByteDance's separate acceleration release, with full UNet and LoRA examples and its own sampling requirements. lightning

Neither project's settings should be assumed interchangeable. Compare their documented recipes on the same task, while allowing each recipe to retain the scheduler settings its authors require.

The separate SDXL-Lightning guide covers that alternative.

The ComfyUI guide provides broader workflow context.

What else should you know about Hyper-SD settings?

Which Hyper-SD checkpoint does the two-step SDXL example use?

The official two-step SDXL example loads Hyper-SDXL-2steps-lora.safetensors over stabilityai/stable-diffusion-xl-base-1.0. It uses DDIM with trailing timestep spacing, two inference steps, and guidance_scale=0. card

Can I use any Hyper-SD LoRA with SDXL?

Use an SDXL-specific Hyper-SD adapter and the recipe supplied for that artifact. ByteDance's model card lists separate files and examples for other model families. card

Does Hyper-SD use the same guidance value in Diffusers and ComfyUI?

The fixed two-step Diffusers example sets guidance_scale=0. ByteDance's corresponding ComfyUI workflow sets CFG to 1, with the ddim sampler and sgm_uniform scheduler; preserve the settings for your chosen interface. card

How should I compare Hyper-SD generation speed?

Compare accepted outputs under recorded hardware, image-size, batch-size, and model settings. Measure model loading separately from generation, and keep the exact workflow with the timing results.

Sources

Top comments (0)