Stable Cascade: 단계적 접근 방식을 통한 효율적 Text-to-Image 생성 모델 (feat. Stability.AI)

PyTorchKR​:fire::kr: :thinking::speech_balloon:

  • 이미지 생성 분야에서 항상 놀라운 성과를 공개하는 Stability.AI가 이번에는 Stable Cascade를 공개했습니다. Würstchen 아키텍처를 기반으로 하였며 더 작은 잠재 공간(latent space)에서 동작한다는데... 생성 분야는 까막눈이라 그런지 하나도 모르겠네요:sweat_smile: GPT 모델의 소개를 함께 읽어보시죠! :rofl:
  • 이 글은 GPT 모델로 정리한 것으로, 잘못된 부분이 있을 수 있으니 글 아래쪽의 원문도 함께 참고해주세요! 읽으시면서 어색하거나 잘못된 내용을 발견하시면 덧글로 알려주시기를 부탁드립니다. :hugs:

Stable Cascade: 단계적 접근 방식을 통한 효율적 Text-to-Image 생성 모델

Stable Cascade: 단계적 접근 방식을  통한 효율적 Text-to-Image 생성

Stable Cascade 소개

Stable Cascade는 텍스트로부터 이미지를 생성하는 분야에서 혁신적인 발전을 나타내는 모델입니다. Stable Cascade는 Würstchen 아키텍처를 기반으로 하여, 텍스트로부터 이미지를 생성하는 새로운 접근 방식을 제공합니다. Cascade라는 이름에서 유추해볼 수 있듯이, 이 모델은 3단계의 단계적 과정을 통해 효율성, 품질 및 유연성을 크게 향상시킬 수 있는 구조로 설계되었습니다.

기존의 텍스트-이미지 생성 시에는 GAN(Generative Adversarial Network) 또는 VAE(Variational Auto-Encoder)를 주로 사용 합니다. GAN은 하나의 네트워크가 이미지를 생성하고 다른 하나가 평가하는 듀얼 네트워크 설정을 포함하여, 반복적으로 품질을 개선합니다. 반면, VAE는 입력을 잠재 공간(latent space)으로 인코딩한 다음, 출력으로 다시 디코딩하여 효율적인 이미지 생성을 허용합니다. 이러한 접근 방식은 복잡한 텍스트 설명을 정확하게 반영하는 이미지를 생성하는 데 종종 상당한 계산 자원이 필요하며 어려움을 겪을 수 있습니다.

Stable Diffusion은 대규모 데이터셋에서 학습된 딥러닝 모델을 사용하여 텍스트 설명을 기반으로 이미지를 생성합니다. 이 모델은 Latent Diffusion Models (LDM)을 기반으로 하며, 이미지를 잠재 공간(latent space)으로 압축한 다음, 텍스트 설명에 따라 이 잠재 공간을 조작하여 새로운 이미지를 생성합니다. Stable Diffusion의 주요 특징은 상대적으로 낮은 컴퓨팅 자원을 필요로 하면서도, 높은 품질의 이미지를 생성하는 능력입니다.

Stable Cascade는 Stable Diffusion의 기본 아이디어를 더 발전시킨 모델로, 텍스트에서 이미지로의 변환 과정을 세 단계의 캐스케이드(cascade)로 나눕니다. 이 세 단계는 각각 다른 기능을 수행하며, 모델의 핵심은 텍스트 입력을 기반으로 고해상도 이미지를 효율적으로 생성하는 것입니다. Stable Cascade의 독특한 점은 이러한 단계적 접근 방식을 통해 이미지 생성 과정에서 더 높은 압축률과 효율성을 달성한다는 것입니다. 이는 특히 하드웨어 자원이 제한된 환경에서 유용합니다.

모델 구조 및 주요 아이디어

Stable Cascade는 독특한 3단계의 모듈식 구조로 설계되어 있습니다. 각 단계(Stage C ~ A)는 텍스트 입력을 컴팩트한 24x24 잠재 표현으로 변환하는 잠재 생성기(Stage C)와 이러한 잠재물을 고해상도 이미지로 확장하는 잠재 디코더(Stages A & B)로 구성됩니다. 이렇게 각 단계를 분리함으로써, 학습 및 미세 조정 시 전례 없는 효율성과 유연성을 보입니다. 예를 들어, 사용자가 입력한 텍스트를 더 잘 이해하기 위해서는 Stage C만 독립적으로 파인튜닝할 수 있습니다.

