본문 바로가기
IT/Stable Diffusion

Stable Diffusion Model: 어떤 모델을 사용해야하는가

by MtoZ 2024. 3. 19.

스테이블 디퓨전을 처음 접할 때 어떤 모델을 사용해야 할지 혼란스러울 수 있다. 모든 Diffusion 모델의 기반이 되는 기본 모델 (SD 1.5, SD 2.1, SDXL)과 LoRA, Embedding 등 모델의 특성을 알아보고, 자신에게 맞는 모델을 찾아 사용하자.

SD(Stable Diffusion) Model

SD Model 또는 Checkpoint는 특정 스타일의 이미지를 생성하기 위해 사전 학습된 모델이다. 대부분의 모델은 Stability AI의 기본 모델을 기반으로 사실적인 이미지나 애니 등 특정 스타일의 이미지를 생성하기 위해 추가 학습한 미세 조정(fine-tuning)된 모델이다. civitai 사이트에서 모델을 필터링하거나 base model에서 기본 모델을 확인할 수 있다.

SD 1.5

AbyssOrangeMix3

해상도 512x512 이미지로 학습된 모델이다. 1.5기반의 LoRA 모델이 많고 성인물을 더 잘 표현하며 하드웨어(그래픽 카드)의 장벽 등의 이유로 SDXL보다 선호되는 경향이 있다.

입문자라면 SD 1.5 기반의 모델을 추천

추천 모델:

SD 2.1

1.5보다 더 높은 해상도(768x768)과 괴상한 표현(머리 2개)을 개선했다. 하지만 OpenClip의 문제로 예상과 다른 이미지를 생성해 프롬프트를 더 상세하게 입력해야 했고 성인 콘텐츠 검열로 인해 사람들이 다시 v1.5로 돌아갔기 때문에 사실상 실패한 모델이다.

SDXL 1.0

Juggernaut XL

SD 1.5와 비교:

  • 고해상도 이미지 1024x1024
  • 자세한 묘사
  • 읽을 수 있는 텍스트

1.5보다 더 좋아 보이지만 gpu의 vram이 최소 12GB가 필요하다. vram이 12GB보다 적을경우 다음 옵션을 적용해야 한다.

  • Nvidia (12gb+) --xformers
  • Nvidia (8gb) --xformers --medvram-sdxl
  • Nvidia (4gb) --xformers --lowvram
  • AMD (4gb) --lowvram --opt-sub-quad-attention

SDXL은 1024x1024 보다 적은 해상도에서는 잘 동작하지 않는다.

추천 모델:

SDXL Turbo

DreamShaper XL

실시간 이미지 생성을 위한 모델이다. 빠르게 이미지를 생성하지만 512x512 해상도를 사용해야 하고 이미지 퀄리티가 보장되지 않기 때문에 이미지 생성 후 업스케일이 필수이다.

추천 모델:

LCM와 SDXL Lightning

LCM과 SDXL lightning 역시 실시간 이미지를 위한 모델이다. SDXL Turbo와 비교했을 때 속도는 떨어지지만 더 높은 해상도(1024x1024)와 퀄리티가 더 좋다.

이미지의 퀄리티 차이 때문에 LCM보다 SDXL Lightning이 선호된다.

Embedding과 LoRA

SD1.5와 SDXL같은 기본모델이 몸이라면 EmbeddingLoRA는 옷이라고 볼 수 있다.

체크포인트 모델과 같이 사용하여 부족한 디테일을 보충할 수 있다.

Embedding

EasyNegative

임베딩은 텍스트 반전(textual inversion)을 사용하여 모델을 수정하지 않고 새 키워드를 정의하는 방법이다.

적은 용량(약 100KB)으로 새로운 스타일과 개념을 적용하기 위해 많이 사용되었지만 비슷한 역할을 하면서 더 많은 일을 할 수 있는 LoRA에게 입지가 밀리게 되었다.

최근에는 괴상한 표현(여러개의 손가락)을 억제하기 위해 EasyNegative 같은 임베딩이 많이 사용되고 있다.

LoRA

Add More Details

LoRA(Low-Rank Adaptation of Large Language Models)는 GPT-3와 같이 수십억 개의 매개변수가 있는 강력한 모델은 특정 작업이나 도메인에 적용하기 위해 미세 조정하는 데 엄청난 비용이 들기때문에 Microsoft에서 도입한 기술이다.

Stable Diffusion에서 LoRA는 임베딩과 비슷한 역할이지만 2~200MB의 파일크기로 체크포인트 모델 위에 적은 용량으로 임베딩보다 세부사항을 더 따르는 스타일을 적용할 수 있다.

디테일을 추가하는 Detail Tweaker, 한복을 위한 Female Noble Class Hanbok등 다양한 LoRA모델이 있다.

기타 모델

  • LyCORIS: LoRA의 확장된 버전
  • Hypernetwork: NovelAI에서 개발한 모델. LoRA와 같이 체크포인트모델과 함께 사용.