AI 탐구노트

ComfyUI에서 CivitAI LoRA 사용해 보기 본문

DIY 테스트

ComfyUI에서 CivitAI LoRA 사용해 보기

42morrow 2024. 10. 16. 11:10

 

 

 

지난 번에 ComfyUI를 설치해서 Flux.1 Schnell을 돌려봤습니다.

 

 

Flux.1 설치 및 테스트

이미지 생성 모델하면 떠 오르는 것들이 있을 겁니다. 최근에는 워낙 많이 생겨서 다 나열하기 힘들지만 그래도 떠오르는 이름 말입니다. Stable Diffusion, DALL-E, MidJourney, Flux.1 그 가운데 하나가 B

42morrow.tistory.com

 

 

그러다보니 ComfyUI라는 것을 어떻게 써먹을 수 있는지 좀 더 알아봐야겠다는 생각이 들었습니다. 검색을 해 보니 Stable Diffusion과 같이 공개 모델을 이용하는 사람들 가운데 LoRA를 적용해서 개인적으로 사용하는 분들이 많다는 것을 알게 됐고, ComfyUI에도 이것을 활용할 수 있다고 합니다. 그래서, 이번 시간에는 ComfyUI + Flux.1 Schnell + CivitAI의 LoRA 적용한 사례를 하나 만들어 볼까 합니다. 혹시나 VRAM 부족 문제가 생기면 지난 번처럼 SDXL을 이용하는 방식으로 전환하구요.

 

LoRA란?

Stable Diffusion도 상당히 좋은 모델이라 생각했는데, 의외로 LoRA 없이는 제대로 활용하기 어려운 모델이라는 평이 많았습니다. Flux.1이나 Midjourney 대비 생성된 이미지 품질이 떨어진다는 얘기같았는데, 비전문가인 저로서는 둘 다 충분히 좋은데... 하는 생각이어서 수긍은 가지 않았습니다. 아마도 수준의 차이가 크지는 않지만 

 

LoRA(Low-Rank Adaptation)대형 신경망을 효율적으로 훈련시키기 위한 방법의 한가지로 딥러닝 모델의 미세조정(fine-tuning) 과정에서 사용됩니다. 모델의 모든 매개변수를 업데이트하지 않고 일부만 학습하여 훈련 비용과 메모리 사용량을 줄이는 방법이며 주요 특징은 다음과 같습니다. 

  • 효율적인 매개변수 학습 : 가중치 행렬을 저차원(low-rank) 형태로 분해해 작은 부가적인 학습 매개변수만 업데이트 합니다.
  • 적은 리소스 사용 : 메모리 사용량, 연산 비용이 절감됩니다.
  • LLM이나 생성AI와 같은 대규모 모델 기반으로 미세 조정 시 유리합니다. 

 

CIVIT AI란

일종의 모델 공유 플랫폼이라고 볼 수 있습니다. 사용자들이 Stable Diffusion과 같은 공개된 모델들을 파인튜닝하거나 혹은 그것으로 창작한 것, 혹은 창작하기 위해 만든 커스텀 모듈이나 도구 등을 검색하고 다운받아 사용할 수 있도록 하고 있는 참 '고마운' 사이트입니다. 이 사이트에 들어가보시면 생성AI가 할 수 있는 대부분의 작업에 대한 간단한 해결책을 만나실 수도 있습니다. 이곳에서는 사람들이 개발하거나 파인튜닝한 오픈소스 생성형 AI 모델의 가중치, LoRA, VAE 등등을 하나씩 확인하고 다운받을 수 있습니다. 

 

 

Civitai: The Home of Open-Source Generative AI

Explore thousands of high-quality Stable Diffusion & Flux models, share your AI-generated art, and engage with a vibrant community of creators

civitai.com

 

사진 : CIVIT AI 사이트 화면

 

 

해보려는 건?

 

이번에 해 보고자 하는 것은 다음과 같습니다.

 

1.ComfyUI 상에서 Flux.1 Schnell 모델을 베이스 모델로 해서 

2.CIVIT AI 사이트에서 찾은 LoRA 를 적용해서 

