Diffusers documentation

Habana Gaudi에서 Stable Diffusion을 사용하는 방법

Hugging Face's logo
Join the Hugging Face community

and get access to the augmented documentation experience

to get started

Habana Gaudi에서 Stable Diffusion을 사용하는 방법

🤗 Diffusers는 🤗 Optimum Habana를 통해서 Habana Gaudi와 호환됩니다.

요구 사항

  • Optimum Habana 1.4 또는 이후, 여기에 설치하는 방법이 있습니다.
  • SynapseAI 1.8.

추론 파이프라인

Gaudi에서 Stable Diffusion 1 및 2로 이미지를 생성하려면 두 인스턴스를 인스턴스화해야 합니다:

  • GaudiStableDiffusionPipeline이 포함된 파이프라인. 이 파이프라인은 텍스트-이미지 생성을 지원합니다.
  • GaudiDDIMScheduler이 포함된 스케줄러. 이 스케줄러는 Habana Gaudi에 최적화되어 있습니다.

파이프라인을 초기화할 때, HPU에 배포하기 위해 use_habana=True를 지정해야 합니다. 또한 가능한 가장 빠른 생성을 위해 use_hpu_graphs=TrueHPU 그래프를 활성화해야 합니다. 마지막으로, Hugging Face Hub에서 다운로드할 수 있는 Gaudi configuration을 지정해야 합니다.

from optimum.habana import GaudiConfig
from optimum.habana.diffusers import GaudiDDIMScheduler, GaudiStableDiffusionPipeline

model_name = "stabilityai/stable-diffusion-2-base"
scheduler = GaudiDDIMScheduler.from_pretrained(model_name, subfolder="scheduler")
pipeline = GaudiStableDiffusionPipeline.from_pretrained(
    model_name,
    scheduler=scheduler,
    use_habana=True,
    use_hpu_graphs=True,
    gaudi_config="Habana/stable-diffusion",
)

파이프라인을 호출하여 하나 이상의 프롬프트에서 배치별로 이미지를 생성할 수 있습니다.

outputs = pipeline(
    prompt=[
        "High quality photo of an astronaut riding a horse in space",
        "Face of a yellow cat, high resolution, sitting on a park bench",
    ],
    num_images_per_prompt=10,
    batch_size=4,
)

더 많은 정보를 얻기 위해, Optimum Habana의 문서와 공식 GitHub 저장소에 제공된 예시를 확인하세요.

벤치마크

다음은 Habana/stable-diffusion Gaudi 구성(혼합 정밀도 bf16/fp32)을 사용하는 Habana first-generation Gaudi 및 Gaudi2의 지연 시간입니다:

Latency (배치 크기 = 1) Throughput (배치 크기 = 8)
first-generation Gaudi 4.29s 0.283 images/s
Gaudi2 1.54s 0.904 images/s
< > Update on GitHub