본문 바로가기
논문 리뷰/Diffusion Model

Kolors: Effective Training of Diffusion Model for Photorealistic Text-to-Image Synthesis

by 박사개구리 2024. 10. 21.

 

0. Abstract

  • Text-to-Image 합성을 위한 잠재 확산 모델 (Latent diffusion model) Kolors를 소개!
  • Kolors의 특징
    • 영어와 중국어에 대한 심도있는 이해
    • 실제와 같은 인상적인 이미지
  • Kolors 개발을 위한 3가지 주요 요소
    1. 언어 능력 향상
      • 대형 언어 모델을 Stable Diffusion 3나 Imagen에서 사용된 T5가 아닌 General Language Model (GLM)을 사용 → 영어와 중국어 모두에 대한 이해 능력을 향상
      • 학습 데이터에 대한 텍스트 캡셔닝을 다시 수행하여 텍스트에 대한 심도있는 이해 능력을 개선
    2. Kolors의 학습
      1. 2단계의 학습 과정
        1. 컨셉 학습 단계 (Concept learning phase): 넓은 범위의 지식을 학습
        2. 품질 개선 단계 (Quality improvement phase): 미적 품질이 높은 데이터를 선별 및 학습
      2. 또한 고해상도의 이미지 생성을 최적화하기 위한 새로운 노이즈 스케줄 제안
    3. 균형잡힌 카테고리를 가지는 KolorsPrompt를 통해 평가
      1. 사람 평가에서 기존 오픈소스 모델의 성능을 제치고 Midjourney-v6 수준의 성능 달성

1. Introduction

  • 확산 기반의 Text-to-Image (T2I) 생성 모델은 이미지 생성 문제에 있어 많은 진보를 가져옴
    • U-Net 구조 기반의 대표 모델: Stability AI의 SDXL, Google의 Imagen, Meta의 Emu
    • Transformer 기반의 대표 모델: PixArt-$\alpha$, Stable Diffusion 3
  • 하지만 위의 모델들은 직접적으로 중국어 텍스트를 사용할 수 없음
    • 이에 따라 중국어 프롬프트의 이해 능력 개선을 위해 몇가지 모델들이 소개됨 → AltDiffusion, PAI-Diffusion, Taiyi-XL, Hunyuan-DiT
    • 위 기법들의 경우 중국어 텍스트 인코딩을 위해 CLIP 모델을 사용
  • Kolors는 U-Net 구조를 기반으로 하며 General Language Model (GLM)을 사용하는 확산 모델
    • 멀티모달 대형 언어 모델을 통해 얻은 세분화된 프롬프트를 사용하여 학습한 GLM을 적용 → 영어와 중국어 모두에 대해 높은 이해도를 보이며 텍스트 랜더링 부분에서도 뛰어난 성능을 보임
    • 2단계의 학습 과정을 가짐
    • KolorsPrompt 벤치마크를 기반으로 사람 평가 수행 → 시각적인 측면에서 뛰어난 성능을 보임
    • 코드와 모델 가중치 모두 공개!! → https://github.com/Kwai-Kolors/Kolors
  • 논문의 Contribution
    • 텍스트 관련
      • 영어와 중국어 모두에 대해 적절한 텍스트 표현 (representation)을 생성하기 위해 GLM을 대형 언어 모델로 사용
      • 학습 이미지에 대해 멀티모달 대형 언어 모델로 생성된 자세한 설명을 사용
      • Kolors는 복잡한 문맥, 특히 다수의 요소들이 있는 시나리오에서 좋은 성능을 보였으며 텍스트 렌더링 측면에서 뛰어난 성능을 보임
    • 2단계 학습을 수행
      • 컨셉 학습 단계에서는 넓은 지식을, 품질 개선 단계에서는 미적 품질이 높은 데이터를 선별하여 학습
      • 고화질의 이미지 생성 최적화를 위한 새로운 스케줄 제안
      • 위 전략들을 기반으로 고화질 이미지 생성에서 시각적 품질을 향상
    • 균형잡힌 카테고리를 가지는 벤치마크인 KolorsPrompts를 기반으로 성능 평가
      • 다수의 오픈, 클로즈 소스 모델들고 비교했을 때 뛰어난 성능을 보임 (e.g. Stable Diffusion 3, DALL-E 3, Playground-v2.5, Midjourney-v6)

