tdrussell/diffusion-pipe

A pipeline parallel training script for diffusion models.

What it solves

파이프라인 병렬화를 활용해 단일 GPU에 들어가지 않을 정도로 큰 확산 모델의 학습을 가능하게 합니다. 이미지와 비디오 생성 모델을 모두 지원하는 통합 프레임워크를 제공하여 서로 다른 아키텍처를 관리하는 복잡성을 낮춥니다.

How it works

이 프로젝트는 DeepSpeed를 이용한 데이터 병렬과 파이프라인 병렬의 하이브리드 방식을 사용해 모델을 여러 GPU에 분산합니다. VRAM 사용을 최적화하기 위해 잠재 변수와 텍스트 임베딩을 디스크에 사전 캐시하고, 실제 학습 중에는 VAE와 텍스트 인코더를 언로드할 수 있게 합니다. 또한 8비트 옵티마이저, 블록 스와핑, 활성화 체크포인팅 등 메모리 절약 기술을 지원합니다.

Who it’s for

Flux, SDXL, HunyuanVideo와 같은 대규모 이미지·비디오 확산 모델을 파인튜닝하거나 학습해야 하지만, 단일 대형 GPU의 VRAM이 부족한 AI 연구자 및 개발자를 위한 것입니다.

Highlights

  • Broad Model Support: SDXL, Flux, LTX-Video, HunyuanVideo, Cosmos, Wan2.1 등 최신 모델을 폭넓게 지원합니다.
  • Pipeline Parallelism: 단일 GPU 메모리를 초과하는 모델을 처리하도록 특별히 설계되었습니다.
  • Unified Image/Video Workflow: 하나의 학습 스크립트에서 이미지와 비디오 두 모달리티를 모두 지원합니다.
  • Efficient Caching: 멀티 프로세스·멀티 GPU 사전 캐시를 통해 임베딩과 잠재 변수를 미리 저장, 학습 속도를 높이고 메모리를 절약합니다.
  • Training Management: Tensorboard 로깅, 보류 테스트 세트에 대한 평가, 재개 가능한 체크포인트 기능을 포함합니다.