Diffusers FLUX.2 통합

Hugging Face는 Diffusers 라이브러리에 FLUX.2를 통합하여, 사용자가 Flux2Pipeline를 사용하여 고품질 텍스트-이미지 생성을 실행할 수 있도록 합니다. 이 통합은 메모리 오버헤드를 줄이기 위해 4-bit 양자화 버전을 포함한 최적화된 모델 변형을 지원합니다.

기술 구현 및 파이프라인

Diffusers에서의 FLUX.2 구현은 이미지 생성 프로세스를 처리하기 위해 특화된 파이프라인 및 트랜스포머 모델을 활용합니다. 파이프라인의 핵심 구성 요소는 다음과 같습니다:

  • Flux2Pipeline: 텍스트-이미지 프로세스를 조정하는 데 사용되는 주요 클래스입니다.
  • Flux2Transformer2DModel: 이미지 합성을 담당하는 모델 아키텍처입니다.
  • Mistral3ForConditionalGeneration: 트랜스포머가 이해할 수 있는 임베딩으로 프롬프트를 처리하는 텍스트 인코더로 사용됩니다.

리소스 사용을 최적화하기 위해, 이 통합은 사용하지 않을 때 모델 구성 요소를 CPU로 이동하여 GPU VRAM을 절약하는 torch.bfloat16enable_model_cpu_offload()를 지원합니다.

모델 구성 및 사용법

diffusers/FLUX.2-dev-bnb-4bit 저장소는 모델의 4-bit 양자화 버전을 제공하여 모델 실행에 필요한 하드웨어 요구 사항을 크게 낮춥니다.

예시 추론 매개변수

Diffusers에서의 FLUX.2에 대한 일반적인 추론 설정은 다음과 같은 매개변수를 사용합니다:

  • Inference Steps: 50 단계 (속도와 품질 사이의 좋은 트레이드오프로 28 단계가 언급됨).
  • Guidance Scale: 4.
  • Precision: torch.bfloat16.

라이브러리 지원 중단

Hugging Face는 Flax 클래스가 현재 지원 중단되었으며 Diffusers v1.0.0에서 제거될 것이라고 발표했습니다. 사용자는 호환성을 유지하기 위해 PyTorch 클래스로 마이그레이션하거나 현재 Diffusers 버전을 고정하는 것이 좋습니다.

메모리 고려 사항

4-bit 양자화 및 CPU 오프로딩을 사용하더라도 모델은 여전히 리소스-intensive합니다. 기술 로그에 따르면, GPU 용량이 텍스트 인코더와 트랜스포머의 결합된 부하를 순전파 중에 처리하기에 부족할 경우 CUDA OutOfMemory 오류가 발생할 수 있습니다.

Sources