2. Methods

2.1. Enhancing Text Faithfulness

2.1.1. Large Language Model as Text Encoder

  • 텍스트 인코더는 text-to-image 생성 모델에 있어 중요한 요소 → 모델에 의해 생성되는 컨텐츠를 제어할 수 있으며 직접적으로 영향을 미침
  • 일반적으로 이미지 생성 모델에서 사용되는 텍스트 인코더들을 표 1에서 살펴볼 수 있음
  •  
    • 일반적으로는 CLIP이나 T5 모델을 주로 사용
    • CLIP 모델을 텍스트 인코더로 사용한 모델: SD 1.5, DALL-E 2
      • CLIP의 경우 contrastive 손실함수로 학습되어 이미지와 텍스트 설명에 대한 align을 수행
      • 이는 다수의 대상, 위치, 색 등에 대해 상세한 이미지 설명을 이해하는데 좋지 못한 성능을 보임
    • 인코더-디코더 구조의 transformer인 T5를 통해 텍스트 임베딩을 추출하는 경우: Imagen, PixArt-$\alpha$
    • 다수의 텍스트 인코더를 사용하는 경우
      • eDiff-I: 전역적, 지역적 텍스트 표현을 위해 CLIP과 T5를 결합하여 텍스트 인코더로 사용
      • SDXL: 두개의 CLIP 모델을 사용하여 오픈소스 커뮤니티에서 좋은 성능 달성
      • Stable Diffusion 3: T5-XXL 텍스트 인코더를 모델 구조에 결합
      • LuminaT2X: 사전학습된 LLM 모델인 LLama2를 사용하여 텍스트를 어떤 모달리티로든 변환할 수 있는 통합 구조 제안
  • 대부분의 text-to-image 생성 모델들은 CLIP이 영어 기반 모델이라는 한계 때문에 중국어 프롬프트 사용에 어려움이 있음
    • HunyuanDiT는 이 문제의 해결을 위해 2개 국어 CLIP과 다국어 T5 모델을 사용하여 중국어 기반 text-to-image 모델을 학습
    • 그러나 다국어 T5 모델에는 중국어가 2% 이하로 구성되어있고 2개 국어 CLIP도 복잡한 텍스트 프롬프트를 다루기에는 적절하지 않음
  • 위 문제의 해결을 위해서 Kolors에서는 General Language Model (GLM)을 텍스트 인코더로 사용
    • GLM은 2개 국어 (영어, 중국어)가 가능한 사전 학습 언어 모델로 자연어 이해 및 생성 문제에서 BERT와 T5의 성능을 크게 능가한 모델
    • 본 논문에서는 오픈소스 ChatGLM3-6B-Base 모델을 텍스트 인코더로 사용
    • 77 토큰만을 사용하는 CLIP에 비해 ChatGLM3는 256 토큰까지 텍스트 길이를 사용하므로 더 자세하고 복잡한 텍스트 이해가 가능함

 

