[Guide] LoRA Block Weight - a way to finetune LoRAs
세부 정보
파일 다운로드
모델 설명
이 가이드의 Reddit 버전: https://www.reddit.com/r/StableDiffusion/comments/11izvoj
예시로 사용된 LoRA: /model/7649, /model/9850
SDXL 모델 사용 시 이 가이드 확인: /model/22581?modelVersionId=26964
간단 요약
확장 이름: sd-webui-lora-block-weight
문법: <lora:loraname:casyalweight:blockweights>
이 기능은 무엇을 위해인가요?
이 확장은 전체 LoRA를 연결하는 것이 아니라, 개별 블록만 연결할 수 있도록 해줍니다. 이를 통해 과적합된 모델을 사용하거나 모델의 문제점을 찾아내거나, 특정 경우에 최상의 에포크를 혼합할 수 있습니다.
예를 들어, 구성에 영향을 주는 처음 블록만 사용하거나, 색조를 대부분 결정하는 마지막 블록만 사용하거나, 중간 블록을 사용하는 식으로 활용할 수 있습니다. 이는 LoRA가 의도하지 않은 작업을 더 쉽게 생성할 수 있게 해줍니다. 예를 들어:
처음 블록의 가중치를 낮추면, 일반적인 비율을 가진 좋아하는 애니메이션 캐릭터를 얻을 수 있습니다.
마지막 블록의 가중치를 낮추면, 얼굴의 절반만 눈이 있는 캐릭터를 일반적인 색 구성표로 얻을 수 있습니다.
불필요한 LoRA로부터 마지막 블록을 추가하면, 선의 강도, 반사 효과, 피부 질감을 강화하거나 이미지를 밝게 또는 어둡게 할 수 있습니다.
모든 것을 집으로 보는 스타일은 약간의 열정을 줄이고 캐릭터를 그려내기 시작합니다.
다양한 기형, 아티팩트, 추가 눈이나 손가락 등 다양한 이상한 요소를 추가할 수 있습니다. 결국, 원하지 않는 부분을 제거함으로써 모델의 일반적인 작동을 파괴하게 되는 것입니다.
설치 방법
확장 기능 목록에서 sd-webui-lora-block-weight를 찾아 설치하세요.
UI를 다시 시작한 후, txt2img 및 img2img에서 새 요소인 LoRA 블록 가중치를 확인할 수 있습니다.
주의: 현재 Composable Lora 및 Additional Networks와 충돌이 있습니다. Additional Networks는 이 확장을 현재 깨뜨리고 있습니다. Composable Lora는 동시에 설치할 수 있지만, 둘 중 하나만 활성화 해야 합니다. 그렇지 않으면 LoRA 효과가 중복 적용되어 이미지가 타는 듯하거나 색이 엉망이 될 수 있습니다. 이는 웹 UI의 문제일 가능성이 큽니다. 프롬프트 스케줄링이 일부 조건에서 유사한 문제가 발생하기 때문입니다.
별도로 설명하자면, 프롬프트 스케줄링은 특정 단계에서 요청을 변경하는 기술입니다. 예를 들어, [cat:dog:0,4]는 고양이 그리기를 시작하지만, 전체 단계의 40%가 지나면 고양이를 프롬프트에서 제거하고 그 자리에 개를 삽입합니다. 그 결과, 고양이와 개의 특징을 모두 가진 동물이 나오거나, 별도로 망가진 고양이와 개가 나타날 수 있습니다.
사용법
블록 가중치 실험을 시작할 수 있는 좋은 출발점입니다:
프롬프트에서 LoRA 모델 이름과 가중치 다음에 콜론을 하나 더 쓰고, "XYZ"라고 입력합니다. 인기 있는 모델 예시는
<lora:yaeMikoRealistic_yaemikoMixed:1:XYZ>또는 스크린샷을 참고해서<lora:HuaqiangLora_futaallColortest:1:XYZ>입니다.이 후 확장 기능이 활성화되어 있는지 확인하고, 확장의 XYZ 플롯을 펼칩니다 (스크립트 섹션의 X/Y/Z 플롯과 혼동하지 말 것). XYZ 플롯 옵션을 확인하세요.
X 유형으로 Original Weights를 선택하고, X 필드에 다음 값을 입력합니다:
INS,IND,INALL,MIDD,OUTD,OUTS,OUTALL
설정이 완료되면 첨부된 표와 같은 모습을 볼 수 있습니다.
원하는 결과가 있다면 프롬프트의 XYZ를 이미지 위에 있던 태그로 바꾸면 됩니다. 예를 들어 MIDD:
<lora:HuaqiangLora_futaallColortest:1:MIDD>
원하는 옵션이 없다면, 쿼리를 반대로 해보세요. 모든 가중치가 반대로 돌아갑니다. 이 경우, XYZ 대신 ZYX를 입력하고 다시 생성을 실행하세요. 하지만 작은 버그가 하나 있습니다: 본 문서의 이 지점에서는 가중치 0, 태그가 XYZ인 추가적인 LoRA 하나를 더 추가해야 합니다. 예를 들어, 나는 파이몬을 선택했습니다. 아무래도 파이몬은 가중치가 0이면 어떤 경우에도 기쁘게 여기는 것 같네요. 아마도 수정될 수도 있고, 안 될 수도 있습니다. 확장 기능 개발자가 설명했듯이, 이는 확장의 논리 변경이 필요합니다.
예시: <lora:HuaqiangLora_futaallColortest:1:ZYX> <lora:paimonGenshinImpact_v10:1:XYZ>
반대로된 옵션 중 하나가 마음에 드신다면, 아래의 가중치 설정 목록을 확장해서 목록에서 해당 라인(예: MIDD)을 찾아, 메모장/엑셀/워드에 복사 후, 1을 어떤 문자로 모두 바꾸고, 0을 1로 바꾸고, 이전에 지정한 문자를 0으로 바꾸세요. 그런 다음 다시 직접 프롬프트에 ZXY 대신 붙여넣기 하세요. 또는 댓글에서 만들어진 가중치를 사용할 수도 있습니다. 파이몬은 프롬프트에서 제거하고 XYZ 플롯은 비활성화하세요.







