SDXL-turbo (이미지 생성)¶
StableDiffusionXL-turbo (SDXL-turbo)는 StabilityAI에서 개발한 stable diffusion xl 모델중 하나로 매우 빠른 속도로 높은 품질의 이미지를 생성할 수 있습니다. SDXL-turbo는 기존 stable diffusion 모델들과는 다르게 한 스텝의 샘플링만으로도 높은 품질의 이미지를 생성할 수 있습니다. 이 튜토리얼에서는 optimum-rbln을 사용하여 sdxl-turbo를 컴파일하고 이미지를 생성하는 방법을 소개합니다.
이 튜토리얼은 두 단계로 구성되어 있습니다:
- 파이토치
SDXL-turbo
모델을 컴파일하는 방법 - 컴파일된 모델을 통해 이미지를 생성하는 방법
사전 준비¶
시작하기에 앞서 아래의 파이썬 패키지들을 설치합니다:
Note
세부사항을 생략하고, 빠르게 컴파일 및 이미지 생성하는 방법을 확인하려면 요약을 참고하세요. 컴파일 및 이미지 생성을 위한 모든 코드가 정리되어있어 빠르게 프로젝트를 시작할 수 있습니다.
1단계. 컴파일 방법¶
모델 준비 및 컴파일¶
SDXL-turbo 모델을 optimum-rbln에서 제공하는 RBLNStableDiffusionXLPipeline
클래스를 사용하여 컴파일 할 수 있습니다. RBLNStableDiffusionXLPipeline
을 사용할때, 다음 매개변수를 사용해야 합니다:
export
: 모델 컴파일을 위해서, 반드시export
매개변수를 True로 설정해야 합니다. 모델은 허깅페이스 허브에서 다운로드되며, 자동으로 RBLN SDK로 컴파일됩니다.export
매개변수를False
로 설정 할 경우, 사전 컴파일된 모델을 로드하고 바로 추론을 진행하게 됩니다.
컴파일된 모델 저장¶
디스크에 모델을 저장하기 위해, 아래 pipe.save_pretrained()
를 사용할 수 있습니다:
2단계. 이미지 생성 방법¶
컴파일된 모델 로드¶
먼저, 이미지 생성을 위해 컴파일된 모델을 로드해야 합니다. 이를 위해 RBLNStableDiffusionXLPipeline
클래스의 export
매개변수를 False
로 설정합니다:
이미지 생성¶
이제 이미지를 생성할 준비가 되었습니다. 허깅페이스 StableDiffusionXLPipeline
클래스에있는 num_inference_steps
과 guidance_scale
과 같은 원본 매개변수를 사용할 수 있습니다. SDXL-turbo는 guidance_scale
이나 negative_prompt
를 사용하지 않으며, guidance_scale=0.0
으로 이를 비활성화합니다:
본 튜토리얼이 잘 진행됐다면 아래와 유사한 이미지가 생성되는 것을 확인할 수 있습니다.
요약¶
SDXL-turbo를 컴파일하여 이미지 생성을 하기 위한 완성 된 코드는 아래와 같습니다: