Stable Diffusion 8편 – 체크포인트, 모델 알아보기

Related Articles

Stable Diffusion의 모델은 체크포인트라고 불리기도 하는데, 특정 스타일의 이미지를 생성하기 위해 미리 학습된 가중치값 입니다.

이러한 모델이 생성하는 이미지의 종류는 어떤 이미지로 학습을 했느냐에 따라 다릅니다. 예를 들어 학습데이터(Training Dataset)에 고양이가 없다면 그 모델은 고양이를 만들 수 없습니다. 반대로 고양이만 학습시키면 고양이만 생성합니다.

이번 포스팅에서는 모델이란 무엇이고, 몇가지 일반적인 모델과 설치, 사용 및 병합하는 방법을 소개하겠습니다.

Fine-tuned models

Fine-tuning (미세 조정) 이 무엇인가요?

파인 튜닝은 머신러닝에서 많이 사용되는 기법입니다. 다양한 Dataset에서 학습된 모델을 조금 좁은 범위의 Dataset에서 조금 더 학습시키는 방법입니다.

이러한 Fine-tuned 모델은 훈련에서 사용된 것과 유사한 이미지를 생성하려는 경향이 있습니다. 예를 들어 전에 소개했던 OrangeMix 모델은 애니메이션 이미지로 학습됩니다. 이 모델은 기본적으로 애니메이션 스타일의 이미지를 생성하게 됩니다.

Stable Diffusion 모델을 만드는 이유

기본적으로 제공되는 Stable Diffusion 모델은 아주 훌륭하지만 전능하진 않습니다. 예를 들어 프롬프트에 “anime”라고 키워드를 입력하면 애니메이션 스타일의 이미지를 만들어 줍니다.

하지만 애니메이션의 하위 장르에 대한 이미지는 만들기 어려울 수 있습니다. 이럴때 프롬프트를 수정하는 대신 특정 장르의 이미지로 Fine-tuning된 모델을 사용해서 사용할 수 있습니다.

Model은 어떻게 만드나요?

크게 2가지 방법이 있는데요. 추가적인 Training 과 Dreambooth 입니다. 이 2가지 방법 모두 Stable Diffusion 1.5 와 같은 기본 모델을 기반으로 합니다.

Additional Training(추가 학습)은 관심있는 추가 DataSet을 기본 모델에 학습시킵니다. 예를 들어 빈티지 자동차의 추가 데이터셋으로 Stable Diffusion v1.5를 학습시켜서 자동차의 하위 장르에 편향시킬 수 있습니다.

구글에서 개발한 Dreambooth는 Text-to-image 모델에 사용자 지정 피사체를 삽입하는 기법입니다. 최소 3~5개의 사용자 지정 이미지로 동작합니다. 자신의 사진을 몇 장 넣고 드림부스를 통해 모델에 자신을 넣을 수 있습니다. 드림부스로 훈련된 모델에는 프롬프트에 특수 키워드를 입력해줘야합니다.

Textual Inversion (혹은 Embedding)은 조금 인기가 없는 방법입니다. Dreambooth와 비슷한 방식인데, 몇가지 예제를 사용해서 모델에 Custom 주제를 삽입하는 것입니다. 새 객체를 위해 따로 새로운 키워드를 생성합니다. 모델의 나머지 부분은 건드리지 않고 텍스트 임베딩만 생성됩니다. 새로운 컨셉을 설명하기 위해 기존 단어를 사용하는 것과 같습니다.

인기있는 Stable Diffusion 모델

수많은 변형된 스테이블 디퓨전 모델이 있습니다. 그 수는 매일 증가하고 있습니다. 아래는 일반적인 용도로 사용할 수 있는 모델들의 목록입니다.

F222 (realistic)

F222는 원래 누드를 생성하도록 학습되었지만 신체 부위 관계가 정확한 아름다운 여성 초상화를 생성하는 데 도움이 된다고 생각합니다. 그리고 의도와 달리 미학적으로 만족스러운 옷을 생성하는 데 꽤 능숙합니다.