이제 각 단계별 구조를 조금 더 상세히 살펴보겠습니다:

Latent Generator (Stage C)

Stage C(Latent Generator) 단계에서는 사용자의 텍스트 입력을 받아 이를 잠재 공간의 표현으로 변환합니다. 이 잠재 공간은 이미지의 추상적인 특성과 구조를 압축적으로 표현하는 고차원 벡터로, 24x24의 작은 크기를 갖습니다. Stage C의 주요 목표는 텍스트 설명을 기반으로 이미지의 "초안"을 생성하는 것으로, 이 과정에서 모델은 텍스트의 의미를 분석하고, 해당 의미를 이미지의 추상적인 표현으로 매핑합니다. 이 단계는 이미지 생성 과정에서 가장 중요한 개념적 기반을 형성합니다.

Intermediate Decoder (Stage B)

Stage B(Intermediate Decoder) 에서는 이전 Stage C에서 생성된 잠재 표현을 입력으로 받아, 이를 더 구체적인 이미지 특성으로 변환하는 과정을 담당합니다. Stage B는 잠재 공간의 추상적인 표현을 더 세밀한 이미지 요소로 디코딩하며, 이 단계에서 이미지의 텍스처, 색상, 그리고 일부 세부 사항이 추가됩니다.

Final Decoder (Stage A)

Stage A(Final Decoder) 단계는 Stable Cascade의 마지막 단계로, 이 단계에서는 Stage B에서 처리된 데이터를 받아 고해상도의 완성된 이미지로 변환합니다. 이 단계에서 이미지는 최종적인 세부 사항, 명암, 그리고 색상 조정을 거쳐 사용자의 원래 텍스트 설명에 가장 잘 부합하는 시각적 출력물로 완성됩니다.


Stable Cascade의 또 다른 기여는 모델의 소비자 등급 하드웨어에 대한 적응성입니다. 유사한 크기의 모델과 비교하여 훈련 비용을 16배 줄이고 다양한 매개변수 크기의 변형을 제공함으로써 Stable Cascade는 고품질의 텍스트-이미지 합성을 더 넓은 청중에게 접근 가능하게 만듭니다. 이러한 AI 도구의 민주화는 콘텐츠 생성, 연구 및 혁신을 가속화할 수 있는 더 넓은 범위의 응용 프로그램과 실험을 가능하게 합니다.


이러한 모듈식 접근 방식은 모델의 성능뿐만 아니라 적응성을 향상시키며, 사용자가 특정 작업이나 제약 조건에 맞게 모델을 사용자 정의할 수 있도록 합니다. 다양한 모델 크기의 가용성은 Stable Cascade의 유연성을 더욱 강조하며, 사용자가 하드웨어 능력과 품질 요구 사항에 가장 적합한 변형을 선택할 수 있도록 합니다.

Stable Diffusion과의 주요 차이점

  1. 아키텍처와 접근 방식: Stable Diffusion은 단일 모델을 사용하여 텍스트에서 이미지로의 변환을 직접 수행합니다. 반면, Stable Cascade는 텍스트 입력을 잠재 표현으로 변환하고, 이를 다시 이미지로 디코딩하는 세 단계의 프로세스를 사용합니다. 이러한 단계적 접근 방식은 효율성과 유연성을 크게 향상시킵니다.

  2. 효율성과 하드웨어 요구사항: Stable Cascade의 세 단계 접근 방식은 특히 하드웨어 자원이 제한된 경우에 유리합니다. 각 단계를 독립적으로 최적화할 수 있으며, 이는 전체 모델의 효율성을 높입니다. Stable Diffusion도 상대적으로 효율적이지만, Stable Cascade는 특히 더 낮은 하드웨어 요구사항으로 고품질의 이미지 생성이 가능합니다.

  3. 사용 용이성과 활용 가능성: Stable Cascade는 사용자가 각 단계를 독립적으로 조정하고 실험할 수 있도록 함으로써, 더 넓은 범위의 사용 사례와 실험에 적합합니다. 예를 들어, 특정 단계에서만 미세 조정을 수행하여 특정 유형의 이미지 생성에 최적화할 수 있습니다. Stable Diffusion은 이러한 유형의 유연성을 직접 제공하지 않습니다.

