AI 이미지/Stable Diffusion

스테이블 디퓨전 3 - 상세 기능

하늘이푸른오늘 2024. 3. 7. 15:42

스테이블 디퓨전(Stable Diffusion) 3가 발표되고, 이 모델에 대한 상세한 내용을 담은 연구논문이 공개되었습니다. 이 모델은 아직 사용할 수 없지만, 미리 시험하기 원하신다면 대기자명단에 등록하실 수 있습니다.

스테이블 디퓨전 3 모델이란?

스테이블 디퓨전은 Stabiltity AI에서 공개한 최신의 텍스트-이미지(text-to-image) AI 모델입니다. 그런데, 기존의 v1 모델이나 SDXL 모델과는 달리, 8억개 에서 80억개의 매개변수를 가지는 여러 모델의 집합입니다. 즉, 가장 작은 모델은 스테이블 디퓨전 1.5(10억) 보다 조금 작고, 가장 큰 모델은 스테이블 디퓨전 XL(SDXL, 66억(base) + refiner)보다 약간 큽니다.

제품 설계는 대형 언어모델(LLM, large language model) 분야의 트렌드를 따르고 있습니다. 즉, 구글, 메타, Antropic 등에서는 여러가지 사용 분야별로 다양한 크기의 기초 모델을 출시하는 경향을 따른 것입니다.

스테이블 디퓨전 3 모델은 상업용으로 사용할 수 있지만, 무료는 아닙니다. 유로 멤버십 프로그램에 가입해야 사용할 수 있는데, 현재 소규모 기업에게는 매우 저렴한 수준입니다.

스테이블 디퓨전 3 모델의 장점

텍스트 생성 능력 향상

스테이블 디퓨전에서 텍스트 렌더링은 오랫동안 단점으로 꼽혔습니다. 특히 Stable Diffusion 1.5에서는 텍스트 렌더링이 거의 불가능했죠.

SDXL이 나오면서 상당히 텍스트가 잘 생성이되었고, 스테이블 캐스케이드에서도 괜찮은 성능을 보여주었지만, 사실 철자가 잘못된다던지 하는 오류가 자주 발생해서, 상당히 많은 이미지를 생성해서 골라 써야 했었죠. 특히 긴 문장은 거의 불가능했고요.

그런데, 스테이블 디퓨전 3는 엄청나게 텍스트 생성이 잘됩니다. 아래의 예를 보시죠.

Stable Diffusion 3 이미지(출처: Stability AI)

이 이미지를 보면 아주 긴 문장도 잘 생성될 뿐 아니라, 폰트도 조절할 수 있는 것으로 보입니다. 아직까지 사용해보지 못해서 판단하기는 힘들지만, 아주 기대가 됩니다.

프롬프트 이해도 향상

DALL-E 3와 SDXL의 비교에서 언급했던 것처럼, 스테이블 디퓨전의 여러 모델들은 DALL-E 3에 비하면 프롬프트를 이해하고 따르는 능력이 매우 떨어집니다. DALL-E 3 는 정확한 이미지 캡션을 사용하여 이미지를 학습시킴으로써, 프롬프트를 잘 따르게 된 것으로, DALL-E 3 의 주요한 혁신중 하나입니다.

제가 DALL-E 3와 SDXL의 비교에서 예상했던 것처럼, 결국 스테이블 디퓨전도 프롬프트 이해를 높이는 모델이 나오게 되었네요.

사용자 연구에서 Stable Diffusion 3는 프롬프트 이해 측면에서 DALL-E 3와 비등합니다(출처 : Stability AI)

아래는 스테이블 디퓨전 3 로 생성한 이미지의 예로서, 프롬프트를 이해하고 따르는 정도는 DALL-E 3와 거의 유사하다고 하니, 정말 상당히 기대가 되네요.

속도 및 배포

현재 제시된 성능에 따르면 24GB VRAM짜리 비디오 카드가 탑재된 PC 를 사용하면, 최대 크기의 SD3를 실행시킬 수 있습니다. 하지만, 공개된 후에는 많은 사람들이 여러가지 최적화를 동원함으로써 요구사항이 낮아질 것으로 기대합니다.

초기 벤치마크 테스트에 따르면, RTX 4090 비디오카드에서 1024x1024 이미지를 생성하는데 34초가 걸린다고 합니다(50 단계). 아마도 성능을 향상시킬 수 있는 여지가 많을 것으로 생각됩니다.

