LoRA를 활용한 Stable Diffusion 미세 조정 방법

LoRA를 활용한 Stable Diffusion 미세 조정 방법

LoRA Stable Diffusion 모델로 창의력을 발휘하세요. 이 블로그를 따라 나만의 LoRA 훈련 모델을 만들어 보세요.

핵심 요약

  • LoRA는 Stable Diffusion 모델을 미세 조정하는 더 효율적인 방법입니다.
  • LoRA 모델(1MB~6MB)은 공유 및 배포가 더 쉽습니다.
  • Civitai와 Hugging Face에서 다양한 LoRA 모델을 쉽게 찾을 수 있습니다.
  • Novita AI는 개발자가 직접 LoRA 모델을 만들 수 있도록 LoRA 훈련 모델의 API를 제공합니다.
  • Stable Diffusion 미세 조정에서 LoRA는 Dreambooth 및 textual inversion보다 우수합니다.

소개

LoRA Stable Diffusion 모델은 AI 생성 콘텐츠 분야의 혁신적인 접근 방식으로, Low-Rank Adaptation 개념을 활용하여 기존 Stable Diffusion 모델을 미세 조정함으로써 특정 스타일, 캐릭터 또는 예술적 선호도에 맞게 AI 생성 이미지를 효율적으로 커스터마이징할 수 있습니다.

이 블로그에서는 LoRA 모델에 대한 포괄적인 소개를 제공하고, LoRA를 찾고 사용하여 Stable Diffusion 모델을 훈련하는 방법을 알려드립니다. 또한 Novita AI API를 사용하여 자신만의 LoRA 훈련 모델을 만드는 맞춤형 방법도 제공합니다. 지금 LoRA Stable Diffusion의 세계로 빠져보세요!

LoRA(Low-Rank Adaptation) 개요

LoRA(Low-Rank Adaptation)는 Stable Diffusion 모델을 미세 조정하기 위한 훈련 기법입니다.

LoRA란?

LoRA는 ‘Low-Rank Adaptation’의 약자로, Microsoft 연구원들이 대규모 언어 모델(LLM)의 미세 조정 문제를 해결하기 위해 도입한 새로운 기법입니다.

Stable Diffusion의 맥락에서 이는 Stable Diffusion 모델을 효율적으로 미세 조정하는 기법입니다. LoRA Stable Diffusion 모델은 컴팩트하여 표준 체크포인트 모델에 미묘하면서도 강력한 수정을 적용할 수 있으며, 일반적으로 원본 모델보다 10배에서 100배 더 작습니다.

LoRA의 작동 방식

LoRA는 전체 모델을 재훈련할 필요 없이 Stable Diffusion 모델을 더 쉽게 적응시키는 기법입니다. 대신 이미지와 텍스트가 상호작용하는 핵심 부분에 몇 가지 새로운 가중치를 추가합니다. 이 변경은 rank decomposition이라는 방법을 사용하여 모델의 가중치 구조를 단순화함으로써 더 효율적으로 이루어집니다. 그 결과 원래 기능을 유지하면서도 특정 작업에 집중할 수 있는 더 작고 커스터마이징된 모델이 생성됩니다. 이 모델은 원본 모델 체크포인트와 함께 사용되어 특정 스타일이나 아이디어에 맞는 이미지를 생성합니다.

LoRA 모델의 핵심 포인트

LoRA 모델을 사용하기 전에, 왜 사용해야 하는지와 다양한 유형에 대해 알아두는 것이 필요합니다.

LoRA 모델의 특징

  • 인페인팅 지원.
  • 즉시 사용 가능한 다중 벡터 피벗 튜닝 인버전.
  • 효율성: LoRA는 더 적은 연산 능력과 메모리를 필요로 하므로 대규모 모델 훈련에 더 효율적입니다.
  • 타겟 조정: 전체 모델이 아닌 cross-attention 레이어를 수정하는 데 초점을 맞추어 모델 동작을 더 정밀하게 제어할 수 있습니다.
  • 호환성: LoRA 모델은 원본 모델 체크포인트와 함께 작동하도록 설계되어 호환성과 사용 편의성을 보장합니다.
  • 공유 용이성: LoRA 모델의 컴팩트한 크기(1MB~6MB)로 인해 공유 및 배포가 쉽습니다.

