🚀 SDXL-Lightning
SDXL-Lightningは、高速なテキストから画像への生成モデルです。数ステップで高品質な1024pxの画像を生成することができます。詳細については、当社の研究論文 SDXL-Lightning: Progressive Adversarial Diffusion Distillation を参照してください。当社は、研究の一環としてこのモデルをオープンソース化しています。
🚀 クイックスタート
SDXL-Lightningは、高速なテキストから画像への生成を実現するモデルです。このモデルは、stabilityai/stable-diffusion-xl-base-1.0 から蒸留されており、1ステップ、2ステップ、4ステップ、および8ステップの蒸留モデルのチェックポイントが含まれています。
✨ 主な機能
- 高速なテキストから画像への生成が可能で、数ステップで高品質な1024pxの画像を生成できます。
- 2ステップ、4ステップ、および8ステップのモデルの生成品質は非常に高く、1ステップのモデルはより実験的なものです。
- 完全なUNetとLoRAの両方のチェックポイントを提供しています。完全なUNetモデルは最も高い品質を備えており、LoRAモデルは他のベースモデルに適用することができます。
📦 インストール
このセクションでは、DiffusersとComfyUIでの使用方法を説明します。
Diffusersの使用方法
常に対応する推論ステップに適したチェックポイントを使用してください。
2-Step、4-Step、8-Step UNet
import torch
from diffusers import StableDiffusionXLPipeline, UNet2DConditionModel, EulerDiscreteScheduler
from huggingface_hub import hf_hub_download
from safetensors.torch import load_file
base = "stabilityai/stable-diffusion-xl-base-1.0"
repo = "ByteDance/SDXL-Lightning"
ckpt = "sdxl_lightning_4step_unet.safetensors"
unet = UNet2DConditionModel.from_config(base, subfolder="unet").to("cuda", torch.float16)
unet.load_state_dict(load_file(hf_hub_download(repo, ckpt), device="cuda"))
pipe = StableDiffusionXLPipeline.from_pretrained(base, unet=unet, torch_dtype=torch.float16, variant="fp16").to("cuda")
pipe.scheduler = EulerDiscreteScheduler.from_config(pipe.scheduler.config, timestep_spacing="trailing")
pipe("A girl smiling", num_inference_steps=4, guidance_scale=0).images[0].save("output.png")
2-Step、4-Step、8-Step LoRA
非SDXLベースモデルを使用している場合のみLoRAを使用してください。それ以外の場合は、より高い品質を得るためにUNetのチェックポイントを使用してください。
import torch
from diffusers import StableDiffusionXLPipeline, EulerDiscreteScheduler
from huggingface_hub import hf_hub_download
base = "stabilityai/stable-diffusion-xl-base-1.0"
repo = "ByteDance/SDXL-Lightning"
ckpt = "sdxl_lightning_4step_lora.safetensors"
pipe = StableDiffusionXLPipeline.from_pretrained(base, torch_dtype=torch.float16, variant="fp16").to("cuda")
pipe.load_lora_weights(hf_hub_download(repo, ckpt))
pipe.fuse_lora()
pipe.scheduler = EulerDiscreteScheduler.from_config(pipe.scheduler.config, timestep_spacing="trailing")
pipe("A girl smiling", num_inference_steps=4, guidance_scale=0).images[0].save("output.png")
1-Step UNet
1ステップのモデルは実験的なものであり、品質は非常に不安定です。より高い品質を得るためには、2ステップのモデルを使用することを検討してください。
1ステップのモデルは、"epsilon"予測ではなく "sample"予測を使用します!スケジューラを正しく設定する必要があります。
import torch
from diffusers import StableDiffusionXLPipeline, UNet2DConditionModel, EulerDiscreteScheduler
from huggingface_hub import hf_hub_download
from safetensors.torch import load_file
base = "stabilityai/stable-diffusion-xl-base-1.0"
repo = "ByteDance/SDXL-Lightning"
ckpt = "sdxl_lightning_1step_unet_x0.safetensors"
unet = UNet2DConditionModel.from_config(base, subfolder="unet").to("cuda", torch.float16)
unet.load_state_dict(load_file(hf_hub_download(repo, ckpt), device="cuda"))
pipe = StableDiffusionXLPipeline.from_pretrained(base, unet=unet, torch_dtype=torch.float16, variant="fp16").to("cuda")
pipe.scheduler = EulerDiscreteScheduler.from_config(pipe.scheduler.config, timestep_spacing="trailing", prediction_type="sample")
pipe("A girl smiling", num_inference_steps=1, guidance_scale=0).images[0].save("output.png")
ComfyUIの使用方法
常に対応する推論ステップに適したチェックポイントを使用してください。Eulerサンプラーとsgm_uniformスケジューラを使用してください。
2-Step、4-Step、8-Step Full
- 完全なチェックポイント (
sdxl_lightning_Nstep.safetensors
) を /ComfyUI/models/checkpoints
にダウンロードします。
- 当社の ComfyUI full workflow をダウンロードします。

2-Step、4-Step、8-Step LoRA
非SDXLベースモデルを使用している場合のみLoRAを使用してください。それ以外の場合は、より高い品質を得るために完全なチェックポイントを使用してください。
- 独自のベースモデルを準備します。
- LoRAのチェックポイント (
sdxl_lightning_Nstep_lora.safetensors
) を /ComfyUI/models/loras
にダウンロードします。
- 当社の ComfyUI LoRA workflow をダウンロードします。

1-Step
1ステップのモデルは実験的なものであり、品質は非常に不安定です。より高い品質を得るためには、2ステップのモデルを使用することを検討してください。
- ComfyUIを最新バージョンに更新します。
- 完全なチェックポイント (
sdxl_lightning_1step_x0.safetensors
) を /ComfyUI/models/checkpoints
にダウンロードします。
- 当社の ComfyUI full 1-step workflow をダウンロードします。

📚 ドキュメント
デモ
- すべての設定で生成し、最高品質を得ることができます:デモ
チェックポイント
sdxl_lightning_Nstep.safetensors
:ComfyUI用の統合チェックポイント。
sdxl_lightning_Nstep_unet.safetensors
:Diffusers用のUNetチェックポイント。
sdxl_lightning_Nstep_lora.safetensors
:DiffusersとComfyUI用のLoRAチェックポイント。
📄 ライセンス
本モデルは、OpenRail++ライセンスの下で公開されています。
📖 引用
@misc{lin2024sdxllightning,
title={SDXL-Lightning: Progressive Adversarial Diffusion Distillation},
author={Shanchuan Lin and Anran Wang and Xiao Yang},
year={2024},
eprint={2402.13929},
archivePrefix={arXiv},
primaryClass={cs.CV}
}