피드로 돌아가기
Hugging Face BlogAI/ML
원문 읽기
Hugging Face가 diffusers 라이브러리로 ControlNet 학습 파이프라인을 제공해 3단계(조건 계획 → 데이터셋 구축 → 모델 학습)만으로 Stable Diffusion 커스텀 모델 개발 가능
Train your ControlNet with diffusers
AI 요약
Context
ControlNet은 Stable Diffusion을 세밀하게 제어하기 위한 신경망 구조로, 포즈 추정, 깊이 맵, Canny 엣지 등 다양한 조건을 추가할 수 있습니다. 개발자들이 직접 ControlNet을 학습하려면 데이터셋 구축부터 모델 학습까지 복잡한 파이프라인을 직접 구현해야 하는 문제가 있었습니다.
Technical Solution
- 조건 설계 → 얼굴 랜드마크 기반 제어: 기존 SOTA 모델(SPIGA)이 일반 얼굴 이미지를 iBUG 68-facial landmarks 형식으로 변환 가능한 조건 선정
- 데이터셋 구성 → 3개 필수 컴포넌트 확보: FaceSynthetics 100K 이미지를 기반으로 실제 이미지, 랜드마크 시각화 마스크(conditioning_image), BLIP 캡셔닝 결과 통합
- 커스텀 변환 파이프라인 구축: 원본 얼굴 이미지 → SPIGA로 랜드마크 추출 → 커스텀 코드로 마스크 생성 → Hugging Face Dataset으로 저장
- diffusers 학습 스크립트 활용: A100 GPU에서 배치 크기 4, 3 에포크로 학습(최종적으로 1 에포크가 최적임을 발견)
- 메모리 최적화 설정 제공: 8GB~16GB VRAM GPU용 파라미터(gradient_accumulation_steps=4, gradient_checkpointing, use_8bit_adam) 문서화
Impact
- A100 GPU 렌탈 비용: 시간당 USD $1.10
- 최적 학습 설정: 1 에포크(100K 이미지 1회 노출)에서 수렴 달성, 3 에포크는 과적합 유발
- 메모리 효율: 배치 크기 1 + 그래디언트 누적 4단계 조합으로 원래 배치 크기 4와 동등한 효과
Key Takeaway
diffusers 라이브러리의 통합 학습 스크립트는 ControlNet 개발을 데이터셋 구축이 핵심이 되도록 단순화했습니다. 실제 학습보다 조건 선택(기존 모델과의 호환성)과 데이터셋 구성(ground truth, conditioning image, 캡션)이 성공의 결정 요인입니다.
실천 포인트
Stable Diffusion 기반 커스텀 이미지 생성 모델을 개발하는 팀에서 ControlNet을 도입할 때, 먼저 기존 SOTA 모델(랜드마크 추출, 깊이 맵 생성 등)이 입력 조건을 변환할 수 있는지 검증한 후 데이터셋을 구성하면, diffusers 스크립트의 표준 하이퍼파라미터로 8GB 이상 VRAM GPU에서 학습 가능합니다.