1. 핵심 기술 도입
🚀 Diffusion Transformer (DiT) 아키텍처 채택
- 배경: 기존 생성 모델(SD)은 "맛있게", "매콤하게"와 같은 추상적인 자연어 지시를 이해하지 못하며, 이를 시각화하기 위해 복잡한 워크플로우(Inpainting, Masking)가 강제됨.
- 결정: Flux / Qwen 계열의 DiT 모델 전면 도입.
- 선정 근거:
- Context Understanding: 문맥 이해도가 높아 "계란 노른자가 터져서 흐르는"과 같은 복잡한 물리적 상황을 정확히 묘사함.
- Instruction Following: 별도의 마스킹 작업 없이 "이 부분을 맵게 수정해"라는 자연어 명령만으로 의도를 파악하고 수행함.
- Visual Translation: 사용자의 추상적 감정 표현("존맛탱")을 시각적 텍스처("윤기 흐르는 소스")로 자동 변환하는 능력이 탁월함.
2. 인프라 및 최적화 전략
🏗️ GCP L4 GPU 환경 분석 및 최적화
- Environment: GPU VRAM 24GB (NVIDIA L4) / System RAM 16GB
- Challenge: 고성능 DiT 모델(FP16 원본) 로딩 시 시스템 RAM 요구량이 60GB를 초과하여 서버 다운(OOM) 발생 불가피.
🛠️ 해결 솔루션: "양자화 & 스왑" 적용
- 4-bit Quantization (Int4): 모델 가중치를 4비트로 압축, VRAM 및 RAM 점유율을 1/4 수준으로 경량화.
- Swap Memory (16GB): 로딩 순간 발생하는 메모리 스파이크(Peak)를 디스크로 우회하여 안정성 확보.
- Low CPU Mem Usage:
accelerate 라이브러리를 통한 순차적 적재(Offloading) 기법 적용.
📊 최적화 전후 성능 예상
| 구분 |
최적화 전 (Raw FP16) |
최적화 후 (Int4 + Swap) |
결과 |
| 모델 용량 |
약 40GB |
약 10~12GB |
✅ 75% 절감 |
| RAM 점유 |
60GB+ (폭주) |
12~14GB (안정적) |
✅ 시스템 생존 |
| VRAM 점유 |
22GB+ (여유 없음) |
10~12GB (여유 있음) |
✅ 멀티 태스킹 가능 |
| 상태 |
Server Crash (OOM) |
Success (정상 구동) |
서비스 가능 |
3. 개발 내용: 프롬프트 전처리 모듈
🧩 프롬프트 전략
- 파일명:
data_preprocessing.ipynb
- 로직: 사용자 입력을 [자연어 묘사] + [스타일 강제 태그] 형태로 변환.
- Part 1 (Instruction): DiT 모델이 상황을 이해하도록 돕는 구체적인 서술 (예: "노른자가 흐르고...")
- Part 2 (Style Boosters): 상업적 광고 톤앤매너를 강제하기 위한 고화질 태그 (예:
professional food photography, 8k)