확산 모델에서 LoRA 모델 이해 및 이미지 생성

오늘은 LoRA 모델에 대해 알아보고 WebUI로 직접 구현하는 시간을 갖도록 하겠습니다.

LoRA 모델은 표준 체크포인트 모델을 약간 변경한 작고 안정적인 전파 모델입니다.

일반적으로 체크포인트 모델보다 10~100배 작습니다.

따라서 여러 모델을 소유한 사람들에게 매우 매력적입니다.

LoRA 모델이란 무엇입니까?

LoRA(Low-Order Adaptation)는 안정적인 확산 모델을 미세 조정하기 위한 훈련 기술입니다.

그러나 이미 Dreambooth 및 텍스트 반전과 같은 교육 기술이 있습니다.

2023.03.12 – (AI 설명) – 확산, 드림부스 확장모델 이해 및 이미지 생성

2023.03.11 – (AI 설명) – 확산 기법에서 텍스트 반전을 속성으로 이해하겠습니다.

LoRA의 장점은 무엇입니까? LoRA는 파일 크기와 훈련 성능 사이에 적절한 절충안을 제공합니다.

Dreambooth는 강력하지만 모델 파일은 2-7GB가 될 수 있습니다.

Reverse Text의 파일 크기는 작지만(약 100KB) 할 수 있는 일이 많지 않습니다.

LoRA는 관리 가능한 파일 크기(2-200MB), 적절한 학습 능력 사이에 있습니다.

모델 실험을 좋아하는 Stable Diffusion 사용자는 로컬 저장소가 얼마나 빨리 채워지는지 알게 될 것입니다.

크기가 커서 개인 컴퓨터에서 컬렉션을 유지하기가 어렵습니다.

LoRA는 스토리지 문제에 대한 훌륭한 솔루션입니다.

텍스트 반전과 마찬가지로 LoRA 모델만 사용할 수는 없습니다.

합쳐질 원본 기반이 될 모델의 체크포인트 파일이 있어야 합니다.

LoRA는 포함된 모델 파일을 약간 변경하여 스타일을 수정합니다.

LoRA는 어떻게 작동합니까?

LoRA는 안정적인 확산 모델의 가장 중요한 부분을 약간 변경합니다.

교차주의 계층. 교차 주의 레이어는 이미지와 큐가 만나는 모델의 일부입니다.

연구자들은 모델의 이 부분만 미세 조정하면 좋은 훈련 결과를 얻을 수 있음을 발견했습니다.

교차 주의 레이어는 아래의 Latent Diffusion 모델 아키텍처에서 노란색 부분입니다.


LORA는 교차 주의 계층(U-Net 잡음 예측기의 QKV 부분)을 미세 조정합니다.

(Stable Diffusion 논문의 사진.)

교차주의 계층의 가중치는 행렬로 배열됩니다.

행렬은 Excel 스프레드시트와 같이 열과 행으로 배열된 일련의 숫자입니다.

LoRA 모델은 이러한 행렬에 가중치를 추가하여 모델을 미세 조정합니다.

동일한 수의 가중치를 저장해야 하는 경우 LoRA 모델 파일을 더 작게 만들려면 어떻게 해야 합니까? LoRA 트릭은 행렬을 두 개의 더 작은(하위) 행렬로 분할하는 것입니다.

이렇게 하면 더 적은 숫자를 저장할 수 있습니다.

다음 예를 통해 이를 설명하겠습니다.

모델에 1,000개의 행과 2,000개의 열이 있는 행렬이 있다고 가정합니다.

모델 파일에 2,000,000(1,000 x 2,000)개의 숫자를 저장해야 합니다.

LoRA는 이 행렬을 1,000×2 및 2×2,000 행렬로 세분화합니다.

그것은 단지 6,000(1,000 x 2 + 2 x 2,000)개의 숫자로, 333배 적습니다.

이것이 LoRA 파일이 훨씬 작은 이유입니다.

여기서 핵심은 기존의 빅데이터(모델)를 랭크, 즉 순위가 낮은 행렬로 분할하여 효율성을 극대화하는 것입니다.