2.1.2. Improved Detailed Caption with Multimodal Large Language Model

  • 학습을 위한 텍스트-이미지 쌍은 대부분 인터넷을 통해 취득 → 노이지하고 부정확함
  • DALL-E 3의 경우 이를 해결하기 위해 학습 데이터에 대한 캡셔닝을 다시 수행
  • Kolors의 프롬프트 추종 능력을 향상 시키기 위해 DALL-E 3와 유사하게 멀티모달 대형 언어 모델 (Multimodal Large Language Model, MLLM)을 사용하여 다시 캡셔닝을 수행
  • 텍스트 설명의 품질을 평가하기 위한 5가지 기준
    • 길이 (Length): 중국어 글자의 전체 .
    • 완성도 (Completeness): 이미지 전체에 대한 텍스트 설명 정도 → 5점은 텍스트가 이미지 내의 모든 대상을 묘사하는 경우, 1점은 30% 이하의 대상을 묘사하는 경우
    • 상관 관계 (Correlation): 이미지의 전방에 있는 요소를 나타내는 텍스트 설명의 정확도, 5점의 경우 모든 전방의 요소를 설명하는 경우, 1점은 전방 대상의 30% 이하만 설명하는 경우
    • 환각 (Hallucination): 이미지 내에 존재하지 않는 것들을 텍스트로 묘사하는 비율, 5점은 환각이 없는 경우, 1점은 텍스트의 50% 이상이 환각을 포함하는 경우
    • 주관성 (Subjectivity): 이미지에 대한 시각적인 내용이 아니라 주관적인 인상을 전달하는 텍스트, “편하고 고요한 느낌을 주어 사람들을 편안하게 한다” 같은 문장은 주관적인 문장 → 주관적이지 않은 텍스트는 5점, 텍스트의 50% 이상이 주관적인 내용이면 1점
    • 평균 (Avg): 완성도, 상관관계, 환각, 주관성의 평균 점수
  • 본 논문에서는 5개의 유명한 MLLM 모델과 10명의 평가자를 통해 500개 이미지를 평가
    • 5개의 MLLM 모델 비교
      • LLaVA 1.5, CogAgent, CogVLM은 중국어 텍스트를 지원하지만 영어에 비해 성능이 떨어지므로 먼저 영어로 이미지 캡션을 생성하고 중국어로 번역
      • InternLM-XComposer-7B와 GPT-4V는 중국어 프롬프트를 직접적으로 사용
      • 5개 모델의 캡셔닝 성능을 표 2를 통해 살펴볼 수 있음
      • GPT4-V가 가장 높은 성능을 달성했지만 비용과 시간이 너무 많이 필요함
      • 다른 4개의 오픈소스 모델 중 LLaVA 1.5와 InternLM-XComposer가 CogAgent-VQA, CogVLM-1.1-chat에 비해 완성도나 상관 관계 측면에서 성능이 현저하게 떨어짐 → 자세한 설명에 대한 성능이 낮음
      • CogVLM-1.1-chat에 의해 생성된 설명은 환각이나 주관성 경향을 덜 보임
      • 위 결과에 따라 CogVLM-1.1-chat을 통해 학습 데이터셋에 대한 캡션을 생성하도록 함
    • 하지만 MLLM은 지식 범위를 넘어서는 이미지의 내용에 대해서는 식별할 수 없음
      • 이에 따라 50%의 기존 텍스트와 50%의 합성 캡션을 사용
  • Kolors의 경우 복잡한 중국어 텍스트를 따르는데 강인한 성능을 보임
    • 그림 2를 살펴보면 복잡한 프롬프트에 대해 다른 텍스트 인코더를 사용했을 때 Kolors의 결과를 확인할 수 있음
    • 위 결과를 보면 Kolors에 GLM을 사용한 경우 다수의 대상, 상세한 요소들에 대해 더 좋은 성능을 보이는 것을 확인할 수 있음
    • CLIP의 경우 위의 프롬프트에서는 상인과 전화를 생성하지 못했으며 아래 프롬프트에서는 색에 대해 혼란이 있음

 

 