3.프롬프트 입력 내용에 따라 선화 아이콘을 만들어 보기

 

사실 Flux.1 Schnell이면 프롬프트만 적절히 주면 그 자체로도 라인아트 아이콘을 만들어내기도 합니다. 제 눈높이에선 아주 훌륭하죠... 그런데 그런 것에 특화해서 LoRA로 파인튜닝을 해 두신 분들이 계시니 아무래도 조금 더 나은 측면이 있지 않을까 기대를 해 봅니다. 방식은 기존의 workflow에 LoRA를 적용하는 것만 하면 될 것 같습니다.

 

1.Flux.1 Schnell을 이용한 ComfyUI 생성

 

지난 번에 사용했던 workflow를 이용해서 아래 프롬프트로 만들어 봅니다. 

Cute and lovely dogs and cats, various species together, line art, simple

사진 : ComfyUI에서 이미지 생성 예시 (256x256, 16 batch로 진행)

 

 

의외로 LoRA를 적용하지 않아도 너무 잘 만드는 것 같습니다. LoRA 적용을 괜히 해 보는건가 싶을 정도네요... 

 

 

2.CIVIT AI에서 LoRA 찾아 다운받기

 

제가 해 보고 싶은 것은 라인아트 형태의 스케치로 동물 그림을 생성해 보는 것입니다. CivitAI.com에서 제가 찾은 LoRA는 [Flux] Sketch v1.0이라는 것이었습니다. 

 

사진 : civitai.com에 올라온 Flux Sketch v1.0 LoRa 관련 화면

 

다운 받아서 ComfyUI의 models/lora에 넣어두고 ComfyUI를 refresh 한 후 추가해 보겠습니다. 

 

이 LoRA를 사용하려면 다음의 trigger words를 Prompt에 삽입해야 합니다. 

Lineart style sketch. This sketch features bold contour lines that define the form, with prominent guidelines left visible to emphasize the construction process. Sketchy lines add a raw, unfinished feel. Rich in detail.

 

 

나온 결과물을 보면 제가 생각했던 것보다 좀 많이 스케치 스타일이네요. 저는 심플하고 둥글둥글한 것을 생각했는데... 원래 이 LoRA는 그 스타일이 아니었나 봅니다. 

 

 

 

그래서, 다른 것도 한번 걸어 보겠습니다. Lineart라는 LoRA입니다. 

 

 

이 LoRA를 사용해 생성한 이미지인데, 확실히 스타일이 살아 있네요.

 

 

또 다른 LoRA를 적용해 보겠습니다. (직접 해보니 신기해서 막 신났습니다) 이번엔 flux simple line drawing이라는 LoRA이고 trigger words는 'simple drawing' 입니다. 

 

 

생성 결과물은 다음과 같습니다. 아무래도 선만으로 그린 것들이라 LoRA별로 약간씩의 차이만 있는 것 같습니다. 

 

 

 

마지막으로... 제가 좋아하는 notion 스타일 일러스트가 있어서 그걸로도 해 보겠습니다. 

 

 

여전히 귀엽긴 하지만, 어딘가... 제가 원하는 스타일은 아니네요... 역시 고양이나 강아지 외에 사람 일러스트에 적합하지 않을까 싶네요.

 

 

사람으로 해 보면 다음과 같이 나옵니다.

 

A person sitting on a chair in front of a desk full of documents and imagining himself swimming in space. He is holding a pen in one hand and resting his chin on the other hand, line art

 

 

 

 

해 볼수록 재미있네요... 사용자 입장에서는 환경만 갖춰진다면 어렵지 않게 원하는 이미지를 생성할 수 있으니 편리하고 좋습니다.  원하는 그림일 이렇게 뚝딱 만들어주니 세상 좋아졌다는 걸 새삼 실감하게 됩니다. 

 

이번 글에서는 ComfyUI 도구를 이용하고, Flux.1 Schnell 모델에 LoRA를 적용해 이미지 생성 시 서로 다른 스타일을 적용해 보는 것을 해 봤습니다. 다음 번에 또 다른 재미난 것을 찾아서 소개해 드리겠습니다.