그런 다음 모델에 대해 특이점을 취하고 모델의 성능을 어느 정도 유지하면서 용량을 크게 줄입니다.


이 예에서 행렬의 순위는 2입니다.

원본보다 차원이 훨씬 낮기 때문에 하위 행렬이라고 합니다.

레벨을 1로 줄일 수 있습니다.

LoRA를 사용하는 방법?

automatic1111의 webui로 LoRA를 사용해 봅시다.

먼저 WebUI를 시작합니다.

설치하지 않으셨다면 아래 링크를 참고해주세요.

2023.03.02 – (No-coding AI) – Windows PC에 Stable Diffusion WebUI를 설치하여 실제 사진을 만드는 방법

2023.03.05 – (No-coding AI) – Linux Ubuntu PC에 Stable Diffusion WebUI를 설치하여 애니메이션 사진을 만드는 방법


먼저 Lora에서 사용할 모델을 WebUI가 설치된 Lora 폴더로 이동합니다.

한국 인형 유사성.safetensors를 수락하겠습니다.

다운로드 링크는 아래에 공유합니다.


https://huggingface.co/AnonPerson/ChilloutMix/tree/main

메인의 AnonPerson/ChilloutMix

피클 가져오기 감지됨 (3) “collections.OrderedDict”, “torch._utils._rebuild_tensor_v2”, “torch.FloatStorage” 피클 가져오기란 무엇입니까?

huggingface.co

다운로드하여 아래와 같이 Lora Model 폴더에 넣습니다.


그런 다음 WebUI를 시작합니다.

WebUI가 설치되어 있지 않은 경우 아래 링크를 참조하세요.

2023.03.02 – (No-coding AI) – Windows PC에 Stable Diffusion WebUI를 설치하여 실제 사진을 만드는 방법

WebUI에서 text2img 탭으로 이동합니다.

tex2img 탭의 오른쪽 Generate 아래에 카드 모양의 아이콘이 있습니다.

아이콘 위로 마우스를 가져가면 추가 네트워크가 표시됩니다.

클릭 시 Textual Inversion, Hypernetworks, Checkpoints, Lora 등의 탭이 아래와 같이 생성됩니다.

우리가 넣은 한국 인형 모델을 볼 수 있습니다.

NoPREVIEW 아이콘을 클릭하면

구절 상단 팁에 추가되었습니다.

혼합하는 방법은 다음과 같습니다.

저는 WebUI 기본 모델에 chilloutmix_NiPruneFp32Fix.safetensors를 사용합니다.

없으시면 아래 링크에서 받으세요.

https://huggingface.co/SakerLy/chilloutmix_NiPrunedFp32Fix/tree/main


하나

결과를 보자.

수위 조절이 안 될 때가 있잖아요…


기존 ChilloutMix와 Koreandoll 모델을 합친 결과입니다.

나온 것 같습니다.

아래는 매개변수 값입니다.

(사실적:1.4), 최고화질, 초고화질, 1woman, 특대자켓, 흰셔츠, 귀여움, (K팝 아이돌), ((부은 눈)), 관객을 바라보며, 전신
부정적인 힌트: 페인팅, 스케치, (최악: 2), (낮은 품질: 2), (일반 품질: 2), 저해상도, 일반 품질, ((흑백), ((회색조)), 피부 반점, 여드름, 피부 결점, 검버섯
단계: 28, 샘플러: DPM++ SDE Karras, CFG 규모: 7, 시드: 4102275570, 크기: 512×768, 모델 해시: a757fe8b3d, 모델: Chilloutmix

오늘 우리는 LoRA에 대해 배웠습니다.

Dreambooth와 Textual Inversion이 궁금하시다면 아래 링크를 클릭하세요.

2023.03.12 – (AI 설명) – 확산, 드림부스 확장모델 이해 및 이미지 생성

2023.03.11 – (AI 설명) – 확산 기법에서 텍스트 반전을 속성으로 이해하겠습니다.