F222는 인물 사진에 좋습니다. 누드를 생성하는 경향이 높습니다. 프롬프트에 “dress”, “jeans”과 같은 의류 용어를 포함시켜 보세요. F222는 아름다운 의상을 입은 사실적인 사람을 생성합니다. 하지만 안타깝게도 이 모델은 더 이상 개발되지 않습니다.

다운로드 링크

Anything V5 (anime)

Anything V5(2023.10.28 기준) 는 고품질 애니메이션 스타일의 이미지를 생성하도록 훈련된 특수 목적의 모델입니다. 텍스트 프롬프트에서 danbooru tag(예: 1girl, white hair)를 사용할 수 있습니다.

유명인을 일러스트레이션 요소와 매끄럽게 혼합할 때 유용합니다. (v5보다 v3에서 잘 된다고 합니다.)

현재 기준에서 v5가 최신버전인데, 밑에 링크로 들어가면 v1부터 v5까지 여러버전이 있습니다.

모델 다운로드

Open Journey

오픈 저니는 MidJourney v4에서 생성된 이미지로 fine-tuning된 모델입니다. 다른 느낌을 가지고 있으며 범용적으로 사용하기에 좋은 모델입니다.

Trained on Stable Diffusion v1.5 using +124000 images, 12400 steps, 4 epochs +32 training hours.

Triggering keyword: mdjrny-v4 style 이젠 입력안해도 된답니다.

Openjourney Links

DreamShaper

DreamShaper 모델은 사실적인 일러스트와 컴퓨터 그래픽 사이에 있는 인물 일러스트 스타일에 맞게 미세 조정되었습니다. 사용하기 쉽고 이 스타일을 좋아한다면 마음에 들 것입니다.

모델페이지

드림쉐이퍼는 오픈소스 세계에서 미드저니를 대체할 수 있는 모델로 시작되었습니다. 저는 처음 시작할 때 MJ의 운영 방식이 마음에 들지 않았고, 지금도 여전히 폐쇄적이며, SD에 비해 사용자에게 자유가 부족하다는 점이 마음에 들지 않았습니다. 지금 TI에서 LoRA, ControlNet, Latent Couple에 이르기까지 우리가 가진 모든 도구를 보세요. 무엇이든 할 수 있습니다. 드림쉐이퍼의 목적은 항상 “더 나은 안정적인 확산”, 즉 모든 것을 스스로 할 수 있는 모델을 만들어 꿈을 엮어내는 것이었습니다.
이제 막 출시된 SDXL(물론 드림쉐이퍼 XL 😉)을 통해 ‘스위스 칼’ 같은 모델이 그 어느 때보다 가까워졌다고 생각합니다.

by DreamShaper Author

Deliberate v3

사실적인 일러스트를 렌더링하는 또 다른 필수 모델(정말 많습니다!)인 Deliberate v2도 있습니다. 결과는 놀랍도록 좋을 수 있습니다. 좋은 프롬프트가 있을 때마다 이 모델로 전환하여 어떤 결과가 나오는지 확인하세요!

데이터 세트는 정말 방대합니다. 사실 이것은 인터넷에서 최초로 공개되는 모델로, Midjourney를 포함해 그 어느 곳보다 이미지 선택이 엄격했습니다. Deliberate v3는 네거티브 없이 작업하면서도 걸작을 만들어낼 수 있습니다. 이는 방대한 데이터 세트가 있었기에 가능했습니다. 독특하고 방대하며 완벽한 이미지만 포함되어 있습니다. 아무 단어나 입력하고 네거티브를 제외하면 Deliberate가 무작위 없이 무엇을 보여줄지 알고 있다는 것을 알 수 있습니다. 다소 엉뚱한 결과를 얻으려는 경우에도 멋진 결과를 얻을 수 있습니다.

by Deliberate Author

모델페이지

Realistic Vision

모델 제작자가 추천하는 프롬프트

RAW photo, subject, 8k uhd, dslr, soft lighting, high quality, film grain, Fujifilm XT3
Euler A or DPM++ SDE Karras

CFG Scale 3,5 - 7

Hires. fix with 4x-UltraSharp upscaler

