FLUX on a 4070 Graphics Card 🖼️
개요
NVIDIA GeForce RTX 4070 그래픽 카드에서 FLUX를 사용하여 로컬 환경에서 이미지 및 비디오 생성을 성공적으로 수행한 과정을 상세히 설명합니다.
주요 내용
* 이전 경험 및 문제점: M 칩이 탑재되지 않은 구형 맥북에서의 로컬 이미지/비디오 생성의 어려움, Fable과 ComfyUI 워크플로우 설정 시 겪었던 노드 이해 부족 및 언어 장벽으로 인한 비효율성을 언급합니다.
* Richard Aragon의 Colab Notebook 활용: Youtuber Richard Aragon이 공유한 Google Colab 노트북을 통해 양자화(quantization)에 대한 이해를 높이고, 로컬 생성 문제 해결의 실마리를 찾았습니다. 이 노트북은 4060 그래픽 카드에서도 사용 가능함을 시사합니다.
* 로컬에서 양자화된 모델 학습: Hugging Face의 34GB 기본 모델을 로컬에서 사용하여 개인 이미지로 학습시키는 것이 가능하며, LoRA(Low-Rank Adaptation) 파일을 통해 다양한 스타일의 "렌즈"를 추가할 수 있습니다. Alphonse Mucha의 작품을 활용한 학습 및 결과 도출 과정을 공유합니다.
* 개인 이미지 학습을 위한 준비: 14개의 이미지와 metadata.jsonl 파일을 생성하여 FLUX가 학습할 수 있도록 준비했습니다.
* 고성능 모델을 저사양 GPU에서 구동하는 기술: 12GB VRAM의 GPU에서 24GB 모델을 다루기 위해 다음과 같은 기술들을 활용했습니다.
* 양자화 (Quantization): bitsandbytes 라이브러리를 이용한 4-bit NF4 양자화를 통해 모델 가중치당 저장 비트를 줄입니다.
* PEFT (Parameter-efficient fine-tuning): LoRA를 사용하여 기본 모델의 파라미터는 고정하고 작은 저랭크 어댑터 행렬만 학습시킵니다.
* 미리 계산 (Precompute): 임베딩 캐싱 및 잠재(latent) 캐싱을 활용합니다.
* 적절한 크기 조정 (Right-size): 학습 해상도 감소, 배치 사이즈 1 및 그래디언트 축적(gradient accumulation), 그래디언트 체크포인팅(gradient checkpointing), 8비트 옵티마이저 사용 등 메모리 사용량을 관리합니다.
* 이미지 생성 결과: 학습하지 않은 모델, Alphonse Mucha로 학습된 모델, 100단계 및 700단계로 개인 작품을 학습시킨 모델의 생성 결과 이미지들을 비교 분석합니다. 개인 작품 학습 결과가 원본 스타일에 더 가까워짐을 확인했습니다.
* 비디오 생성 시도: 이미지 생성 설정을 기반으로 비디오 생성 워크플로우를 구축했으며, 개인 작품 기반의 5초 비디오 생성을 4070에서 시도하고 있음을 언급합니다.
시사점
이 기술은 고사양 하드웨어 없이도 개인화된 AI 이미지 및 비디오 생성을 로컬 환경에서 가능하게 하며, 아티스트 및 개발자가 자신의 스타일로 콘텐츠를 생성하고 실험할 수 있는 새로운 가능성을 열어줍니다.
댓글
GitHub Discussions