슬라이드 LoRA (복사기 LoRA)란?

슬라이드 LoRA (복사기 LoRA)는 별도의 트리거 워드 없이 해당 LoRA의 가중치만 조절하여 작동되는 LoRA를 말한다. 또한 가중치를 마이너스로 주면 네거티브 임베딩 처럼 작동되는 것이 특징이다.


제작 방법에 참고가 된 글

https://note.com/2vxpswa7/n/n2d04527bf0bc

https://kurokumasoft.com/2023/05/29/lora-overtraining-technique/


이론적 원리

먼저 이미지 A와 이를 기반으로 학습하고자 하는 개념이 적용된 이미지 B를 만든다. 


그런 다음 이미지 A 만 뽑을 수 있는 과적합된 바보 LoRA를 만든 다음 이것을 모델하고 병합하여 바보 모델을 만든다.


그런 다음 바보 모델에서 이미지 B 만 뽑을 수 있는 과적합된 다른 LoRA를 만든다.


LoRA는 기존 모델과 학습된 차이점을 기록해둔 파일로서 이렇게 하면 이미지 B에서 이미지 A를 뺀 차이점이 기록되고 이것을 정상적인 모델에서 사용하면 학습하고자 하는 개념만 남는 슬라이드 LoRA가 된다.


준비물


1. 적당한 학습용 모델

SD 1.5, animefull, anything 3.0, Basil Mix 등 베이스 모델 또는 베이스에 가까운 모델 

또는 데이터셋에 근접한 이미지를 생성할 수 있는 모델.


2. 데이터셋용 이미지 2장

하나는 슬라이드가 적용되지 않은 시점의 이미지 A


하나는 슬라이드가 적용된 시점의 이미지 B 


이미지 A와 B는 틀린그림찾기 수준으로 필요한 부분의 차이만 있어야한다. 이미지 A는 학습에 사용하고자 하는 모델에서 생성한 그림을 사용한 다음 포토샵 같은 편집 프로그램으로 편집하여 이미지 B를 만드는것도 좋은 방법이다.


3. AI그림 학습이 가능한 컴퓨터

여기서는 로컬 LoRA koyha_ss GUI 버전을 기준으로 설명한다.


작업 절차

1. 데이터셋 설정

데이터셋으로 지정할 img 폴더를 만든 다음 500 이라는 폴더를 만든 다음 폴더에 이미지 A를 넣는다. 그림 하나만 나오는 불량 LoRA를 만들것이라서 태깅 토큰 다 필요없다. 500은 리피트가 500이라는 의미.


나머지 폴더 생성과 지정은 평소처럼 진행하면 된다.


2. 학습 세팅

학습에 사용할 모델을 지정하고


데이터셋 등의 폴더를 지정하고


본격적인 LoRA 학습 세팅을 해야하는데 다음에 유의하면서 세팅을 진행할것.

LR Scheduler : cosine 

Learning rate : 0.001

LR warmup : 0


Text Encoder learning rate - 0.001
Unet learning rate  - 0.001


Additional parameters : --network_train_unet_only



Sample prompts : , --w 512, --h 512, --d 512, --l 7, --s 20


정도로 세팅을 진행하면 되고 나머지는 적당히 알아서. 샘플 설정도 반드시 지킬 필요는 없지만 아무런 프롬프트가 입력되지 않는것이 중요함.


3. 작업용 LoRA 제작

세팅이 끝난 다음 Start training 버튼을 누르면 된다.


이런 에러가 지나가겠지만 무시해도 된다.


LoRA 학습이 완료되고 이미지 A와 비슷한 이미지가 샘플로 나오면 베이스 작업용 LoRA가 완성되었다. 이미지 A와 같을수록 좋은 작업용 LoRA이다.


4. 작업용 LoRA 모델 병합

작업용 LoRA를 학습에 사용할 모델하고 병합해야한다. 병합 방법은 여러가지가 있지만 여기서는 koyha_ss GUI 버전에서 작업할 수 있는 툴을 사용한다. 사진을 참고하여 세팅한 다음 모델을 병합하면 된다.



이미 4번까지 진행이 완료되었는데 데이터셋 B만 변경된 다른 슬라이드 LoRA를 계속 만드는 경우 바로 5번으로 넘어가면 된다.



5. 슬라이드 LoRA 세팅

먼저 데이터셋에 있던 이미지 A를 이미지 B로 변경한다. 데이터셋 설정 절차와 동일하게 새로운 데이터셋 폴더를 만들어도 무방하다.


그런 다음 학습용 모델을 방금전에 병합했던 모델로 지정한다.


새로운 데이터셋 폴더를 만든것이 아니라면 폴더는 그대로 둬도 무방하며 LoRA 이름만 변경해주면 된다.


6. 슬라이드 LoRA 제작


세팅이 끝난 다음 Start training 버튼을 누르면 된다.


LoRA 학습이 완료되고 이미지 B와 비슷한 이미지가 샘플로 나오면 베이스 작업용 LoRA가 완성되었다. 이미지 B와 같을수록 좋은 슬라이드 LoRA이다.


그리고 해당 LoRA는 제작에 실패했다. 


어쩐지 데이터셋 이미지하고 샘플 이미지하고 거리가 있더라... 


그래도 같은 방법으로 만든 다른 슬라이드 LoRA는 제작에 성공했으니 데이터셋 이미지하고 샘플 이미지의 매칭 결과가 중요하다고 볼 수 있다.