LoRA 모델 예시

LoRA 모델의 기능에 따라 다음과 같은 유형으로 나눌 수 있습니다:

  • 캐릭터 LoRA: 캐릭터 LoRA 모델은 만화, 비디오 게임 및 기타 엔터테인먼트 플랫폼의 특정 캐릭터의 독특한 시각적 특징, 체형 및 표정을 캡슐화하도록 미세 조정됩니다. 팬 아트 제작, 게임 개발 프로세스 향상, 애니메이션 및 일러스트레이션 산업의 요구를 충족하는 데 유용합니다.
  • 스타일 LoRA: 스타일 LoRA 모델은 특정 아티스트의 예술적 기법이나 시그니처 스타일을 모방하도록 미세 조정되어, 해당 미학을 반영하는 이미지를 생성할 수 있습니다. 참조 이미지에 독특한 시각적 분위기를 부여하여 선택한 예술적 스타일에 맞추는 데 자주 사용됩니다.

LoRA 모델을 찾고 사용하는 방법

Civitai 또는 Hugging Face에서 LoRA 모델 파일 다운로드

Civitai는 방대한 LoRA 모델 컬렉션을 호스팅하는 사이트이며, Hugging Face도 유명한 LoRA 라이브러리 소스입니다. 이 두 사이트를 방문하여 검색하면 다양한 LoRA 모델을 쉽게 찾을 수 있습니다.

AUTOMATIC1111 Stable Diffusion GUI에서 LoRA 모델 사용

  • LoRA 모델 설치: 모델 파일을 다음 폴더에 넣으면 됩니다.

stable-diffusion-webui/models/Lora

  • 프롬프트에서 LoRA 사용: 프롬프트 또는 네거티브 프롬프트에서 다음 구문을 사용하여 가중치가 있는 LoRA를 추가합니다.

<lora: name: weight>

Novita AI로 나만의 LoRA 모델 훈련하여 미세 조정하기

Stable Diffusion에는 아키텍처와 파이프라인은 비슷하지만 출력이 다른 많은 모델이 있습니다. 따라서 Stable Diffusion을 미세 조정하기 위한 LoRA 모델도 다양합니다. 또한 LoRA는 완전한 모델이 아니라 애드온입니다. 즉, 자신만의 LoRA 모델을 만들고 필요에 따라 개념을 지속적으로 ‘가르치고’ 훈련할 수 있습니다.

자신만의 LoRA를 만들고 싶다면 API를 자신의 프로그램에 통합할 수 있습니다. Novita AI는 개발자에게 고유한 LoRA 모델을 만들 수 있는 API와 LoRA 모델을 훈련할 수 있는 플레이그라운드를 모두 제공하는 플랫폼입니다. 모든 훈련은 계산 집약적이므로 계속 진행하려면 GPU가 있는 머신이 있는지 확인하세요.

LoRA 훈련 관련 API 찾기

  • 1단계: Novita AI 웹사이트를 방문하여 계정을 만듭니다.
  • 2단계: ‘API’로 이동하여 ‘Training’ 탭 아래에서 LoRA 훈련 API를 찾습니다. Novita AI는 ‘주제 훈련용 LoRA’와 ‘** 스타일 훈련용 LoRA**’를 모두 제공하며, 이를 사용하여 캐릭터 LoRA와 스타일 LoRA를 모두 훈련할 수 있습니다.
  • 3단계: LoRA 모델 훈련을 시작합니다.

LoRA 모델 훈련 시작