2.1.3. Enhancement of Chinese Text Rendering Capability

  • 텍스트 렌더링 (텍스트를 포함한 이미지를 생성하는 것)은 text-to-image 생성 분야에서 오랫동안 어려운 문제였음
  • DALL-E 3나 Stable Diffusion 3와 같은 모델들은 영어 텍스트를 렌더링 하는 것에는 좋은 성능을 보였지만 중국어 텍스트 렌더링을 정확하게 하는 것에는 많은 어려움이 있었음
  • 중국어 텍스트 렌더링이 어려운 이유
    • 중국어 글자 세트의 크기가 광범위하며 구조가 복잡함
    • 학습 데이터에 중국어 텍스트를 포함하는 이미지가 거의 없음
  • 해당 문제를 해결하기 위해 2가지 관점의 접근을 사용
    • 자주 사용하는 중국어 단어 50,000개를 포함하는 이미지-텍스트 쌍 데이터 1000만개를 학습 데이터로 구축 → 해당 데이터는 컨셉 학습 단계에서만 사용됨
    • 생성 이미지의 사실성을 높이기 위해 OCR과 MLLM을 사용하여 실제 이미지 (e.g. 포스터, 텍스트를 포함한 풍경, …)에 대한 설명을 생성 → 100만개 정도의 데이터 사용
  • 텍스트 생성 결과는 그림 3 참고
  • 위 결과를 통해 중국어 텍스트 렌더링의 품질이 크게 향상된 것을 확인할 수 있음

 

2.2. Improving Visual Appeal

  • LDM (Latent Diffusion Models)는 이미지 생성 품질을 위해 때로 업스케일링이나 얼굴 복원 같은 후보정이 필요함
  • 본 논문에서는 데이터와 학습 기법을 발전시켜서 해당 문제를 해결

2.2.1. High Quality Data

  • Kolors의 학습은 2 단계로 나눠짐 → 컨셉 학습 단계, 품질 개선 단계
  • 컨셉 학습 단계
    • 아주 큰 규모의 데이터를 사용하여 모델이 이해력을 취득
    • 해당 단계의 데이터는 공공 데이터 (e.g. LAION, DataComp, JourneyDB)와 사설 데이터 사용
  • 품질 개선 단계
    • 고해상도에서 이미지의 디테일과 미적 품질을 향상시키는 것에 집중
    • 해당 단계가 데이터 품질 측면에서 핵심적인 부분!
    • 고품질의 이미지-텍스트 쌍을 얻기 위해 전통적인 필터를 사용 (해상도, OCR 정확도, 얼굴 수, 미적 점수, 명료성, …)
    • 5단계로 품질을 구분하며 주관적 편향 제거를 위해 각 이미지에 대해 3번의 주석을 달고 최종적으로 투표 과정을 통해 결정
    • 이미지 단계의 특징은 다음과 같음
      • 1단계: 포르노, 폭력성, 잔인함, 공포와 같이 안전하지 않은 컨텐츠
      • 2단계: 인공적인 합성의 표시가 있는 이미지: 로고, 워터마크, 하얀색이나 검은색 경계 등
      • 3단계: 블러, 노출 부족, 노출 과다, 명확하지 않은 이미지
      • 4단계: 일반적인 스냅샷 사진 같은 평범한 사진
      • 5단계: 높은 미적 품질을 가진 사진 → 적절한 노출, 대조, 색의 특성을 가지면서 서사를 전달
    • 품질 개선 단계에서는 5단계의 높은 미적 품질을 가지는 이미지를 사용

