본문 바로가기
Paper Review/Paper Review with AI

[AI 논문 리뷰] Demystifying Flux Architecture

by Sangwoo Seo 2025. 12. 9.

1. 논문이 나온 배경

FLUX.1은 Black Forest Labs에서 개발한 최첨단 text-to-image 생성 모델로, Midjourney, DALL·E 3, Stable Diffusion 3, SDXL과 같은 기존 모델들을 뛰어넘는 성능을 보여주고 있습니다. 이 모델은 오픈소스로 공개되어 있음에도 불구하고, 개발사에서 공식적인 기술 문서나 아키텍처에 대한 상세한 설명을 제공하지 않았습니다. 이러한 상황에서 연구자들과 개발자들이 FLUX를 백본 모델로 활용하여 후속 연구 및 개발을 진행하는 데 어려움을 겪고 있었습니다.

 

FLUX.1 이전에는 diffusion 기반 이미지 생성 모델들이 주로 U-Net 아키텍처를 사용했으며, CLIP과 같은 단일 텍스트 인코더에 의존했습니다. 또한 대부분의 모델들이 특정 해상도에 제한되어 있었고, 복잡한 프롬프트를 정확하게 이해하고 반영하는 데 한계가 있었습니다. 특히 희귀한 개념이나 복잡한 장면 구성을 요구하는 프롬프트에 대해서는 만족스러운 결과를 내지 못하는 경우가 많았습니다.

2. 어떤 것을 개선할 것인지

이 논문은 FLUX.1의 실제 아키텍처를 역공학(reverse-engineering)을 통해 밝혀내고 문서화하는 것을 목표로 합니다. 구체적으로는 다음과 같은 측면들을 개선하고자 했습니다.

 

첫째, 모델의 불투명성 문제를 해결하고자 했습니다. 소스 코드로부터 직접 아키텍처를 분석하여 FLUX.1의 전체 구조, 샘플링 파이프라인, 트랜스포머 블록의 세부 사항을 명확하게 문서화했습니다.

 

둘째, text-to-image alignment를 개선했습니다. FLUX.1은 두 개의 텍스트 인코더(CLIP과 T5)를 동시에 활용하여 프롬프트의 의미를 더욱 풍부하게 이해합니다. CLIP은 전체적인 의미를 파악하는 pooled embedding을 제공하고, T5는 토큰별 세밀한 의미를 담은 dense embedding을 제공합니다.

 

셋째, 이미지 품질과 다양성을 향상시켰습니다. 기존 모델들보다 높은 해상도와 다양한 종횡비를 지원하며, ELO 점수 평가에서 prompt following, visual quality, output diversity 등 모든 측면에서 우수한 성능을 달성했습니다.

 

넷째, 계산 효율성을 개선했습니다. Latent Diffusion Model 프레임워크를 따르되, latent space의 채널 수를 4에서 16으로 확장하여 더 풍부한 표현력을 확보했습니다. 또한 Rectified Flow 학습 패러다임을 채택하여 더 빠르고 안정적인 이미지 합성을 가능하게 했습니다.

3. 어떤 원리로 개선된 것인지

FLUX.1의 개선은 여러 핵심 원리들의 조합을 통해 이루어졌습니다.

Flux 1. architecture
Flux Trasformer architecture
Flux Transformer: per-iteration inputs pre-process

Rectified Flow 학습 방식

기존 diffusion 모델들이 노이즈 예측(ϵ-objective)을 학습하는 것과 달리, FLUX.1은 Rectified Flow 방식을 채택했습니다. 이 방식은 velocity vector를 예측하도록 학습됩니다. 구체적으로, 노이즈 $ x_0 $와 실제 데이터 $ x_1 $ 사이의 선형 보간 경로 $ x_t = (1-t)x_0 + tx_1 $을 정의하고, 모델 $ v_θ $가 $ x_0 $에서 $ x_1$로 직접 향하는 속도 벡터를 예측하도록 합니다. 손실 함수는 $ L_v = E_{x_0,x_1,t}‖v_θ(x_t, t) - (x_1 - x_0)‖² $입니다. 이러한 deterministic한 접근 방식은 stochastic한 기존 diffusion 방식보다 빠르고 안정적인 샘플링을 가능하게 합니다.

듀얼 텍스트 인코더 시스템

FLUX.1은 CLIP과 T5라는 두 개의 사전 학습된 텍스트 인코더를 동시에 활용합니다. CLIP은 이미지-텍스트 쌍에 대한 대조 학습으로 훈련되어 전체적인 의미 파악에 강점을 가지며, pooled projection을 생성합니다. 반면 T5는 순수 언어 데이터로 훈련된 text-to-text 모델로, 긴 프롬프트와 복잡한 텍스트에 대해 토큰별 세밀한 표현(encoder hidden states)을 제공합니다. 이 두 인코더의 출력을 조합하여 사용함으로써, 클래스 수준의 의미 정렬과 토큰 수준의 상세한 의미 이해를 동시에 달성합니다.