Denoising strength 0.25-0.45

Upscale by 1.1-2.0

Clip Skip 1-2

ENSD 31337

모델 다운로드 v5.1 (v6까지 나왔는데 개인적으로는 v5.1이 더 나은 것 같습니다.)

ChilloutMix

ChilloutMix는 사진 품질의 아시아 여성을 생성하기 위한 특별 모델입니다. F222의 아시아 버전과 같습니다. 한국어 임베딩 ulzzang-6500-v1과 함께 사용하면 케이팝과 같은 소녀를 생성합니다.

F222와 마찬가지로 때때로 누드를 생성합니다. 프롬프트에 “dress” 및 “jeans”와 같은 옷장 용어를 사용하고 부정 프롬프트에 “nude”를 사용하여 막을 수 있습니다.

모델에 대한 소유권과 라이센스가 변경된 모양인데, 모델페이지에서 자세히 읽어보시고 사용하시면 좋을 것 같습니다.

모델 페이지

GhostMix

GhostMix는 90년대 고전 애니메이션인 공각기동대 스타일로 훈련되었습니다. 사이보그와 로봇을 생성하는 데 유용합니다.

모델페이지

Stable Diffusion Official Models

Stable diffusion v2.1

Stable Diffusion v2는 두 가지 공식 Stable Diffusion 모델입니다. V2 모델의 주요 변경 사항은 다음과 같습니다.

  • 512×512픽셀 외에도 768×768픽셀의 고해상도 버전을 사용할 수 있습니다.
  • 교육에서 음란물이 제거되어 더 이상 노골적인 콘텐츠를 생성할 수 없습니다.

모든 사용자가 V2 모델을 사용한다고 생각할 수 있습니다. 그러나 Stable Diffusion 커뮤니티에서는 2.0 모델에서 이미지가 더 나빠진다는 사실을 발견했습니다. 또한 유명인이나 아티스트 이름과 같은 강력한 키워드를 사용하는 데 어려움을 겪고 있습니다.

2.1 모델은 이러한 문제를 부분적으로 해결했습니다. 이미지가 더 보기 좋아졌습니다. 예술적인 스타일을 생성하기가 더 쉬워졌습니다.

2.0 버전은 문제가 있으니 2.1 버전을 사용하세요.

현재로서는 대부분의 사람들이 2.1 모델로 완전히 전환하지 않았습니다. 많은 사람들이 가끔 사용하지만 대부분의 시간을 v1 모델로 보냅니다.

2.1 모델을 사용하기로 결정했다면 몇 가지 일반적인 좌절감을 피하기 위해 다음 팁을 확인하세요.

cropped, lowres, poorly drawn face, out of frame, poorly drawn hands, blurry, bad art, blurred, text, watermark, disfigured, deformed, closed eyes

Many have already found that negative prompt is very important for v2 models. I would suggest to keep a boilerplate negative prompt for portraits where many things can go wrong. In fact, Stability uses

Stable Diffusion XL (SDXL)

SDXL 모델은 유명한 v1.5 모델과 잊혀진 v2 모델의 업그레이드 버전입니다. 초기 테스트 결과는 매우 유망합니다. 공개적으로 사용 가능한 최신 버전은 SDXL 0.9입니다. 베타 버전과 달리 SDXL 0.9는 로컬에서 다운로드하여 실행할 수 있습니다.

SDXL 모델 사용의 이점은 다음과 같습니다.

  • 더 높은 기본 해상도 – 1024픽셀(v1.5의 512픽셀에 비해)
  • 더 높은 이미지 품질(v1.5 기본 모델과 비교)
  • 읽기 쉬운 텍스트 생성 가능
  • 어두운 이미지 생성 용이

SDXL은 기존 모델과의 차이점과 사용법을 별도로 포스팅 하도록 하겠습니다. 모델 소개로 끝내기에는 설명드릴 내용이 좀 많네요.

다운받은 모델 사용하기

모델 설치 및 사용하는 방법은 메뉴설명 포스팅에 써놨으니, 링크로 안내드릴께요.

관련포스팅 : Stable Diffusion 3편 – 메뉴설명#1 (txt2img)