2.2.2. Training on High Resolutions

  • 확산 모델은 고해상도 이미지에 대해 때로 순방향 확산 과정 (forward diffusion process)에서 이미지의 붕괴가 발생하는 성능 저하가 가끔 발생
  • 그림 4를 보면 SDXL에서 제공된 스케줄에 따라 노이즈가 추가되는 과정을 확인할 수 있음
  •  
    • 저해상도 이미지의 경우 최종적으로 거의 순수한 노이즈에 가깝게 되지만 고해상도 이미지의 경우 최종 단계에서도 낮은 주파수로 (low frequency) 요소가 유지됨
    • 모델은 추론 단계에서 순수한 가우시안 노이즈부터 시작해야하므로 이런 고해상도에서의 학습과 추론에 대한 차이가 성능 저하를 가져올 수 있음
  • Kolors를 위해서 DDPM 기반의 학습 방법에 엡실론 예측 objective를 사용
    • 컨셉 학습을 위한 저해상도의 학습 단계에서는 SDXL과 동일한 스케줄 사용
    • 고해상도 학습에서는 새로운 스케줄을 사용 → 단순히 스텝의 수를 기존 1,000에서 1,100으로 확장
    • $\beta$의 값을 조절하여 $\bar{\alpha_t}$ 커브의 모양을 유지 → $\bar{\alpha_t}$는 $x_t = \sqrt{\bar{\alpha_t}} x_0 + \sqrt{1-\bar{\alpha_t}}\epsilon$을 결정
    • 그림 5에서 살펴볼 수 있듯이 $\bar{\alpha_t}$의 경로는 기본 스케줄의 경로를 완전히 포함 → 타 기법의 경로는 편차를 보임
  • 그림 6을 확인하면 최적화된 고해상도 학습 기법을 사용하여 고품질 학습 데이터 기반 학습을 수행했을 때 생성 이미지의 품질이 크게 향상된 것을 확인할 수 있음
  •  
    • 또한 다양한 비율의 이미지를 생성할 수 있도록 학습 과정에서 NovelAI의 bucketed sampling 기법을 사용
    • 다른 해상도로 생성된 이미지 결과는 그림 1그림 9에서 살펴볼 수 있음

3. Evaluations

  • Kolors의 생성 능력 평가를 위해 3가지 평가 지표를 사용
    • KolorsPrompt: 다양한 카테고리와 문제들을 포함하는 프롬프트 세트
    • Multi-dimensional Preference Score (MPS)
    • FID

3.1. KolorsPrompt

  • text-to-image 생성 모델을 평가하기 위해 벤치마크인 KolorsPrompt 공개
    • PartiPrompts, ViLG-300 등의 공공 데이터와 몇몇 사설 데이터로부터 구성한 수천개의 프롬프트
    • 실생활의 14개의 시나리오 (e.g. 사람, 음식, 동물, 예술 등)를 포함
    • KolorsPrompt를 프롬프트의 특성에 따라 12개의 문제로 분류
  • KolorsPrompt의 분포는 그림 7에서 살펴볼 수 있음
  •  
    • 왼쪽은 KolorsPrompts의 카테고리 분포를 나타냄 → 사람 (People)이 가장 많은 29.4%를 차지
    • 오른쪽은 문제의 분포를 나타냄 → 단순한 단어 (Simple words)가 가장 많은 30.9%를 차지

3.2. Human Evaluation

  • 모델 성능 평가를 위해 3가지 사람 평가 지표를 사용
    • 시각적 매력도 (Visual Appeal)
      • 색, 모양, 텍스쳐 등 다양한 시각적인 요소들을 고려한 생성 이미지의 미적 품질을 평가
      • 동일 프롬프트를 기반으로 다른 모델로 이미지를 생성 → 평가자에게 텍스트는 보여주지 않음 → 시각적인 부분에 대한 평가에 집중
      • 점수는 1-5 범위로 평가 → 5는 완벽한 이미지, 1은 낮은 품질의 이미지
    • 텍스트 신뢰도 (Text Faithfulness)
      • 얼마나 생성된 이미지가 프롬프트를 정확하게 따르는지 평가
      • 이미지의 품질과는 상관없이 오직 텍스트 설명과 이미지에만 집중
      • 점수는 1-5의 범위로 평가
    • 전체적인 만족도 (Overall Satisfaction)
      • 이미지의 전체적인 평가를 나타냄
      • 프롬프트와 이미지와 함께 표시됨
      • 평가자는 이미지의 품질, 시각적 매력도, 프롬프트와 이미지 간의 일치도 등을 평가
  • 평가 조건
    • 모델은 프롬프트 당 4개의 이미지를 생성하여 평가됨
    • 50명의 프로 리뷰어가 각 이미지를 구체적인 가이드라인과 함께 5번 평가
    • 최종 점수는 5번의 평가 점수를 평균냄
    • 각 이미지는 1024x1024 해상도로 랜더링
    • 대조군 모델: Adobe Firefly, DALL-E 3, Stable Diffusion 3, Midjourney-v5, Midjourney-v6, Playground-v2.5
    • 프롬프트는 영어를 사용
  • 구체적인 결과는 그림 8에서 살펴볼 수 있음 → 가장 높은 전체적 만족도를 달성하였으며 Midjourney-v6와 유사한 성능 달성
  •  
    • Kolors가 시각적 매력도 부분에서 뛰어난 성능을 보임
  • Kolors의 추가적인 결과들은 그림 9에서 살펴볼 수 있음

