home/ atoms/ lcm-lora-for-few-step-inference

Fusing LCM-LoRA into an SD model enables 2–4 step diffusion inference without retraining the base model

Latent Consistency Models (LCM) learn to denoise in very few steps (1–8) via consistency distillation. LCM-LoRA applies this distillation as a LoRA weight delta, allowing any compatible Stable Diffusion 1.5 model to behave like an LCM after fuse_lora(). StreamDiffusion loads the default latent-consistency/lcm-lora-sdv1-5 via stream.load_lcm_lora(), then permanently fuses it into the UNet weights via stream.fuse_lora(). Fusing is important: it eliminates the LoRA adapter overhead at inference time. SD-Turbo (a fully distilled model) does not need LCM-LoRA (use_lcm_lora=False). With LCM-LoRA, t_index_list=[32,45] gives 2 effective denoising steps; SD-Turbo uses t_index_list=[0] for 1 step.

Examples

# With LCM-LoRA on KohakuV2:
stream.load_lcm_lora()
stream.fuse_lora()
# t_index_list=[32,45] → 2 steps

# With SD-Turbo (no LoRA needed):
StreamDiffusionWrapper(model_id_or_path='stabilityai/sd-turbo',
                       use_lcm_lora=False, t_index_list=[0])

Assessment

What is the difference between calling load_lcm_lora() and fuse_lora() separately versus leaving the LoRA unfused? Predict the inference-time overhead of unfused LoRA.

“If the loaded model is not LCM, merge LCM”
corpus · streamdiffusion-pipeline-for-real-time-interactive-image-gen · chunk 6