[튜토리얼]LoRA가 뭔데? 옷을 단계적으로 입히고 벗겨보자! 19금 아님!! <LoRA 깨부수기 -1->
본문 바로가기
ai 만들어보기(feat ai artwork lab)

[튜토리얼]LoRA가 뭔데? 옷을 단계적으로 입히고 벗겨보자! 19금 아님!! <LoRA 깨부수기 -1->

by mement0mori 2023. 7. 20.
 
 

[튜토리얼] 100% 무료 내 컴퓨터(windows)로 인공지능 이미지 만들기

https://stable-diffusion-art.com/install-windows/ 요 내용을 기반으로 합니다. ​ 인공지능 이미지 생성, 제일 쉬운 건 역시 요즘 우후죽순 생기는 이미지 생성 사이트를 이용하는 겁니다. 그런데 그거 좀 제

istor-y.tistory.com

인공지능 이미지 생성을 하다보면 LoRA를 아주 많이 접하게 될 겁니다. 보니까 civitai에서도 그렇고 가장 많이 쓰이는 파인튜닝 기법인 것 같습니다. 일단 간단한 사용방법을 알아보고 이게 대체 어떻게 이렇게 작동하는 건지 이해해보도록 합시다!

civitai 가보시면 LoRA는 아주 다양한 모델을 확인할 수 있죠. 별의 별게 다 있죠. 그중에서도 꽤 재미난 기능(옷을 한 꺼풀씩 입히고, 벗길 수 있는)을 학습한 모델이 있어서 한 번 소개도 해드릴 겸~ LoRA도 알아볼 겸~ 겸사겸사 한 번 튜토리얼 올려봅니다.

사용법은 진짜 너무 쉽죠.

1. LoRA 받기

일단 해당 LoRA 모델을 다운로드 받습니다. 아래 주소로 가시면 됩니다.

https://civitai.com/models/88132?modelVersionId=117151

엌 전 2.0 모델로 테스트 했었는데 3.0이 나왔네요! 한 번 해봐야겠습니다. ㅋㅋㅋ참고로 가보시면 아시겠지만 네... 제목과 달리 19금입니다. 하지만 본 튜토리얼에서는 거기까지 다루지는 않겠습니다. 본 카페는 네이버 운영규칙을 준수합니다. ㅋㅋ용량은 고작 4.6메가 정도 밖에 안됩니다. 네. 쩔죠. 이게 또 LoRA의 강점이죠?

다운로드 받은 .safetensor 파일을 \stable-diffusion-webui\models\Lora폴더에 집어넣습니다. 그럼 끝입니다.

다음은 당연히 스테이블 디퓨전 webUI 실행!

2. 프롬프트 작성 및 이미지 생성

자 그럼 이미지를 생성해볼까요? 뭐든 좋습니다. 저는 모델은 majicmix를 사용~

(권장 모델은 majicmix와 moonfilm이라는 제작자가 파인튜닝한 모델이더군요.)

+ 이전에 outpainting 편에서 생성했던 아래 이미지를 재활용, 시드 고정했습니다.

추가로 controlNet의 openpose를 이용해 포즈와 표정도 고정했습니다.

LoRA 사용법 자체는 아주 간단합니다. 작동 프롬프트를 입력하면 끝입니다. 형식은 다음과 같습니다.

<lora:다운받은 LoRA이름:가중치>

더 쉽게할 수도 있죠. 화투모양 클릭하고 LoRA탭 클릭, 그다음다운받은 LoRA를 클릭하면 자동으로 가중치가 1로 지정된 LoRA 작동 프롬프트가 삽입됩니다.

우리가 다운받은 건 이런 형식으로 삽입되죠. <lora:ClothingAdjuster3:1>

이 CothingAdjuster LoRA의 경우 사용법을 보면 가중치를 -1 ~ 1까지 사용하도록 하고 있습니다. -1로 갈수록 옷을 껴입고, +1로 갈수록 벗습니다.

이미지가 어떻게 변하는지 가중치를 바꿔가며 테스트해봅시다. script의 prompt s/r기능을 이용해 -0.3부터 0.5까지 변화하는 모습을 찍어봤습니다.

만족스럽지는 않습니다만, 원본이미지와 비교해보면 가중치에 따라 입은 옷이 점진적으로 차이가 나는 걸 알 수 있죠? 웃긴 건 보시다시피 마이너스 가중치의 경우 피부색이 다른, 완전히 다른 사람이 나오더군요. 이게 생각만큼 의도대로 되지는 않아서 좀 더 테스트가 필요할 거 같긴 하네요. 아무튼 재미있는 기능이라 소개해봤습니다.

그렇다면 이제 LoRA가 어떻게 이런 일을 가능하게 하는지 알아봅시다. 역시나 걍 안 보실 분은 다음으로 넘어가셔도 됩니다. ㅋㅋ

시작~~

LoRA는 Low Rank Adaption의 줄임말입니다. 이 이름에 대해선 이 이후에 알아봅시다. 기능적으로 봤을 때는 Textual Inversion이랑도 흡사합니다. 전에는 이미지의 인물을 늙게 혹은 젊게 바꿨었죠? 장단점은 거의 같다고 보면 됩니다. 그런데 훈련, 작동, 결과물에서 차이가 있긴 하죠. 요것도 일단 넘어갑니다.

이미지 생성에서의 LoRA는 검색해보면 학습된 모델의 교차 어텐션 레이어Cross Attention Layer라는 부분에 영향을 미친다고 합니다.(textual inversion과의 차이이기도 함) 이게 뭐냐면 교차 어텐션 레이어라는 건 쉽게 말해 프롬프트(텍스트)와 이미지가 만나는 곳입니다. 예를들어 '장화 신은 고양이'라고 프롬프트를 입력한다고 치면, 장화를 신는다는 게 어떻게 생겨먹은 특징인지 판단한다는 겁니다. 바로 이 부분에 가중치를 건드리는 게 LoRA입니다. 그러니까 어떤 특징은 강조하고~ 어떤 특징은 좀 무시하고 이렇게 해준다는 겁니다.