성능

Stable Cascade는 Text-to-Image, Image-to-Image, Image Variation, Inpainting / Outpainting, Face Identity, Canny, Super Resolution 등의 작업에 활용할 수 있어, 사용자가 창의적인 콘텐츠를 생성하고, 이미지를 효과적으로 변환하며, 시각적 표현을 풍부하게 할 수 있도록 지원합니다. 각 기능은 특정 작업에 최적화된 도구를 제공하며, 사용자는 이를 통해 복잡한 시각적 문제를 해결하고, 창의적인 아이디어를 실현할 수 있습니다.

또한, 품질, 효율성 및 유연성 측면에서 기존 모델을 능가하는 성능을 보입니다:

Stable Cascade 성능 #1

  • 고해상도 및 세부 사항: Stable Cascade는 매우 세밀하고 고해상도의 이미지를 생성할 수 있습니다. 이는 복잡한 텍스처, 정교한 색상 조화, 그리고 높은 수준의 세부 사항을 포함한 이미지를 제공합니다.

  • 정확한 텍스트-이미지 매칭: 사용자의 텍스트 입력에 대해 매우 정확하게 반응하여, 요청된 시나리오, 객체, 그리고 분위기를 잘 포착하고 시각화합니다.

  • 계산 자원 최적화: Stable Cascade는 효율적인 아키텍처를 통해 상대적으로 낮은 계산 자원으로 고품질의 이미지를 생성할 수 있습니다. 이는 사용자가 보다 저렴한 하드웨어에서도 고성능의 이미지 생성 작업을 수행할 수 있게 합니다.

  • 빠른 처리 시간: 이미지 생성 과정이 최적화되어 있어, 복잡한 이미지도 빠르게 생성할 수 있습니다. 이는 특히 대규모 이미지 생성 작업이나 실시간 응용 프로그램에 유용합니다.

Stable Cascade의 성능 - Text-to-Image:

Stable Cascade의 성능 - Image Variation

  • 이미지 변형의 다양성: Stable Cascade는 단순한 텍스트-이미지 변환뿐만 아니라 이미지-이미지 변환, 이미지 변형, 슈퍼 해상도 등 다양한 기능을 제공합니다. 이를 통해 사용자는 창의적인 콘텐츠를 다양한 방식으로 생성하고 수정할 수 있습니다.

Stable Cascade의 성능 - Face Identity

Stable Cascade의 성능 - Canny

  • 사용자 정의 가능성: 다양한 파라미터와 설정을 조정함으로써 사용자는 생성되는 이미지의 스타일, 해상도, 그리고 다른 특성을 세밀하게 제어할 수 있습니다.

Stable Cascade 성능 #3

  • 정교한 입력 처리: Stable Cascade는 복잡하고 상세한 텍스트 설명을 효과적으로 처리하고 이를 시각적 요소로 정확하게 변환할 수 있는 능력을 갖추고 있습니다. 이는 사용자가 원하는 정확한 이미지 결과를 얻을 수 있게 합니다.

  • 적응성: 다양한 스타일, 장르, 그리고 주제에 걸쳐 효과적으로 작동하며, 사용자의 다양한 요구사항과 창의적인 아이디어를 수용할 수 있습니다.

더 읽어보기

Stability.AI의 소개 글

GitHub 저장소

Würstchen 논문




:fire:파이토치 한국 사용자 모임:kr:이 정리한 이 글이 유용하셨나요? 회원으로 가입하시면 주요 글들을 이메일:love_letter:로 보내드립니다! (기본은 Weekly지만 Daily로 변경도 가능합니다.)

:gift: 아래:arrow_lower_right:쪽에 좋아요:heart:를 눌러주시면 뉴스 발행에 힘이 됩니다~ :star_struck:

하지만 Stable Cascade는 최소 8GB의 VRAM을 요구하더군요. 그래서 설치도 못했습니다. SDXL은 6GB에서도 잘 돌아가는데 말입니다.