3.3. Automatic Evaluation Benchmark

3.3.1. Multi-Dimensional Human Preference Score (MPS)

  • 현재 text-to-image 모델을 평가하기 위한 지표들은 대부분 특정에만 의지 (e.g. FID, CLIP Score) → 사람의 선호를 나타내기 어려움
  • Multi-Dimensional Human Preference Score (MPS)가 제안됨 → 다양한 측면에서 사람의 선호를 평가하고 text-to-image 모델의 효율성을 나타냄
  • MPS의 결과는 표 3에서 살펴볼 수 있음
  •  
    • Kolors가 사람 평가와 일치하는 높은 성능을 달성
    • 해당 일치도는 KolorsPrompts 벤치마크를 사용했을 때 사람의 선호와 MPS 점수 사이에 높은 관계성이 있다는 것을 나타냄

3.3.2. Fidelity Assessment on COCO Dataset

  • Kolors 모델을 text-to-image의 표준 평가 지표를 통해 평가 수행 → MS-COCO 256x256 검증 데이터를 사용하여 Zero-shot FID-30K 지표를 도출
  • 결과는 표 4의 내용을 참고
  •  
    • Kolors는 약간 높은 FID 점수를 달성하여 좋지 못한 결과를 보임
    • 하지만 많은 연구들이 COCO를 이용한 zero-shot FID는 시각적인 미적 품질과 음의 상관관계가 있다는 것을 보임
    • 이에 따라 본 논문에서는 text-to-image 모델의 성능 평가는 통계적인 지표보다 사람의 측정이 더 정확하다고 주장
    • 이에 따라 실제 사람의 선호와 일치하는 MPS 같은 자동 평가 시스템이 구축되어야한다는 필요성을 강조

4. Conclusions

  • 본 논문에서는 U-Net 구조 기반의 잠재 확산 모델인 Kolors 모델을 제안
  • General Language Model (GLM)과 CogVLM에 의해 생성된 상세한 캡션을 사용하여 복잡한 문맥에 대한 이해도를 높이고 다수의 객체, 텍스트 랜더링 능력 등을 향상시킴
  • Kolors는 두 단계로 학습됨 → 컨셉 학습 단계, 품질 개선 단계
  • 높은 수준의 미적 데이터와 고해상도 이미지 생성을 위한 새로운 스케줄을 사용 → 고해상도 이미지에서 시각적인 품질을 크게 향상시킴
  • 카테고리에 대한 균형이 잡힌 KolorsPrompt 벤치마크를 사용하여 text-to-image 모델을 평가
  • Kolors가 사람 평가에서 뛰어난 성능을 보임 → Stable Diffusion 3, Playground-v2.5, DALL-E 3 등 대부분의 오픈소스 성능을 능가하며 Midjourney-v6과 유사한 성능을 보임
  • 추후 수행할 것
    • Kolors에 대한 다양한 플러그인 공개 → ControlNet, IP-Adapter, LCM, …
    • Transformer 구조 기반의 새로운 확산 모델 공개