스테이블 디퓨전 3 이미지 (출처 : Stability AI)

안전

최신 스테이블 디퓨전 모델과 마찬가지로, 스테이블 디퓨전 3 모델도 NSFW(not safe for wife, 포르노) 이미지는 생성할 수 없을 가능성이 높습니다.

아울러 자신의 작품이 모델에 포함되지 않기를 원하는 예술가들은 자신의 작품을 제외시킬 수 있습니다. 이에 따라 적용할 수 있는 스타일은 줄어들겠지만, 오용될 가능성은 줄어들게 될 것입니다.

Stabliity AI 에서 딮 페이크(Deep Fake)에 대해 어떤 대책을 세우고 있는지는 잘 모르겠습니다. 현재와 같이 미디어 소비가 빠른 시대에서, 유명인에 대한 가상이미지를 이용한 잘못된 정보를 퍼뜨리는 것은 가장 우려할 만한 일입니다. DALL-E 3의 경우 사실적인 이미지를 생성하는 능력이 떨어져서 이러한 문제를 피해갈 수 있었습니다. 하지만 스테이블 디퓨전은 사실적이미지 생성에 뛰어난 성능을 발휘합니다. 이 문제에 대한 적절한 해결책이 마련되리라 기대합니다.

스테이블 디퓨전 3 이미지 (출처 : Stability AI)

스테이블 디퓨전 3 의 새로운 기능

잡음 예측기

스테이블 디퓨전 3에서 가장 큰 변화중 하나는 더 이상 SD 1, 2에서 사용하던 U-Net 잡음 예측기와 결별했다는 것입니다.

스테이블 디퓨전 3는 디퓨전 트랜스포머(Diffusion Transformer)를 반복하여 사용합니다. 이렇게 하면 대규모 언어모델(LLM, Large Language Model)에서 트랜스포모를 사용하는 것과 유사한 장점을 누릴 수 있습니다. 즉, 모델의 크기를 증가시킬 수록 예측 가능한 성능 향상을 얻을 수 있는 것입니다.

디퓨전 트랜스포머 블록(출처 :  Stability AI)

이 블록은 텍스트 프롬프트와 잠상(latent image)를 동일한 기반에 배치하는 흥미로운 구조를 가지고 있습니다. 이 아키텍처는 이미지 프롬프트와 같은 멀티모달(multi modal) 조건부여(conditioning)을 추가하는 데 좋을 것으로 보입니다.

샘플링

Stability AI 팀에서는 속도가 빠르면서도 고품질의 결과물을 얻기 위해 샘플링 방법을 연구하는데 상당한 노력을 기울였습니다. 스테이블 디퓨전 3 는 Retified Flow 샘플링을 사용합니다. 기본적으로 노이즈에서 선명한 이미지로 향하여, 가장 빠르게 도달할 수 있는 직선 경로입니다.

Stability AI 팀에서는 또한 경로의 중간부분을 샘플링하는 잡음 스케줄이 더 높은 품질의 이미지를 생성한다는 것을 발견했하고 합니다.

이에 따르면 샘플링 방법이 완전히 달라질 것 같은데, 경험상 기존의 샘플러를 사용해도 충분히 잘 작동 될 것으로 생각됩니다.

텍스트 인코더

스테이블 디퓨전은 1개의 텍스트 인코더(CLIP)를 사용하고고, SDXL은 2개의 인코더(CLIP과 OpenCLIP)을 사용합니다. 

반면 스테이블 디퓨전 3는 3개의 인코더를 사용합니다. ㅎㅎㅎ

  • OpenAI의 CLIP L/14
  • OpenCLIP bigG/14
  • T5-v1.1-XXL

맨 마지막은 상당히 용량이 크기 때문에, 텍스트를 생성하지 않을 경우에는 사용하지 않을 수도 있습니다.

더 나은 캡션

DALL-E 3의 특징 중 하나는 학습시 보다 정확한 캡션을 사용한다는 것입니다. 이 때문에 DALL-E 3는 텍스트 프롬프트를 이해하고 따르는 능력이 뛰어난 것입니다.

스테이블 디퓨전 3도 동일한 작업을 거쳤다고 합니다. 따라서 DALL-E 3와 비슷한 수준의 텍스트 프롬프트 이해도를 기대해도 좋을 것 같습니다.

참고 문헌