글 작성자 |Miao Zheng
얼마 전 출시된 소라, Stable AI 출시 Stable 확산 3. 크리에이티브 디자인에 AI를 사용하는 사람들에게는 확실히 큰 한 해였습니다. 이번 포스팅에서는 이러한 사용자를 위해 Stable Diffusion 3의 두 가지 기능인 '확산 트랜스포머 모델'과 '흐름 매칭'에 대해 보다 쉬운 단어로 설명하여 모델 출시 후 창작에 더 잘 활용할 수 있도록 돕고자 합니다. 모델이 출시된 후 더 잘 활용할 수 있도록 도와드리겠습니다.
약칭 DiT라고 하는 확산 트랜스포머는 트랜스포머 아키텍처에 기반한 이미지의 잠재 변수 확산 모델입니다. 트랜스포머 아키텍처에 기반한 이미지의 잠재 변수 확산 모델입니다. 실리콘 플래닛 프로의 글 "Sora: 비디오 이해와 물리적 세계 서핑을 위한 빅 언어 모델링 접근법"을 읽어보셨다면 이미 DiT의 기능에 대해 잘 알고 계실 것입니다. Sora와 마찬가지로 "패치"라는 개념을 사용하지만, DiTs는 이미지를 생성하는 데 사용되므로 Sora처럼 프레임 간의 논리적 연결을 유지할 필요가 없으므로 시간적, 공간적 블록을 생성할 필요가 없습니다.
<그림>
< 그림캡션 style="text-align: 가운데;">
안정적인 확산 3세대DiT의 경우 4~5년 전 컴퓨터 비전 분야를 강타한 비전 트랜스포머(ViT)와 유사하며, 이미지를 DiT로 패치로 분할하고 연속 벡터 공간에 삽입하여 트랜스포머가 처리할 입력 시퀀스를 형성한다는 점에서 유사합니다. 그러나 여기서 한 가지 주의해야 할 점은 조건부 이미지 생성 작업의 경우 DiT가 카테고리 레이블이나 텍스트 설명과 같은 외부 조건부 정보를 수신하고 융합해야 한다는 것입니다. 이는 일반적으로 모델이 주어진 조건 정보를 기반으로 생성 프로세스를 안내할 수 있도록 추가 입력 라벨링 또는 교차 주의 메커니즘을 제공함으로써 달성할 수 있습니다.
그런 다음 블록이 DiT 내부에 도착하면 DiT의 핵심이자 확산 모델에 사용하도록 설계된 특수 트랜스포머 구조인 DiT 블록에서 처리할 수 있습니다. 이미지와 조건부 정보를 처리할 수 있습니다. 일반적으로 블록 자체는 블록으로 번역되지만 패치와 구분하기 위해 여기서는 그냥 블록으로 사용하겠습니다.
<그림>
안정적 확산 3세대DiT 블록은 교차 주의, adaLN, adaLN-Zero의 세 가지 하위 블록으로 세분화됩니다. 크로스 어텐션은 멀티 헤드 자체 어텐션 레이어 뒤에 멀티 헤드 크로스 어텐션 레이어를 추가하는 것으로, 조건 정보를 사용하여 이미지 생성을 유도함으로써 생성된 이미지가 큐워드와 더 잘 일치하도록 하는 역할을 하지만 약 15%의 계산 비용이 더 듭니다.
adaLN의 LN은 신경망 각 계층의 내부 단위의 출력을 정규화하여 내부 공변량 이동(covariate shift) 문제를 줄여 모델 학습 중 수렴 속도와 성능을 향상시키는 것을 말합니다. adaLN은 표준 레이어 정규화의 확장으로, 입력 데이터나 추가 조건 정보에 따라 레이어 정규화의 파라미터를 동적으로 조정할 수 있습니다. 이는 자동차의 서스펜션과 같은 방식으로 사용되어 모델의 안정성과 적응성을 높입니다.
<그림>
< 그림캡션 style="text-align: 가운데;">
안정적인 확산 3세대다음으로, Stable AI는 γ 및 β 외에도 차원 수준 스케일링 파라미터 α를 회귀시키고, DiT 블록 내에서 잔여가 연결되기 바로 전에 이 파라미터를 적용함으로써 adaLN DiT 블록을 개선합니다. 이 하나의 블록은 adaLN-Zero이며, 이는 잔여 네트워크의 유익한 초기화 전략을 모방하여 모델의 효율적인 훈련과 최적화를 용이하게 하기 위해 수행됩니다.
DiT 블록 이후, 토큰 시퀀스는 출력 노이즈 예측과 출력 대각선 공분산 예측으로 디코딩됩니다. 표준 선형 디코더를 사용하면 이 두 예측은 입력 이미지의 크기와 공간 차원이 동일합니다. 마지막 단계는 이렇게 디코딩된 토큰을 원래의 공간 레이아웃으로 재배열하여 예측된 노이즈와 공분산 값을 얻는 것입니다.
<그림>
< 그림캡션 style="text-align: 가운데;">
안정적인 확산 3세대2장, 플로우 매칭(이하 FM). Stable AI에 따르면, 일반 확률적 경로를 사용하여 CNF 모델 훈련 과정을 감독할 수 있는 효율적이고 시뮬레이션이 필요 없는 CNF 모델 훈련 접근 방식입니다. 특히 FM은 확산 과정에 대한 심층적인 이해 없이도 확률적 경로를 직접 조작할 수 있어 기존 훈련의 문제점을 우회함으로써 확산 모델 외부에서 확장 가능한 CNF 훈련의 장벽을 허물어뜨립니다.
이것이 바로 연속 정규화 흐름(CNF)입니다. 이는 딥러닝의 확률론적이고 생성적인 모델링 기법입니다. CNF에서는 일련의 가역적이고 연속적인 변환을 통해 단순한 확률 분포가 복잡한 고차원 데이터에 대한 확률 분포로 변환됩니다. 이러한 변환은 일반적으로 신경망에 의해 매개변수화되어 원래의 무작위 변수가 연속적인 변환 후 목표 데이터 분포를 시뮬레이션할 수 있도록 합니다. 쉽게 설명하자면, CNF는 주사위를 굴리는 것처럼 데이터를 생성합니다.
<그림>
< 그림캡션 style="text-align: 가운데;">
안정적인 확산 3세대하지만 CNF는 실제로 많은 연산 자원과 시간이 필요하기 때문에, 스테이블 AI는 'CNF와 거의 동일한 결과를 내면서도 프로세스가 안정적이고 연산 노력이 적게 드는 다른 방법이 없을까'라는 고민을 했습니다. 그래서 탄생한 것이 FM이며, FM의 핵심은 이 분포의 구체적인 수학적 표현이나 해당 생성 벡터장을 미리 알지 못하더라도 주어진 데이터 분포의 진화 과정에 적응하고 시뮬레이션하도록 CNF 모델을 훈련하는 데 사용되는 기법입니다. FM 목적 함수를 최적화함으로써 모델이 실제 데이터 분포에 근사한 확률 분포를 가진 벡터 필드를 생성할 수 있도록 점진적으로 학습하도록 할 수도 있습니다.
CMF와 비교할 때 FM은 최적화 방법으로 간주되어야 하며, 그 목표는 이상적인 목표 확률 경로의 벡터 필드에 최대한 가까운 벡터 필드를 생성하도록 CNF 모델을 훈련시키는 것입니다.
<그림>
< 그림캡션 style="text-align: 가운데;">
안정적인 확산 3세대스테이블 디퓨전 3의 두 가지 핵심 기술적 특징을 살펴보면 실제로 소라와 매우 유사하다는 것을 알 수 있습니다. 두 모델 모두 트랜스포머 모델이고(이전에는 스테이블 디퓨전은 U-Net을 사용했습니다), 블록을 사용하며, 획기적인 안정성과 최적화를 갖추고 있고, 둘 다 매우 가까운 시기에 태어났다고 해도 지나친 과장이 아닐 정도로 닮았다고 생각합니다.
그러나 두 형제 사이에는 한 가지 근본적인 차이점이 있는데, 바로 Sora는 클로즈드 소스이고 Stable Diffusion 3는 오픈 소스라는 점입니다. 사실 미드저니와 DALL-E는 클로즈드 소스지만, 스테이블 디퓨전은 오픈 소스입니다. 오픈소스 AI를 따라가다 보면 오픈소스 커뮤니티가 오랫동안 뚜렷한 돌파구 없이 어려움을 겪고 있고, 많은 사람들이 신뢰를 잃었다는 것을 알 수 있을 것입니다.Stable Diffusion 2와 Stable Diffusion XL은 생성된 이미지의 미학만 개선한 반면, Stable Diffusion 1.5는 이미 스테이블 디퓨전 1.5는 이미 이 기능을 제공합니다. Stable Diffusion 3의 혁신적인 개선 사항을 보면 오픈 소스 커뮤니티에 대한 많은 사람의 신뢰가 회복될 것입니다.
<그림>
< 그림캡션 style="text-align: 가운데;">
안정적인 확산 3세대스테이블 AI의 CEO 모하마드 에마드 모스탁(মোহম্ম দ ইমাদ মোশতাক)는 트윗을 통해 다음과 같이 말했습니다. Stable AI는 이 분야의 다른 회사보다 100배나 적은 리소스를 가지고 있지만, 아직 발표할 수 있는 것은 많지 않지만 Stable Diffusion 3 아키텍처는 이미 비디오와 이미지 이외의 콘텐츠를 수용할 준비가 되어 있습니다.
이미지와 동영상은 이해할 수 있지만 "기타" 콘텐츠는 무엇을 의미하나요? 사실 제가 생각할 수 있는 것은 소리에서 그림을 생성하는 오디오뿐입니다. 조금 헷갈리지만 Stable AI의 최신 연구 결과가 발표되는 대로 확인해 보도록 하겠습니다.
<그림>
< 그림캡션 style="text-align: 가운데;">
안정적인 확산 3세대