Novita AI API 키를 획득한 후 LoRA 모델 훈련을 시작할 수 있습니다. ‘주제 훈련용 LoRA’를 예로 들어 모델을 훈련하는 방법을 보여드리겠습니다.

  • 1단계: 모델 훈련용 이미지 업로드. 이미지 업로드 URL을 가져와 다음 폴더에 넣습니다. 각 작업은 최대 50개의 이미지 업로드를 지원합니다. 좋은 최종 결과를 얻으려면 업로드되는 이미지가 ‘중앙에 초상화’, ‘워터마크 없음’, ‘선명한 사진’ 등과 같은 기본 조건을 충족해야 합니다.

curl -X PUT -T “{{filepath}}” “{{upload_url}}”

  • 2단계: 매개변수 구성. 모델 훈련에는 네 가지 유형의 매개변수가 있습니다: 모델 정보 매개변수, 데이터셋 매개변수, 구성 요소 매개변수, 전문가 매개변수. 필요에 따라 매개변수를 구성합니다.

  • 3단계: 훈련 작업 시작. Novita AI는 모델을 훈련할 수 있는 사용자 친화적인 ** 훈련 플레이그라운드**를 제공합니다. Novita AI API 키를 입력하고 아래 그림의 단계를 따르면 훈련 결과를 확인할 수 있습니다.

  • 4단계: 훈련 상태 확인. 아래 명령어를 입력하여 모델 훈련 진행 상황과 훈련 후 모델 배포 상태를 확인합니다.

curl — location — request GET ‘training task_id’ \ — header ‘Authorization: Bearer {{Key}}’

  • 5단계: 모델 사용 시작: 응답에 “task_status: SUCCESS” 및 “model_status: SERVING”이 표시되면 훈련된 모델을 사용할 수 있습니다.

Stable Diffusion 훈련의 다른 방법

Dreambooth 및 Textual Inversion

LoRA 외에도 Dreambooth와 textual inversion은 Stable Diffusion을 미세 조정하는 인기 있는 방법입니다. 그러나 Dreambooth는 큰 모델 파일(2~7GB)을 생성하는 반면, LoRA는 훨씬 더 작고 효율적입니다. textual inversion은 매우 작은 결과(약 100KB)를 생성하지만, LoRA는 일반적인 미세 조정에 사용되어 새로운 도메인이나 데이터셋에 적응할 수 있습니다.

훈련 팁

  • GPU 요구 사항: LoRA 모델 훈련은 계산량이 많으므로 작업량을 처리할 수 있는 GPU가 있는 머신이 있는지 확인하세요.
  • 모델 호환성: LoRA 모델은 보강하려는 기본 Stable Diffusion 모델과 호환되어야 합니다. 통합 문제를 피하기 위해 호환성을 확인하세요.
  • 매개변수 튜닝: LoRA 조정의 가중치 및 기타 특정 하이퍼파라미터를 포함하여 LoRA 모델의 매개변수를 신중하게 미세 조정하세요. 이는 출력에 큰 영향을 미칠 수 있습니다.

결론

결론적으로 LoRA Stable Diffusion 모델은 AI 생성 예술 및 콘텐츠 제작 분야에서 중요한 발전을 나타냅니다. Novita AI의 LoRA 모델 API를 활용하여 자신만의 모델을 훈련하고 Stable Diffusion 모델을 미세 조정하세요. 전반적으로 LoRA Stable Diffusion 모델은 책임감 있게 사용할 때 예술 및 창의적 애플리케이션에서 AI의 능력을 크게 향상시킬 수 있는 강력한 도구입니다.

Novita AI는 100개 이상의 API에 액세스할 수 있는 무한한 창의성을 위한 원스톱 플랫폼입니다. 이미지 생성, 언어 처리, 오디오 향상 및 비디오 조작에 이르기까지 저렴한 종량제 요금제로 GPU 유지 관리의 번거로움에서 벗어나 자신만의 제품을 구축할 수 있습니다. 무료로 사용해 보세요.

추천 자료

  1. LoRA Stable Diffusion 추가: 종합 가이드
  2. LoRA AI 아트 생성기: 쉽게 아트 만들기
  3. LoRA AI 생성 이미지 — 예술의 미래