SDXL-Turbo(이미지 생성)¶
개요¶
Stable Diffusion XL Turbo(SDXL-Turbo)는 StabilityAI에서 제공하는 고속, 고품질의 텍스트-이미지 생성 모델입니다. 다른 여러 디퓨전 모델과 달리, SDXL-Turbo는 단일 추론 단계(single inference step)만으로 고품질 이미지를 생성할 수 있어 속도가 크게 향상되었습니다. 이 튜토리얼에서는 optimum-rbln을 사용하여 sdxl-turbo 모델을 컴파일하고 이미지를 생성하는 방법을 보여줍니다.
환경 설정 및 설치 확인¶
시작하기 전에 시스템 환경이 올바르게 구성되어 있고 필요한 패키지가 모두 설치되어 있는지 확인합니다. 필요한 항목은 다음과 같습니다:
- 시스템 요구 사항:
- 필수 패키지:
- 설치 명령어:
Note
rebel-compiler를 사용하려면 RBLN 포털 계정이 필요합니다.- 위 명령은 Debian 계열 Linux(예: Ubuntu)에서 pip로 패키지를 설치하는 일반적인 절차를 전제로 합니다. OS나 환경이 다른 경우에는 설치 가이드에서 지원되는 설치 조합과 적용 가능한 명령을 확인할 수 있습니다.
RBLN Optimum 사용하기¶
모델 컴파일¶
먼저 optimum-rbln 라이브러리에서 제공하는 RBLNStableDiffusionXLPipeline 클래스를 사용하여 SDXL-Turbo 모델을 컴파일합니다. 모델을 컴파일하려면 export 인수를 True로 설정합니다. 이렇게 설정하면 파이프라인이 HuggingFace 허브에서 원본 모델을 다운로드한 다음, RBLN Compiler를 사용하여 컴파일합니다. torch_dtype=torch.float16을 전달하면 파이프라인을 반정밀도(half precision)로 컴파일합니다. dtype을 지정하지 않으면 파이프라인은 torch.float32로 동작합니다. 컴파일 후에는 save_pretrained() 메서드를 사용하여 모델 아티팩트(artifacts)를 디스크에 저장합니다. 이 과정은 컴파일된 모델을 포함하는 디렉터리(예: rbln-sdxl-turbo)를 생성합니다.
컴파일된 모델 불러오기¶
이미지를 생성하려면, 먼저 이전 단계에서 저장한 컴파일된 모델을 불러옵니다. 이번에는 export 인수를 False로 설정하여 로컬 경로에서 사전 컴파일된 모델을 불러오도록 지정합니다. SDXL-Turbo는 Classifier-Free Guidance 없이 실행되도록 설계되었으므로, 컴파일 단계에서 rbln_guidance_scale=0.0으로 설정합니다. 추론 시 guidance_scale에도 같은 값을 사용해야 합니다.
이미지 생성¶
컴파일된 파이프라인을 불러온 뒤 프롬프트와 num_inference_steps 같은 표준 인수로 파이프라인을 호출합니다. guidance_scale은 컴파일 시 사용한 rbln_guidance_scale 값(이 예제에서는 0.0)으로 설정해야 합니다.
예시 출력:
