오픈소스 모델의 장점중 하나는 원 모델로부터 자기 자신만의 모델을 학습시킬 수 있다는 것입니다.
처음 Stable Diffusion이 출시되었을 때, 오픈 소스 커뮤니티에서는 여러가지 미세조정 및 학습 기법을 개발하였으며, 그 결과 LoRA 를 포함해 여러가지 대체 모델이 급증하게 되었습니다.
Flux의 경우에도 오픈 소스로 공유되었기 때문에 이와 동일한 기법들이 재빠르게 채택되어, Black Forest Labs에서 제공한 모델용으로 조정되고 개발되었습니다. 현재 Civitai에서 FLUX 용 LoRA를 검색해보면 수많은 LORA들을 만날 수 있습니다.
Flux란 Flux.1 Dev 는 이미지를 생성할 수 있는 AI 모델로, 미디저니, DALL-E 또는 스테이블 디퓨전과 유사하거나 더욱 뛰어난 품질을 제공합니다. Flux는 텍스트 프롬프트로부터 이미지를 생성하는 모델입니다. 자세한 내용은 이 글을 참고하세요. |
LoRA 학습용 도구
도구 | 종류 | 사용법 | 평가 | 비용 |
Replicate | 온라인 | 쉬움 | ⭐⭐⭐ | +/- 2€ |
fal.ai | 온라인 | 쉬움 | ⭐⭐ | 5€ |
Civitai | 온라인 | 아주 쉬움 | ⭐⭐ | +/- 2€ |
FluxGym | 로컬 | 쉬움 | ⭐⭐⭐ | 무료 |
LoRA 란?
LoRA(Low-Rank Adaptation)은 대규모 모델을 보다 효율적으로 미세조정하는데 사용되는 기법입니다. 이를 사용하면 전체 Flux.1 Dev 모델을 처음부터 학습시킬 필요없이, 특정한 개념, 사람 혹은 스타일이 나오도록 조정할 수 있습니다.
LoRA 모델은 전체 모델 아키텍처와 가중치를 저장하는 게 아니라, 기존 모델을 미세조정하는 데 필요한 최소한의 조정만 저장하므로, 원래 학습된 모델에 비해 1/10 ~ 1/100 정도로 작습니다.
LoRA에 대한 자세한 내용은 이 글을 참고하세요.
LoRA 학습 방법
1 단계: 이미지 준비
첫번째로 가장 중요한 단계는 학습용 영상을 수집하는 것입니다. 어떤 영상을 사용하느냐에 따라 LoRA의 가능성, 유연성 및 품질이 결정되므로, 이 단계는 매우 중요합니다.
이미지 수집이 중요한 이유 여러분이 그림을 배우고 있다고 생각해 보겠습니다. 더 다양한고 뛰어난 작품을 볼 수록 기법과 스타일을 잘 이해할 수 있지 않을까요? LoRA도 마찬가지입니다. 수집하여 제공하는 이미지는 개념을 이해하는데 도움이 되고, 결국 무엇을 할 수 있느냐가 결정됩니다. 이미지를 잘 선택하면, LoRA는 다음을 이해할 수 있게 됩니다. - 미묘한 개념의 차이 - 다양한 맥락에 대한 적응 - 다양하고 양질의 결과물 생성 간단히 말해, 기대에 부응하는 LoRA를 얻기 위해서는 훈련에 사용할 이미지를 신중하게 선택해야 한다는 것입니다. Flux LoRA를 위한 학습용 이미지 준비 가이드를 참고하세요. |
최소한, 원하는 개념을 충분히 잘 표현할 수 있도록 다양한 일련의 이미지가 있어야 합니다. 최소 기준은 아래와 같습니다.
- 이미지의 수: 12 ~ 20개
- 이미지의 크기: 큰 이미지(1024 px 이상)
- 포맷: JPG 혹은 PNG
어떤 인물을 위한 LoRA를 생성할 경우, 포즈, 위치, 옷차림, 표정 등이 다양할수록 좋습니다.
그 다음, 이 모든 이미지를 단일 .zip 파일로 압축합니다. 아래는 배우 신세경님을 포현하는 LoRA를 만들기 위한 이미지입니다.
2 단계: LoRA 학습
LoRA 학습은 알고리즘을 적용하는 여러가지 라이브러리와 소프트웨어 스크립트를 사용하여, LoRA를 생성하는 데 필요한 행렬 계산을 수행하여 이루어집니다.
기본적으로 LORA학습은 복잡한 작업입니다. 필수 스크립트를 파악해야 하고, Python, Torch 등의 설치에 따른 종속성 문제, 기타 이해해야 할 복잡한 문제들이 잔뜩입니다. 이것들을 모두 파악했다고 해도 하드웨어가 문제로 남습니다. LoRA를 학습시키려면 충분한 VRAM을 갖춘 GPU를 탑재한, 강력한 기기가 필요합니다.
다행히, 이러한 복잡한 것들이 없어도 LoRA를 학습시킬 수 있게 되었습니다. 이 모든 것들을 조직화한 인터페이스를 사용하면 코드 한줄 짤 필요없이 LoRA를 학습시킬 수 있습니다. 아울러, 온라인 서비스를 이용하면, 값비싼 GPU와 고성능 기계도 필요없이 LoRA를 생성할 수 있습니다.
그 결과 LoRA 학습이 아주 쉬워졌ㅅ브니다. 아래는 어렵지 않게 LoRA를 학습시킬 수 있는 여러가지 솔루션들을 소개합니다.
Replicate.com
Replicate는 개발자들이나 일반 사용자들이 API를 통해 혹은 온라인을 통해 AI 모델을 쉽게 사용할 수 있도록 해주는 생성형 AI 플랫폼입니다.
Replicate.com은 Flux 개발자인 Black Forest Labs의 파트너로서, 여러가지 AI 모델과 모듈을 사용할 수 있습니다. Flux LoRA Trainer도 그중 한가지 서비스입니다.
Replicate에서 LoRA를 학습시키는 방법은 Replicate에서 Flux용 LoRA를 만드는 방법을 확인하세요.
이 글에 있는 여러가지 방법을 테스트해 본 결과, 이 사이트가 가장 쉽게 학습시킬 수 있어 추천하는 바입니다.
fal.ai
Replicate와 마찬가지로 fal.ai도 Black Forest Labs의 파트너이며, 개발자와 일반 사용자가 생성형 AI를 사용할 수 있는 온라인 플랫폼을 제공하고 있습니다.
fal.ai의 AI 모델과 워크플로는 API를 통해 접근가능하지만, 웹사이트의 "playground" 에서도 직접 사용할 수 있습니다.
fal.ai 에서 LoRA를 학습시키는 방법은 아직 정리하지 않았는데, 필요하시다면 이 글(프랑스어)을 확인하시기 바랍니다.
Civitai
Civitai는 인공지능을 사용한 창작에 관심있는 모든 사람들을 위한 혁신적인 플랫폼입니다. 인공지능을 주제로 창작하고 공유하는 대규모 커뮤니티가 존재하며, 이외에도 사용자 친화적인 인터페이스와 고급 도굴르 제공하여, 창의적이고 기술적인 자원을 쉽게 접근할 수 있도록 만든 것이 특징입니다.
이러한 도구중에는 LoRA 학습 도구도 있습니다. Civitai에서 LoRA를 학습시키는 방법도 아직 해보지 않았는데, 필요하시다면 이 글(프랑스 어)을 확인하세요.
FluxGym
FluxGym은 Flux LoRA를 훈련시킬 수 있는, 사용하기 쉬운 웹UI입니다. FluxGym은 LoRA 생성에 100% 투자하여, 모든 종류의 LoRA를 무료로 생성할 수 있는 편리한 도구입니다. FluxGym은 이미지에 대한 설명을 자동으로 생성하는 도구도 제공합니다.
FluxGym을 사용한 LoRA 생성방법은 FluxGym - FLUX용 LoRA 학습기을 참고하세요.
LoRA를 이용한 이미지 생성
Replicate.com이나 fal.ai에서 LoRA를 생성하면, 해당 사이트에서 이 LoRA를 사용하여 이미지를 생성할 수 있습니다. 하지만, 이 LoRA 파일을 다운로드 받아, 여러가지 방법으로 사용할 수도 있습니다.
예를 들어, ComfyUI나 Forge 인터페이스를 통해 Flux 와 해당 LoRA를 사용해 로컬에서 직접 이미지를 생성할 수 있습니다. 아래는 제가 생성한 신세경 배우님 LoRA를 이용해 생성한 이미지입니다. 인터넷에서 수집한 이미지를 사용해서 그런지 살짝 웃는 모습은 그나마 잘 표현하는데, 강한 표현은 별로네요.
이 글에서 설명하는 방식은 Flux dev 모델을 사용하여 생성하기 때문에, Flux dev 또는 이 모델의 미세 조정 모델을 사용할 때 해당 LoRA를 사용하는 것이 좋습니다. 몇몇 사용자는 Flux schnell 모델에서도 이러한 LoRA를 사용해 이미지를 생성할 수 있다고 주장하기도 하지만, 그럴 경우 LoRA의 영향이 약해지는 경향이 있습니다.
Flux LoRA의 라이선스 및 상업적 이용 Flux dev 라이선스는 새롭게 미세조정된 체크포인트 모델이나 LoRA 모델에도 그대로 상속됩니다. 따라서 이 글에 따라 생성된 LoRA는 이 라이선스를 잘 숙지하고 사용하셔야 합니다. 간단히 말하자면, 생성된 이미지는 상업적으로 사용할 수 있지만, LoRA 모델 그 자체는 상업적으로 서비스할 수 없습니다. |
이상입니다.
이 글은 stablediffusion.blog의 글을 번역하면서 제가 테스트한 결과로 대체하여 작성하였습니다.