Pruned vs Full vs EMA-only models

일부 체크포인트 모델은 (1) 마지막 훈련 단계 이후의 가중치와 (2) 지난 몇 번의 훈련 단계에 대한 평균 가중치, 즉 EMA(지수 이동 평균)라는 두 세트의 가중치로 구성됩니다.

모델 사용에만 관심이 있는 경우 EMA-only 모델을 다운로드할 수 있습니다. 이는 모델을 사용할 때 실제로 사용하는 가중치입니다. 이러한 모델을 pruned 모델이라고도 합니다.

추가 학습을 통해 모델을 fine-tuned 하려는 경우 전체 모델(즉, 두 세트의 가중치로 구성된 체크포인트 파일)만 필요합니다.

따라서 이미지를 생성하는 데 사용하려면 pruned 모델 또는 EMA 전용 모델을 다운로드하세요. 이렇게 하면 디스크 공간을 절약할 수 있습니다.

Fp16 and fp32 models

FP는 부동 소수점의 약자입니다. 컴퓨터가 십진수를 저장하는 방식입니다. 여기서 십진수는 모델 가중치입니다. FP16은 숫자당 16비트를 사용하며 반정밀도라고 합니다. FP32는 32비트를 사용하며 이를 배정밀도라고 합니다.

딥러닝 모델(예: 안정 확산)의 경우 훈련 데이터는 노이즈가 상당히 큽니다. 고정밀 모델이 필요한 경우는 거의 없습니다. 추가 정밀도는 노이즈를 저장할 뿐입니다!

따라서 가능한 경우 FP16 모델을 다운로드하세요. 크기가 절반 정도입니다. 이렇게 하면 몇 GB를 절약할 수 있습니다!

Safetensor models

원래 pyTorch모델 형식은 .pt입니다. 이 형식의 단점은 보안상 안전하지 않다는 것입니다. 누군가 악성 코드를 심을 수 있습니다. 이 모델을 사용하면 컴퓨터에서 코드가 실행될 수 있습니다.

세이프텐서는 PT 모델 형식의 개선된 버전입니다. 가중치를 저장하는 것과 동일한 작업을 수행하지만 코드를 실행하지는 않습니다.

따라서 세이프텐서 버전을 사용할 수 있을 때마다 다운로드하세요. 그렇지 않은 경우 신뢰할 수 있는 출처에서 PT 파일을 다운로드해야 합니다.

다른 모델 타입

4 가지 주요 유형의 파일을 “모델”이라고 부를 수 있습니다. 좀 더 명확히 설명해드리겠습니다.

  1. 체크포인트 모델은 실제 Stable Diffusion 모델입니다. 여기에는 이미지를 생성하는 데 필요한 모든 것이 포함되어 있습니다. 추가 파일이 필요하지 않습니다. 일반적으로 2~7GB의 대용량입니다. 이것이 이 포스팅의 주제입니다.
  2. 임베딩이라고도 하는 텍스트 반전은 새로운 개체 또는 스타일을 생성하기 위해 새로운 키워드를 정의하는 작은 파일입니다. 일반적으로 10~100KB의 작은 크기입니다. 반드시 체크포인트 모델과 함께 사용해야 합니다.
  3. LoRA 모델은 스타일 수정을 위한 체크포인트 모델에 대한 작은 패치 파일입니다. 일반적으로 10-200MB 크기입니다. 반드시 체크포인트 모델과 함께 사용해야 합니다.
  4. HyperNetwork는 체크포인트 모델에 추가된 추가 네트워크 모듈입니다. 일반적으로 5~300MB입니다. 체크포인트 모델과 함께 사용해야 합니다.

마치며

이번 포스팅에서는 Stable Diffusion 모델(체크포인트), 모델 제작 방법, 몇 가지 일반적인 모델, 모델을 병합하는 방법을 소개해 드렸습니다. 특정 스타일을 염두에 두고 있을 때 모델을 사용하면 작업이 더 쉬워질 수 있습니다.

More on this topic

Comments

LEAVE A REPLY

Please enter your comment!
Please enter your name here