Stable Diffusion을 사용하거나 공부하다 보면 LoRA라는 단어를 익히 들어보셨을거라고 생각합니다.
스테이블 디퓨전 숙련자들은 LoRA를 통해 자신이 원하는 이미지로 수정하고 있습니다.
그렇다면 도대체 LoRA라는 무엇일까요?
오늘은 이 LoRA라는 것이 무엇인지 그리고 어떻게 작동하는지에 대해 알아보겠습니다.
1. LoRA기본 원리
LoRA는 Low-Rank Adaptation의 약자로 U-Net같은 거대한 언어 모델(LLM)을 미세 조정하기 위해 탄생한 기술입니다.
스테이블 디퓨전의 기본 원리 설명글에서 전체 이미지 생성 과정이 노이즈 제거를 역순으로 하는 것과 같다고 말씀드렸는데, 그 때 자세히 설명하지 않은 것이 바로 '노이즈 예측기'입니다:
노이즈 예측기는 어떻게 작동할까요? 간단히 말해서 일련의 계산에 사용되는 알고리즘을 U-Net 알고리즘이라고 합니다. 이 알고리즘에 대해서는 다음 튜토리얼글에서 자세히 설명하겠습니다. 지금은 U-Net 알고리즘이 대략 다음과 같다는 것만 이해하면 됩니다
왼쪽은 입력, 오른쪽은 출력이며 데이터는 입력 후 일련의 계산을 거칩니다(그림의 긴 막대는 계산의 각 단계를 나타냅니다).
기둥 내부의 매개변수 가중치를 조정하여 출력 결과를 변경함으로써 궁극적으로 생성된 이미지의 효과를 변경할 수 있습니다.
하지만 각 막대 내부의 결과를 변경하는 것은 비교적 복잡합니다.
그 결과 연구자들은 더 간단한 방법을 찾기 시작했고, 각 기능 레이어에 파라미터를 주입하면 이미지를 변경하는 효과도 얻을 수 있다는 사실을 발견했습니다. 이 방법을 LoRA(Low-Rank Adaptation)라고 하는거죠.
LoRA를 사용하면 단일 기능을 중단하지 않고도 기존 각 레이어에 파라미터를 삽입할 수 있습니다. 원본 모델을 손상시키지 않는 plug-and-plug 방식이며 모델 크기도 상대적으로 작다는 장점이 있습니다. 시각화 효과는 다음과 같습니다.
기존 체크포인트 모델을 다운받아 보시면 평균 3GB가 넘는데 LoRA모델은 100MB 내외로 확연하게 차이가 납니다.
비유를 들어 말하자면 LoRA는 카메라의 '필터'와 비슷하다고 볼 수 있습니다. 아래 두 이미지는 동일한 모델인 프롬프트와 시드를 사용하여 생성된 이미지입니다. 왼쪽 이미지는 LoRA 효과가 적용되지 않은 이미지이고 오른쪽 이미지는 스케치 스타일 LoRA 효과가 추가된 이미지입니다. 스케치 스타일의 LoRA가 적용된 이미지는 만화 라인 아트처럼 보이며, 왼쪽 이미지에 필터가 추가된 것처럼 보이지 않나요?
이것이 바로 LoRA 추가의 효과입니다. 일반 안정적 확산 모델이 충분히 매력적이지 않다고 생각하거나 스타일이 마음에 들지 않는다면 LoRA를 추가해 보는 것을 추천드립니다.
다음 글에서는 ComfyUI에서 LoRA를 어떻게 사용하는지 LoRA 기본 워크플로우를 뜯어보겠습니다.
'Stable Diffusion > 튜토리얼' 카테고리의 다른 글
ComfyUI StableDiffusion3 Medium 설치 방법 및 필수 정리 (0) | 2024.06.20 |
---|---|
Clip skip(CLIP Set Last Layer)이 도대체 뭘까? (1) | 2024.05.31 |
Stable Diffusion을 다루기 위한 프롬프트 작성 기본 가이드 (0) | 2024.05.07 |
스테이블 디퓨전(Stable diffusion) 매개변수(parameters) 알아보기 (0) | 2024.04.27 |
'Stable Diffusion' 도대체 어떻게 이미지를 만들어 내는걸까? (0) | 2024.04.23 |
생성형 이미지 AI 중 스테이블 디퓨전에 관한 내용을 주로 다룹니다.
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!