AI 이미지/Stable Diffusion

Easy Diffusion - 모델 병합

하늘이푸른오늘 2023. 3. 29. 13:59

Stable Diffusion 에서 생성되는 이미지는 여러가지 요인에 의해 영향을 받지만, 그중 가장 큰 비중을 차지하는 것이 이미지 생성에 사용되는 모델이다. Stable Diffusion은 여러개의 학습 모델을 사용하면서, 수시로 교체하며 사용할 수 있다. 사용가능한 모델은 .ckpt 또는 .safetensors  로서, "C:\EasyDiffusion\models\stable-diffusion" 에 복사하면 사용할 수 있다.

모델 병합(Model Merging)은 2개의 Stable Diffusion 모델(.ckpt 또는 .safetensors)을 합쳐서, 각각의 스타일과 기능을 결합하는 것을 말한다. (단, 이 기능은 Easy Diffusion 2.5.0 이상에서만 지원한다.)

1 단계

Easy Diffusion 화면 상단의 [Merge models] 탭을 누른다.

Stable Diffusion - Merge models 화면
Stable Diffusion - Merge models 화면

2 단계

합치고자 하는 모델을 두 개 선택한다. (** 중요 : 비슷한 유형의 모델을 합쳐라. 예를 들어 [SD 1.4] 모델은 [SD 1.4/1.5] 모델과, [SD 2.0] 모델은 [SD 2.0] 유형의 모델과, [SD 2.1] 모델은 [SD 2.1] 유형의 모델과 합치는 것이 좋다.)

3 단계

합치기 비율(Merge ratio)를 선택한다. 예를 들어 5% 를 선택할 경우, [Model A]의 특성은 5%, [Model B]의 특성은 95% 반영된 모델이 만들어지게 된다. 

Stable Diffusion - Merge ratio
Stable Diffusion - Merge ratio

4 단계

[Output file name] 란에 생성될 모델의 이름을 지정한다. 병합비율과 확장자가 자동적으로 지정되므로, 일부러 파일 명에 넣을 필요는 없다. [Output precision](결과물 정밀도)에서는 fp16과 fp32를 지정할 수 있는데, 그냥 이미지 생성용으로 사용할 경우에는 파일 크기가 작아지는 fp16으로 충분하다고 한다.

Stable Diffusion - Output 파일 명
Stable Diffusion - Output 파일 명

마지막으로 맨 아래에 있는 [Merge models] 를 클릭하면 완성된다. 


다중 병합(Make multiple variations)

[Make multiple variations]탭을 누르면 두 개의 모델을 다양한 비율로 합쳐볼 수 있다. 이는 병합의 효과를 보고자 할 때 유용하지만, 잘못 사용할 경우 디스크가 엄청나게 소모될 수 있으므로 주의를 요한다. 아래는 모델 A의 특성이 각각 5%, 15%. 25%, 35%, 45% 되도록 5가지 단계로 병합하는 예이다.

Stable Diffusion - 다중 병합
Stable Diffusion - 다중 병합

 

(원문 : Model Merging · cmdr2/stable-diffusion-ui Wiki · GitHub)을 기반으로 필요에 따라 수정하였음.

민, 푸른하늘

a photograph of an astronaut riding a horse
a photograph of an astronaut riding a horse

Easy Diffusion 사용법에 관한 글 모음