*주의!* 작년에 정리하지 못했던 Project Joing의 문서입니다. 포스팅은 아래의 순서로 진행될 예정입니다.
- 이미지 생성 모델 선정 3 - Flux.1 Schnell vs Flux.1 Dev
- Flux.1 Dev Fine-tuning: LoRa & PEFT
- Flux.1 Dev Fine-tuning: AI-Toolkit
- Flux.1 Dev Fine-tuning:
학습데이터 수집학습 데이터 확보와 학습계획 - Flux.1 Dev Fine-tuning: 학습 및 결과 비교
- 마무리 및 회고
왜 하필 LoRa일까?
Image Generation Model을 Fine-tuning 하기 위해서 대표적으로 2가지 방식이 있다. 첫번째로는 DreamBooth이고 두번째가 LoRa 방식이다. (Full Fine-tuning도 있으나 현재는 DreamBooth와 LoRa 방식을 운선순위로 뒀다.)
그전에 아래의 글에서 LoRA와 PEFT에 대한 정보와 DreamBooth에 대해 확인 할 수 있다.
도대체 LoRa와 PEFT는 뭐지?
도대체 DreamBooth가 뭐지?
위의 글에서 LoRa는 PEFT에 대해 정리하자면 LoRa는 PEFT의 한 방식중 하나로써 기존의 Model의 Weight는 유지하면서 하나의 큰 행렬을 두개의 작은 행렬로 분해한다. 그리고 이는 학습해야될 Parameter의 수를 낮춰 효율적인 Fine-tuning이 가능하다. 그리고 적절한 Dataset을 확보했다는 가정하에서는 효율적이면서 동시에 효과적인 Fine-tuning 방식이라고 할 수 있다.(이말을 꼭 기억해야한다. 적절한 Dataset) 그래서 LoRa는 우리가 준비한 데이터셋을 기반으로 학습을 진행하면 기존의 Model의 Weight를 보정하는 adapter를 만든다.
하지만 여기서 중요한점이 효율적인 방식이 성능이 좋다는걸 보장할 수 없듯이 LoRa 방식의 Fine-tuning이 정답이 아니라는 점을 꼭 집고 넘어가고 싶다. 그러면 반대로 DreamBooth를 사용할 수 있다. 하지만 여기서 LoRa방식과 DreamBooth의 Fine-tuning 결과물에 대한 차이를 집고 넘어가야한다.
| LoRa | DreamBooth |
| 특정 파라미터만 수정함: 즉, 비용이 적고(상대적으로) 속도가 빠름 적용 예시: 스타일과 그림체 적용에 유용함 |
전체 파라미터를 변경할수 있음: 즉, 비용이 높고 속도가 느림 적용 예시: 특정 사물이나 객체를 주입할 경우에 유용함 |


간단한 비교지만 정확한 대상을 그려내기보다는 스케치 스타일의 콘티를 생성하는게 중요하다보니 LoRa 방식이 좀 더 적합하다. 그리고 아래의 고려사항도 존재한다.
- 데이터가 많은거?
- 컴퓨팅 리소스가 짱짱한가?
- 시간이 많은가?
셋다 아니었다. 그렇기 때문에 비교 보다는 효과적이면서 효율적이라고 입증이 된 LoRa 방식을 사용하는게 최적의 선택이다.
그래서 현재 상황을 바탕으로 LoRa방식으로의 Fine-tuning을 진행하는데 있어 구체적으로 어떤 과정을 거쳐야하는지를 정리했다.
- 구체적인 학습 방법
- 학습을 위한 데이터셋 확보 및 전처리
- 학습계획 구성 및 학습 결과 비교
그리고 학습방법에 있어서 AI-Toolkit이라는 훌륭한 LoRa Fine-tuning 툴을 찾게 됐다.
그래서 다음에는 AI-Toolkit 사용 과정에 대해 정리해볼 예정이다.
Flux.1 Dev Fine-tuning: AI-Toolkit
Project Joing: StoryBoard Generator(콘티 생성기) Flux.1 Dev Fine-tuning: AI-Toolkit
*주의!* 작년에 정리하지 못했던 Project Joing의 문서입니다. 포스팅은 아래의 순서로 진행될 예정입니다.이미지 생성 모델 선정 3 - Flux.1 Schnell vs Flux.1 DevFlux.1 Dev Fine-tuning: LoRa & PEFTFlux.1 Dev Fine-tuning
youcanbeable.tistory.com