트랜스포머 기반 아키텍처

FLUX.1은 전통적인 U-Net 구조를 버리고 완전한 트랜스포머 기반 아키텍처를 채택했습니다. 총 12B 파라미터로 구성된 모델은 19개의 Double-Stream 블록과 38개의 Single-Stream 블록으로 이루어져 있습니다.

 

Double-Stream 블록은 이미지 토큰과 텍스트 토큰을 분리된 스트림으로 처리합니다. 각 스트림은 독립적인 가중치를 가지며, Adaptive Layer Normalization(AdaLN)을 통해 timestep과 guidance 정보로 조건화됩니다. AdaLN은 조건 벡터(temb)로부터 scale과 shift 파라미터를 동적으로 생성하여 각 레이어의 활성화를 조절합니다. 어텐션 연산 시에는 두 스트림의 K, Q, V 행렬을 concatenate하여 multi-modal attention을 수행합니다. 이를 통해 텍스트와 이미지 간의 양방향 상호작용이 가능해집니다.

Double-Stream Attention Block

 

Single-Stream 블록은 연결된 텍스트와 이미지 임베딩을 단일 가중치 세트로 처리합니다. 또한 sequential 구조 대신 parallel 구조를 채택하여, attention과 MLP를 동일한 입력으로부터 동시에 계산합니다. 이는 계산 효율성을 높이면서도 표현력을 유지합니다.

Single Stream Attention Block

Rotary Positional Embeddings (RoPE)

FLUX.1은 위치 정보를 주입하기 위해 RoPE를 사용합니다. 각 토큰에 3D 좌표 (t, h, w)를 할당하고, 각 축에 대해 sinusoidal frequency를 계산한 후 이를 interleave하여 최종 positional embedding을 생성합니다. 이 embedding은 query와 key 벡터에 rotation으로 적용되어, 상대적 위치 관계를 보존하면서도 시퀀스 길이에 대한 일반화 능력을 향상시킵니다.

Latent Space 확장

기존 Stable Diffusion의 4채널 latent space 대신 16채널을 사용합니다. 이를 위해 adversarial objective로 처음부터 새로운 convolutional autoencoder를 학습시켰습니다. 더 큰 latent space는 더 풍부한 시각적 정보를 인코딩할 수 있어 고품질 이미지 생성에 기여합니다.

4. 실험 결과 및 성능

4-1. 데이터셋 및 구조

논문에서는 훈련 데이터셋에 대한 구체적인 정보가 공개되지 않았습니다. 다만 FLUX.1의 풍부한 vocabulary와 광범위한 사전 학습 능력을 언급하며, 이를 통해 희귀한 개념이나 복잡한 장면도 생성할 수 있다고 설명하고 있습니다.

 

정성적 평가를 위해서는 자동차 관련 시나리오를 512×512 해상도에서 테스트했습니다. 특히 dashcam 시점에서의 다양한 날씨 조건, 조명 환경, 희귀한 객체 등을 포함하는 프롬프트들을 사용했습니다. 비교 대상으로는 Stable Diffusion 2.1이 선택되었으며, 이는 여전히 많은 R&D 프로젝트에서 널리 사용되고 있습니다.

 

실험 구조는 다음과 같습니다:

  • FLUX.1[dev]: 50 sampling steps, guidance scale 2.5
  • Stable Diffusion 2.1: 50 sampling steps, guidance scale 7.5
  • 기본 해상도: 512×512 (SD 2.1의 권장 해상도)
  • 추가로 다양한 해상도와 종횡비 테스트: 1024×1024, 1080×600, 1024×512, 512×1600

4-2. 성능 평가지표

ELO Score: 주요 정량적 평가 지표로 ELO 점수를 사용했습니다. 이는 사람의 선호도를 기반으로 한 head-to-head 비교를 통해 모델들을 순위화하는 방식입니다. FLUX.1은 다음 다섯 가지 측면에서 평가되었습니다:

  1. Prompt Following: 프롬프트와 생성된 이미지 간의 정렬 정도
  2. Size/Aspect Variability: 다양한 해상도와 종횡비 지원 능력
  3. Typography: 텍스트 생성 품질
  4. Output Diversity: 생성 결과의 다양성
  5. Visual Quality: 전체적인 시각적 품질

전체 ELO 점수에서 FLUX.1[pro]는 약 1060점으로 1위를 차지했으며, FLUX.1[dev]와 SD3-Ultra가 그 뒤를 이었습니다. Stable Diffusion 2.1과 SDXL-Lightning은 각각 약 950점과 920점으로 하위권에 위치했습니다.

 