장화 신은 고양이 LoRA를 '장화신은 고양이'라는 프롬프트와 함께 사용한다고 칩시다. 그럼 우리가 의도한 더 확고한 형태의 장화 신은 고양이를 더 쉽게 얻을 수 있겠죠? LoRA 자체의 가중치도 변경가능하니까 반대로 장화를 벗은 고양이도 더 쉽게 만들 수 있습니다. 위 예제처럼 옷을 입히고 벗기는 것도 마찬가지입니다.(물론 학습방법이 좀 더 복잡하긴 하지만..;; 요점만 합시다 ㅋㅋ)

네. LoRA 역시 본질적으로 모델을 추가 학습 즉 파인튜닝해서 우리 의도를 더 정확하게 반영하는 거죠.

단 LoRA 역시 textual inversion랑 같습니다. 드림부스Dreambooth처럼 모델 자체의 구조를 건드리는 게 아닙니다. 따라서 학습된 모델과 함께 쓰여야 최고의 성능을 낼 수 있습니다. 당연하죠. 그 모델의 가중치만 건드리는 거니까요. 학습할 때 쓰이는 이미지는 바로 그 가중치 조절에 쓰이는 것이지 모델에 입력되는 게 아닙니다! 이 부분 인터넷에 찾아보면 많은 사람들이 착각하는 부분인 거 같습니다.

엄밀히 말해 내가 가진 이미지 자체를 모델에 학습시켜 활용하는 게 아니라! 그 모델이 이미 가진 이미지에 가중치를 더하는 겁니다! 모델에 직접 이미지를 추가하는 게 아닙니다!

그 덕분에 학습한 모델과 적용모델이 바뀌어도 완전하진 않지만 흡사한 결과를 낼 수는 있습니다. 그게 장점이기도 하죠.(아무 모델에나 적용 가능, textual inversion도 마찬가지) 그리고 LoRA는 거대언어모델LLM에도 동일하게 사용되는 훈련기법입니다. 이 훈련법을 이용하면 다 LoRA라는 겁니다. 이미지생성에만 쓰이는 게 아닙니다. 즉 LoRA라는 용어는 훈련기법을 말하는 겁니다.

이미지 생성이든 뭐든 모델이 점점 더 거대해져서 전체 모델을 내 구미에 맞게 파인튜닝하는 건 엄청난 컴퓨팅 파워가 필요하죠. 이건 곧 비용입니다. 그래서 나온 게 바로 Low Rank Adaption, LoRA인 겁니다. 이거 뭐 찾아보시면 설명이 많긴 한데 비개발, 비연구자는 한 번에 이해하기 힘들죠. 걍 우리는 이름에서 유추하고 쉽게 생각합시다.

하위랭크에서 모델을 적응시킨다는 거잖아요? 그 하위랭크라는 건 아주 작게 축소된 학습 데이터를 가리키고, 그걸 이용해 학습해도 결과물이 괜찮게 나오도록 학습하는 기법이 바로 LoRA라는 겁니다.

아주 작게 축소된 학습 데이터 - 이게 핵심이겠죠? 작으니까 컴퓨팅 파워를 적게 들이면서 빠르게 학습할 수 있다는 거죠. 결론은 그 덕분에 우리가 방구석에서 거대 LLM모델이나 이미지 생성 모델을 파인튜닝할 수 있게 됐다는 거죠. ㅋㅋㅋㅋ학습의 결과물인 LoRA모델 자체의 사이즈 역시 아주 작아서 더할 나위가 없죠.

아무튼 뭐 설명은 이쯤하고 끝냅시다! 기가막힌 결과물만 의도한 대로 뽑을 수 있으면 뭐 이런 건 몰라도 되니까요. 근데 알면 더 좋겠죠~? 아마도?ㅋㅋㅋ그럼 이만~

 

 

[튜토리얼]100% 무료 내 컴퓨터(windows)로 인공지능 이미지 만들기 2탄 더 쉬운 방법

일단 파이썬이랑 Git은 설치하시길. ​ 그리고 그 다음은 그냥 아래 방법대로 진행하세요. 너무 쉬움 ㅠ ​ 1. 아래 주소가서 sd.webui.zip 파일 다운 받습니다. https://github.com/AUTOMATIC1111/stable-diffusion-w

istor-y.tistory.com

 

 

올릴까말까 고민하다 올립니다... 금단의 스킬! 딥페이크deepfake! <Adobe + roop + Ebsynth 모조리 깨부수

[튜토리얼] 100% 무료 내 컴퓨터(windows)로 인공지능 이미지 만들기 (tistory.com) [튜토리얼] 100% 무료 내 컴퓨터(windows)로 인공지능 이미지 만들기 https://stable-diffusion-art.com/install-windows/ 요 내용을 기반

istor-y.tistory.com

 

 

 

스테이블 디퓨전 버전 업데이트(SDXL)

[튜토리얼] 100% 무료 내 컴퓨터(windows)로 인공지능 이미지 만들기 (tistory.com) [튜토리얼] 100% 무료 내 컴퓨터(windows)로 인공지능 이미지 만들기 https://stable-diffusion-art.com/install-windows/ 요 내용을 기반

istor-y.tistory.com

 


 
출처 - https://cafe.naver.com/stablediffusionlab

 

AI ARTWORK LAB : 네이버 카페

stable diffusion 기반 이미지 생성을 비롯한 자연어처리 인공지능을 연구합니다. 쉽고~ 재미있게~

cafe.naver.com