정성적 평가: Appendix A에서 다음 측면들을 시각적으로 비교했습니다:

  1. Overall Image Quality: FLUX.1은 자연스럽고 사실적인 자동차 장면을 생성했습니다. 맑은 날, 밤, 안개 낀 날 등 다양한 조건에서 높은 품질을 유지했으며, dashcam 시점을 정확히 반영했습니다. 반면 SD 2.1은 종종 부자연스러운 구도나 요청한 시점과 다른 결과를 생성했습니다.
  2. Text-Image Alignment: FLUX.1은 "약간 눈 오는 날"과 "많이 눈 오는 날"의 미묘한 차이를 정확히 구분했으며, "눈이 온 후의 화창한 날"과 같은 복합적인 속성도 정확히 표현했습니다. SD 2.1은 이러한 세밀한 차이를 반영하지 못했습니다.
  3. Sparse Prompts: "adverse weather"나 "difficult viewing conditions"같은 모호한 프롬프트도 적절히 해석했으며, "blurry"같은 직접적인 요청에도 민감하게 반응했습니다.
  4. Rare Concepts: "boat-trailer"나 "upside-down crashed car"같은 희귀한 개념도 정확하게 생성했습니다. 이는 FLUX.1의 풍부한 vocabulary와 광범위한 사전 학습의 결과입니다.
  5. Complex Prompts: "비 오는 날 노인이 횡단보도를 건너고 휠체어를 탄 어린이가 길을 건너는 장면"처럼 여러 요소를 포함하는 복잡한 프롬프트도 모든 요소를 정확히 반영했습니다. T5 인코더가 생성하는 dense prompt embedding이 이를 가능하게 합니다.
  6. Resolution Flexibility: 1024×1024, 1080×600, 512×1600 등 다양한 해상도와 종횡비에서 안정적으로 작동했습니다. 기존 U-Net 기반 모델들이 특정 해상도에 제한되는 것과 달리, 트랜스포머 아키텍처는 유연한 입력 크기를 지원합니다.

5. 향후 연구 방향 및 해결하지 못한 과제

논문에서는 몇 가지 한계점과 향후 연구 방향을 암시하고 있습니다.

  • 훈련 세부사항 부재: FLUX.1의 정확한 훈련 데이터셋, 스케줄링 전략, 하이퍼파라미터가 공개되지 않았습니다. 개발자들은 Rectified Flow 패러다임을 사용했다고 언급했지만, 구체적인 구현 세부사항은 불명확합니다. 향후 연구에서는 유사한 성능을 달성하기 위한 훈련 레시피를 개발할 필요가 있습니다.
  • 아키텍처 선택의 이론적 근거: Double-Stream과 Single-Stream 블록을 혼합한 이유, 특정 블록 개수의 선택(19개와 38개), latent space를 16채널로 확장한 근거 등이 명확히 설명되지 않았습니다. 논문에서는 가능한 장단점을 추론했지만, empirical한 ablation study가 필요합니다.
  • 계산 비용과 효율성: 12B 파라미터는 상당한 계산 자원을 요구합니다. FLUX.1[schnell]이 속도 최적화를 위해 distillation을 사용했지만, 품질과 속도 간의 trade-off에 대한 체계적인 분석이 필요합니다. 특히 실시간 애플리케이션을 위한 추가 최적화 방안이 연구되어야 합니다.
  • Fine-tuning과 Customization: 논문에서는 기본 모델만 다루었으며, domain-specific fine-tuning이나 personalization 방법에 대해서는 논의하지 않았습니다. 특정 도메인(예: 의료 영상, 산업 디자인)에 대한 적응 방법과 성능이 향후 연구 주제가 될 수 있습니다.
  • 확장 도구들의 기술적 상세: FLUX-Fill, FLUX-Canny, FLUX-Depth, FLUX-Redux, FLUX-Kontext 등의 확장 도구들이 언급되었지만, 각각의 기술적 구현과 성능에 대한 심층 분석은 제공되지 않았습니다. 특히 FLUX-Kontext는 2025년 6월 기준으로 아직 공개되지 않아 평가할 수 없었습니다.
  • 편향성과 안전성: 생성 모델의 일반적인 문제인 데이터 편향, 유해 콘텐츠 생성 가능성, 저작권 문제 등에 대한 논의가 부족합니다. 책임 있는 AI 사용을 위한 가이드라인과 안전장치 개발이 필요합니다.
  • 다른 modality로의 확장: 현재는 text-to-image에 집중되어 있지만, video generation, 3D synthesis, multimodal understanding 등으로의 확장 가능성을 탐구할 수 있습니다.

결론적으로, 이 논문은 FLUX.1의 아키텍처를 성공적으로 문서화하여 연구 커뮤니티에 귀중한 자료를 제공했지만, 완전한 재현을 위해서는 훈련 세부사항과 설계 선택의 근거에 대한 추가 연구가 필요합니다. 논문의 저자도 이것이 비공식 기술 보고서이며 원 개발자나 소속 기관의 승인을 받지 않았음을 명시하고 있습니다.