NL-324, Janus: Decoupling Visual Encoding for Unified Multimodal Understanding and Generation, CVPR 2024

◼ Comment

  • 2024년 논문이라, 아마 이런 시도중 되게 초창기 논문이 아니었을까 싶다.
  • 이 논문의 기여중 하나는 비전 인코더를 2개 썼다는 점이다.
    • 비전 이해에는, siglip 인코더로 뽑은 high-dimensional semantic features을 사용
    • 비전 생성에는 VQ 토크나이저로 뽑은 discrete token을 사용한다는 것
    • 텍스트야 뭐, 원래쓰던 토크나이저를 쓴 것이고
    • 이렇게 비전에서 사용될 테스크에 따라 다른것을 쓰는게 좋다라고 4.5 ablation에서 보여주긴 함
    • 그리고 이전 모델에서 이를 분리안하면 이해vs생성간의 성능이 서로에게 trade-off인 결과를 보여줬었나 봄?
    • 여기서는 이 두 개의 비전 인코더가 아예 초기상태가 관련이 없는데, manzano에서는 이를 같이 학습된 것을 사용하는 식으로 발전되긴 함
  • 또 다른 기여중 하나로 보이는 것은 학습 절차이다
    • 3.2 섹션에서 보면, 3개의 스테이지로 나눠서 학습되는데
    • 1. encoder, adaptor, generation gead 학습
    • 2. 멀티모달 pretraining으로 모든 파라미터 학습
    • 3. 멀티모달 SFT로 generation encoder 뺀 파라미터 학습
    • 여기서 왜 이렇게 했는지에 대한, 혹은 ablation은 설명이 안되서 아쉽
    • 학습 objective는 next token prediction 느낌으로 학습
  • 비전 생성에서, 생성된 비전 토큰에서 이미지로 변환하는 것은 사전에 학습되는 것으로
    • 이미지 VQ 인코더(생성용) 학습할때 같이 되는 거를 사용한 듯
  • 추론할때
    • 3.4섹션에서 추론하는 classifier-free guidance 방법은 새롭게 안 지식으로 그럴싸한 듯
    • 환각분야에서 context 주고 없애고 간의 logit 차이를 이용하는 것과 거의 똑같긴 함

Abstract

본 논문에서는 멀티모달 이해와 생성을 통합하는 자기회귀적 프레임워크인 Janus를 제안한다. 기존 연구들은 Chameleon과 같이 두 과제를 모두 처리하기 위해 단일 시각 인코더에 의존하는 경우가 많았다. 그러나 멀티모달 이해와 생성은 요구되는 정보의 세분화 수준이 서로 다르기 때문에, 이러한 접근은 특히 멀티모달 이해 성능에서 비최적의 결과를 초래할 수 있다.
이 문제를 해결하기 위해, 우리는 시각 인코딩을 서로 분리된 경로로 나누되, 처리는 단일하고 통합된 트랜스포머 아키텍처를 활용하도록 설계한다. 이러한 분리는 시각 인코더가 이해와 생성에서 수행해야 하는 역할 간의 충돌을 완화할 뿐만 아니라, 프레임워크의 유연성 또한 향상시킨다. 예를 들어, 멀티모달 이해와 생성 구성 요소는 각각 자신에게 가장 적합한 인코딩 방식을 독립적으로 선택할 수 있다.
실험 결과, Janus는 기존의 통합 모델들을 능가하며, 과제 특화 모델들과 비교해도 동등하거나 더 우수한 성능을 달성함을 보였다. Janus의 단순성, 높은 유연성, 그리고 효과성은 차세대 통합 멀티모달 모델을 위한 강력한 후보로서의 가능성을 보여준다.

1. 서론 (Introduction) 

최근 몇 년간, 멀티모달 대규모 모델은 이해(understanding)와 생성(generation) 두 영역 모두에서 유의미한 발전을 이루어 왔다 [20, 51]. 멀티모달 이해 분야에서는, 연구자들이 LLaVA [51]의 설계를 따라 비전 인코더를 다리(bridge)로 사용함으로써 대규모 언어 모델(LLM)이 이미지를 이해할 수 있도록 한다. 시각 생성 분야에서는, 확산(diffusion) 기반 접근법 [9, 20, 20, 67]이 눈에 띄는 성공을 거두어 왔다. 더 최근에는, 일부 연구들이 시각 생성을 위한 자기회귀(autoregressive) 방법 [73, 79]을 탐구하여 확산 모델과 견줄 만한 성능을 달성하였다. 보다 강력하고 범용적인 멀티모달 모델을 구축하기 위해, 연구자들은 멀티모달 이해와 생성 과제를 결합하려고 시도해 왔다 [75, 77, 94]. 예를 들어, 일부 연구는 멀티모달 이해 모델을 사전학습된 확산 모델과 연결하려 시도하였다 [27, 28, 75]. 예컨대 Emu [75]는 LLM의 출력을 사전학습된 확산 모델의 조건(condition)으로 사용하고, 이후 확산 모델에 의존해 이미지를 생성한다. 그러나 엄밀히 말하면, 이러한 접근은 진정한 통합(unified) 모델로 간주될 수 없다. 시각 생성 기능이 외부 확산 모델에 의해 처리되는 반면, 멀티모달 LLM 자체는 이미지를 직접 생성할 수 있는 능력이 없기 때문이다.

다른 접근들 [77, 85, 86, 94]은 단일 트랜스포머를 사용해 멀티모달 이해와 생성 과제를 모두 통합한다. 이는 시각 생성에서의 지시(instruction) 따르기 능력을 향상시키고, 잠재적인 발현 능력(emergent abilities)을 열어 주며, 모델 중복성을 줄이는 데 도움이 된다. 이러한 방법들은 일반적으로 단일 비전 인코더를 사용해 두 과제 모두의 입력을 처리한다. 그러나 멀티모달 이해와 생성 과제가 요구하는 표현(representation)은 서로 크게 다르다. 멀티모달 이해 과제에서 비전 인코더의 목적은 이미지 내 객체 범주(object categories)나 시각적 속성(visual attributes)과 같은 고수준 의미 정보를 추출하는 것이다. 

이해 과제의 출력은 이미지로부터 정보를 추출하는 것뿐 아니라 복잡한 의미적 추론(semantic reasoning)도 포함한다. 

  • 따라서 비전 인코더 표현의 세분성(granularity)은 주로 고차원 의미 표현(high-dimensional semantic representation)에 초점을 맞추는 경향이 있다. 
반면, 시각 생성 과제에서 핵심은 이미지의 국소적 디테일을 생성하고 전역적 일관성(global consistency)을 유지하는 것이다. 

  • 이때의 표현은 미세한 공간 구조와 질감 디테일을 표현할 수 있는 저차원 인코딩(low-dimensional encoding)을 필요로 한다. 
이 두 과제의 표현을 동일한 공간 내에서 통합하면 충돌과 트레이드오프가 발생한다. 그 결과, 기존의 멀티모달 이해·생성 통합 모델들은 종종 멀티모달 이해 성능을 타협하게 되며, 최첨단 멀티모달 이해 모델들에 비해 성능이 현저히 뒤처진다. 

우리는 이 문제를 어블레이션 스터디에서 더 탐구한다.

이 문제를 해결하기 위해, 우리는 멀티모달 이해와 생성을 위해 **시각 인코딩을 분리(decouple)**하는 통합 멀티모달 프레임워크 Janus¹를 제안한다. 구체적으로, 우리는 두 개의 독립적인 시각 인코딩 경로—하나는 멀티모달 이해를 위한 것이고 다른 하나는 멀티모달 생성을 위한 것—를 도입하되, 이를 동일한 트랜스포머 아키텍처로 통합하여 처리한다. 

제안 방법은 두 가지 주요 이점을 제공한다. 

  • (1) Janus는 멀티모달 이해와 생성이 요구하는 서로 다른 세분성 요구로부터 비롯되는 충돌을 완화하며, 시각 인코더를 선택할 때 두 과제 사이에서 트레이드오프를 할 필요를 제거한다. 
  • (2) Janus는 유연하고 확장 가능하다. 분리 이후, 이해와 생성 과제는 각자의 도메인에 특화된 최신 인코딩 기법을 채택할 수 있다. 
더 나아가 Janus는 향후 포인트 클라우드, EEG 신호, 오디오 데이터 등과 같은 추가 입력 타입을 수용할 수도 있는데, 이 경우 독립 인코더가 특징을 추출한 뒤 동일한 통합 트랜스포머를 사용해 이를 처리하면 된다.

우리가 아는 한, 본 연구는 통합 멀티모달 이해·생성 프레임워크에서 시각 인코딩을 분리하는 것의 중요성을 처음으로 강조한다. 

  • 여기서 vision encoder을 discrete / continuous 나누는 것을 처음으로 제안했나봄?

실험 결과, Janus는 멀티모달 이해와 생성 벤치마크 모두에서 유사한 파라미터 규모의 기존 통합 모델들을 능가하며, 최신(state-of-the-art) 결과를 달성한다. 

특히 Janus는 (그림 1에서 보이듯) 파라미터 수가 훨씬 많은 일부 과제 특화 모델들보다도 더 나은 성능을 보인다. 구체적으로, 멀티모달 이해 벤치마크인 MMBench [54], SEED-Bench [42], POPE [48]에서 Janus(1.3B)는 각각 69.4, 63.7, 87.0의 점수를 기록하여 LLaVA-v1.5(7B) [50] 및 Qwen-VL-Chat(7B) [3]을 능가하였다. 시각 생성 벤치마크인 MSCOCO-30K [11]와 GenEval [30]에서는 Janus가 FID 8.53과 정확도 61%를 달성하여 DALL-E 2 [66], SDXL [62]과 같은 텍스트-이미지 생성 모델들을 상회하였다. 우리는 강력한 성능과 더불어 Janus의 높은 유연성과 확장성이, Janus를 차세대 통합 멀티모달 모델을 위한 강력한 후보로 제시한다고 믿는다.

2. 관련 연구 (Related Work)

2.1. 시각 생성 (Visual Generation)

시각 생성은 자연어 처리 분야의 개념과 트랜스포머 아키텍처의 발전을 결합한, 빠르게 진화하고 있는 연구 분야이다. 언어 처리에서의 성공에 영향을 받은 자기회귀(autoregressive) 모델들은 트랜스포머를 활용하여 이산적인 시각 토큰 시퀀스(codebook ID)를 예측한다 [24, 65, 75]. 이러한 모델들은 시각 데이터를 토큰화(tokenization)한 뒤, GPT 스타일 [64] 기법과 유사한 방식으로 예측을 수행한다.

또 다른 계열로는 마스크드 예측(masked prediction) 모델 [7, 8]이 있으며, 이는 BERT 스타일 [19]의 마스킹 기법을 차용해 시각 입력의 일부를 가린 뒤 이를 예측함으로써 합성 효율을 향상시킨다. 이러한 접근은 비디오 생성에도 확장 적용되었다 [89].

한편, 연속형 확산(diffusion) 모델들은 확률적 관점에서 생성을 수행함으로써 시각 생성에서 뛰어난 성능을 보여주었으며 [33, 67, 71], 이산(discrete) 방식의 접근법을 보완하는 역할을 한다.

2.2. 멀티모달 이해 (Multimodal Understanding)

멀티모달 대규모 언어 모델(MLLM)은 텍스트와 이미지를 함께 통합하는 모델들이다 [6, 80, 81]. 사전학습된 대규모 언어 모델(LLM)을 활용함으로써, 다양한 MLLM들 [1, 2, 12, 51, 55, 82, 95]은 멀티모달 정보를 이해하고 처리하는 데 있어 강력한 능력을 보여주었다. 최근의 연구들은 이미지 생성을 가능하게 하기 위해, 사전학습된 확산 모델을 MLLM에 결합하는 방향을 탐구하였다 [27, 29, 36, 75, 76]. 이러한 방법들은 도구 활용(tool utilization) 범주에 속하며, 확산 모델이 MLLM이 출력한 조건(condition)을 기반으로 이미지를 생성하는 구조를 취한다. 이 경우, MLLM 자체는 시각 생성을 직접 수행할 수 있는 능력을 갖고 있지 않다. 더 나아가, 전체 시스템의 생성 능력은 외부 확산 모델에 의해 제한되며, 그 결과 확산 모델을 단독으로 사용하는 것보다 성능이 열등해지는 경우가 많다 [27, 75].

2.3. 통합 멀티모달 이해 및 생성

멀티모달 이해와 생성을 통합한 모델은 서로 다른 모달리티 전반에 걸쳐 매끄러운 추론과 생성(seamless reasoning and generation)을 가능하게 한다는 점에서 강력한 접근으로 여겨진다 [77, 94]. 이러한 모델들에서의 전통적인 접근법은, 자기회귀(autoregressive, AR) 모델 [77, 85]이든 확산(diffusion) 모델 [86, 94]이든 관계없이, 멀티모달 이해와 생성 과제 모두에 단일 시각 표현(single visual representation)을 사용하는 것이다.

예를 들어, Chameleon [77]은 멀티모달 이해와 생성을 모두 수행하기 위해 이미지를 인코딩하는 데 VQ 토크나이저를 사용한다. 그러나 이러한 방식은 비전 인코더가 이해와 생성이라는 상충되는 요구 사이에서 트레이드오프를 강요받게 되어, 비최적의 결과를 초래할 수 있다. 이에 반해, 우리의 Janus는 이해와 생성을 위해 필요한 시각 표현을 명시적으로 분리할 수 있으며, 서로 다른 과제들이 서로 다른 수준의 정보를 요구한다는 점을 인식한다.

3. Janus: 단순하고, 통합적이며, 유연한 멀티모달 프레임워크

3.1. 아키텍처 (Architecture)

Janus의 전체 아키텍처는 그림 2에 제시되어 있다. 

순수 텍스트 이해, 멀티모달 이해, 그리고 시각 생성 과제를 위해, 우리는 원시 입력(raw input)을 특징(feature)으로 변환하는 서로 독립적인 인코딩 방법을 적용하고, 이렇게 얻어진 특징들을 단일하고 통합된 자기회귀 트랜스포머로 처리한다.

구체적으로, 텍스트 이해의 경우, 

  • 우리는 LLM에 내장된 토크나이저를 사용해 텍스트를 이산적인 ID로 변환하고, 각 ID에 대응하는 특징 표현을 얻는다.

멀티모달 이해의 경우, 

  • 우리는 SigLIP [92] 인코더를 사용하여 이미지로부터 **고차원 의미 특징(high-dimensional semantic features)**을 추출한다. 
  • 이 특징들은 2차원 격자 형태에서 1차원 시퀀스로 펼쳐지며(flatten), 이후 **이해 어댑터(understanding adaptor)**를 통해 LLM의 입력 공간으로 사상된다.
  • 비전 이해는 continuous embedding을 사용한다는 것

시각 생성 과제의 경우, 우리는 [73]에서 제안된 VQ 토크나이저를 사용해 이미지를 이산적인 ID로 변환한다. 

  • 이 ID 시퀀스 역시 1차원으로 펼쳐진 뒤, 생성 어댑터(generation adaptor)를 통해 각 ID에 대응하는 코드북 임베딩을 LLM의 입력 공간으로 사상한다.
  • 비전 생성은 discrete token을 사용한다는 것

이후, 이러한 특징 시퀀스들을 연결(concatenate)하여 하나의 멀티모달 특징 시퀀스를 구성하고, 이를 LLM에 입력하여 처리한다. LLM에 내장된 예측 헤드(prediction head)는 순수 텍스트 이해와 멀티모달 이해 과제에서 텍스트 예측에 사용되며, 무작위로 초기화된 예측 헤드는 시각 생성 과제에서 이미지 토큰 예측을 위해 사용된다.

전체 모델은 자기회귀적 프레임워크를 따르며, 특별히 설계된 어텐션 마스크를 필요로 하지 않는다.

3.2. 학습 절차 (Training Procedure)

Janus의 학습은 그림 3에 나타난 바와 같이 세 단계(stage)로 나뉘어 수행된다. 각 단계의 세부 내용은 다음과 같다.

Stage I: 어댑터와 이미지 헤드 학습 (Training Adaptors and Image Head).
이 단계의 주요 목적은 시각적 요소와 언어적 요소 사이에 임베딩 공간 상의 개념적 연결을 형성하여, LLM이 이미지에 나타난 개체들을 이해할 수 있도록 하고, 동시에 초기적인 시각 생성 능력을 갖추게 하는 것이다. 이 단계에서는 시각 인코더들과 LLM을 **동결(frozen)**한 채로 유지하고, 이해 어댑터(understanding adaptor), 생성 어댑터(generation adaptor), 그리고 **이미지 헤드(image head)**에 포함된 학습 가능한 파라미터들만을 업데이트한다.

encoder, adaptor, generation head만 학습

Stage II: 통합 사전학습 (Unified Pretraining).
이 단계에서는 Janus가 멀티모달 이해와 생성을 모두 학습할 수 있도록, 멀티모달 코퍼스를 사용한 통합 사전학습을 수행한다. 이 단계에서는 LLM의 동결을 해제(unfreeze)하고, 모든 유형의 학습 데이터를 활용한다. 여기에는 순수 텍스트 데이터, 멀티모달 이해 데이터, 그리고 시각 생성 데이터가 포함된다. PixArt [9]에서 영감을 받아, 우리는 먼저 ImageNet-1k를 사용해 단순한 시각 생성 학습을 수행함으로써 모델이 기본적인 픽셀 의존성(pixel dependency)을 학습하도록 한다. 이후, 일반적인 텍스트-이미지 데이터로 학습을 확장하여, 모델의 오픈 도메인 시각 생성 능력을 강화한다.

멀티모달 pretraining으로 모든거 다 학습

Stage III: 지도 미세조정 (Supervised Fine-tuning).
이 단계에서는 지시(instruction) 튜닝 데이터를 사용해, 사전학습된 모델을 미세조정함으로써 지시 따르기 능력과 대화 능력을 향상시킨다. 이 단계에서는 **생성 인코더(generation encoder)**를 제외한 모든 파라미터를 미세조정한다. 우리는 시스템 프롬프트와 사용자 프롬프트를 마스킹하고, **응답(answer)**에 대해서만 감독 신호를 적용하는 데 집중한다. Janus가 멀티모달 이해와 생성 모두에서 충분한 성능을 발휘하도록 하기 위해, 특정 과제에 대해 별도의 모델을 미세조정하지 않는다. 대신, 순수 텍스트 대화 데이터, 멀티모달 이해 데이터, 그리고 시각 생성 데이터를 혼합하여 사용함으로써, 다양한 시나리오에 대한 범용성을 보장한다.

멀티모달 SFT으로 generation encoder빼고 학습. 이거는 왜 뺴는 거지?

3.3. 학습 목표 (Training Objective)

Janus는 자기회귀(autoregressive) 모델이며, 학습 과정에서 우리는 단순히 **크로스 엔트로피 손실(cross-entropy loss)**을 사용한다:

여기서 ( $P(\cdot \mid \cdot)$ )는 Janus의 파라미터 ( $\theta$ )에 의해 모델링되는 조건부 확률을 의미한다.
순수 텍스트 이해와 멀티모달 이해 과제의 경우, 우리는 텍스트 시퀀스에 대해서만 손실을 계산한다.
시각 생성 과제의 경우에는, 이미지 시퀀스에 대해서만 손실을 계산한다.

설계를 단순하게 유지하기 위해, 우리는 서로 다른 과제들에 대해 상이한 손실 가중치(loss weight)를 부여하지 않았다.

3.4. 추론 (Inference)

추론 단계에서, 우리 모델은 다음 토큰 예측(next-token prediction) 방식을 채택한다.
순수 텍스트 이해와 멀티모달 이해의 경우, 우리는 예측된 분포로부터 토큰을 순차적으로 샘플링하는 표준적인 방식을 따른다.
시각 생성의 경우에는, 이전 연구들 [8, 26, 73]과 유사하게 **classifier-free guidance (CFG)**를 사용한다.

구체적으로, 각 토큰에 대해 로그잇 ( l_g )는 다음과 같이 계산된다:

$[
l_g = l_u + s (l_c - l_u)
]$

여기서 ( l_c )는 조건부 로그잇(conditional logit),
( l_u )는 무조건부 로그잇(unconditional logit),
( s )는 classifier-free guidance의 스케일(scale)을 의미한다.
이후의 모든 평가에서는 ( s = 5 )를 기본값으로 사용한다.

이런 방법이 약간 표준인가봄? 관련 내용은 아래

배경: 왜 CFG가 필요한가?

텍스트→이미지 생성에서 항상 생기는 문제는 다음입니다.

  • 조건을 강하게 따르면:
    → 프롬프트에는 잘 맞지만 이미지가 부자연스러워짐

  • 자연스러움을 우선하면:
    → 이미지 품질은 좋지만 프롬프트를 잘 안 따름

CFG는 이 둘을 수식적으로 절충하기 위한 기법입니다.

핵심 아이디어 (한 줄 요약)

“조건 없는 생성(unconditional)”과
“조건 있는 생성(conditional)”을 동시에 계산한 뒤,
그 차이를 증폭시켜 조건을 더 강하게 반영한다.”

수식 다시 보기

논문에 나온 식은 다음입니다:

$[
l_g = l_u + s (l_c - l_u)
]$

이제 각 항을 정확히 정의하겠습니다.

1. ( l_c ): conditional logit (조건부 로그잇)

  • 의미:
    👉 텍스트 조건이 주어진 상태에서의 다음 토큰 예측 점수

  • 예시:

    • 프롬프트: “a red car on the street”

    • 모델 입력: [텍스트 조건 + 이전 이미지 토큰]

  • 결과:

    • “빨간 자동차”와 관련된 이미지 토큰 확률이 높아짐

즉,

“프롬프트를 충실히 따르려는 예측”

입니다.

2. ( l_u ): unconditional logit (무조건부 로그잇)

  • 의미:
    👉 텍스트 조건을 제거한 상태에서의 다음 토큰 예측 점수

  • 구현 방식:

    • 텍스트 조건을 pad token 또는 빈 조건으로 대체

  • 결과:

    • 모델이 “그냥 그럴듯한 이미지”를 생성하려는 분포

즉,

“자연스러운 이미지 분포의 기준점”

입니다.

3. ( s ): guidance scale (가이던스 스케일)

  • 역할:
    👉 조건을 얼마나 강하게 밀어줄지 결정하는 계수

  • 해석:

    • ( s = 0 )
      → 완전 무조건 생성 (프롬프트 무시)

    • ( s = 1 )
      → 단순히 conditional logits 사용

    • ( s > 1 )
      → 조건을 과장해서 강조

논문에서는 기본값으로 **( s = 5 )**를 사용합니다.

수식을 직관적으로 풀면

[
l_g = \underbrace{l_u}_{\text{기본 자연스러움}}

  • ; s \times
    \underbrace{(l_c - l_u)}_{\text{조건이 만드는 방향}}
    ]

즉,

  1. 먼저 자연스러운 이미지 분포를 기준으로 잡고

  2. 거기서

  3. “텍스트 조건이 바꾸고 싶은 방향”으로

  4. ( s )배 만큼 더 이동

하는 것입니다.

Janus 맥락에서 왜 이게 등장하나?

중요한 점은 다음입니다.

  • Janus는 확산 모델이 아님

  • 자기회귀적 이미지 토큰 생성 모델

  • 하지만

    • “조건부 vs 무조건부 예측”

    • “logit 조합”
      모델 구조와 무관하게 적용 가능

그래서 Janus는:

  • 확산 모델에서 쓰이던 CFG를

  • AR 토큰 생성 단계의 logit 수준에서 그대로 차용

한 것입니다.

논문 각주(footnote)와의 연결

3.4절 하단 각주에서 말하는 내용도 이 배경입니다:

학습 중, 텍스트 조건을 10% 확률로 pad token으로 대체하여
무조건부 시각 생성 능력을 학습시킨다.

즉,

  • 훈련 단계에서부터

    • ( l_c ), ( l_u ) 둘 다 추정 가능하도록 만들어 둔 것

  • 그래서 추론 시 CFG가 가능

한 문장으로 정리

**( l_c )**는 “프롬프트를 따르려는 예측”,
**( l_u )**는 “자연스러운 이미지 기준 분포”,
**( s )**는 “프롬프트를 얼마나 세게 밀어붙일지”를 정하는 계수이며,
CFG는 이 둘의 차이를 증폭해 조건 충실도와 품질을 동시에 확보하는 기법입니다.

3.5. 확장 가능성 (Possible Extensions)

이해와 생성을 위해 분리된 인코더를 사용하는 우리의 설계는 단순하면서도 확장하기 쉽다는 점에 주목할 필요가 있다.

멀티모달 이해.
(1) 멀티모달 이해 구성 요소의 경우, 시각 생성 과제를 처리할 수 있는지 여부를 고려할 필요 없이, EVA-CLIP [74], InternViT [13] 등과 같이 더 강력한 비전 인코더를 선택할 수 있다.
(2) 고해상도 이미지를 처리하기 위해, 동적 고해상도(dynamic high-resolution) 기법 [50]을 사용할 수 있다. 이를 통해 ViT에서 위치 임베딩 보간(positional embedding interpolation)을 수행하지 않고도 임의의 해상도로 확장할 수 있다. 또한 픽셀 셔플(pixel shuffle) 연산 [12] 등을 사용해 토큰을 추가로 압축함으로써 계산 비용을 절감할 수 있다.

시각 생성.
(1) 시각 생성의 경우, 인코딩 이후 더 많은 이미지 디테일을 보존할 수 있도록 MoVQGan [93]과 같은 보다 세밀한 인코더를 선택할 수 있다.
(2) 확산 손실(diffusion loss) [46]과 같이 시각 생성에 특화된 손실 함수를 사용할 수 있다.
(3) 시각 생성 과정에서 누적 오차를 줄이기 위해, AR(인과적 어텐션, causal attention) 방식과 병렬적(양방향 어텐션, bidirectional attention) 방식을 결합하여 사용하는 방법도 고려할 수 있다 [79].

추가 모달리티 지원.
Janus의 단순한 아키텍처는 다양한 모달리티를 위한 추가 인코더를 쉽게 통합할 수 있도록 한다. 예를 들어, 3D 포인트 클라우드 [53], 촉각(tactile) 데이터 [88], EEG 신호 [4] 등과 같은 모달리티도 지원할 수 있다. 이러한 특성은 Janus가 보다 강력한 **멀티모달 범용 모델(multimodal generalist model)**로 발전할 수 있는 잠재력을 제공한다.

4. 실험 (Experiments)

이 절에서는 제안한 방법의 성능을 다양한 시각 이해 및 생성 과제 전반에 걸쳐 평가하기 위해 설계한 포괄적인 실험들을 제시한다. 먼저 모델 아키텍처, 학습 데이터셋, 그리고 평가 벤치마크를 포함한 실험 설정을 설명한다. 이후 Janus의 성능을 보고하고, 멀티모달 이해와 생성에 대한 다양한 벤치마크에서 최신(state-of-the-art) 모델들과의 비교 결과를 제시한다. 또한 제안한 방법의 효과를 검증하기 위해 광범위한 어블레이션 스터디를 수행한다. 마지막으로, 정성적(qualitative) 결과를 제공한다.

4.1. 구현 세부 사항 (Implementation Details)

실험에서는 최대 시퀀스 길이 4096을 지원하는 DeepSeek-LLM (1.3B) [5]을 기본 언어 모델로 사용한다.
멀티모달 이해 과제에 사용되는 비전 인코더로는 SigLIP-Large-Patch16-384 [92]를 선택하였다.

생성 인코더는 코드북 크기 16,384를 가지며, 이미지를 16배 다운샘플링한다.

이해 어댑터(understanding adaptor)와 생성 어댑터(generation adaptor)는 모두 2층 MLP로 구성된다.
각 학습 단계별 상세한 하이퍼파라미터는 표 1에 제시되어 있다.

모든 이미지는 384 × 384 해상도로 리사이즈된다.
멀티모달 이해 데이터의 경우, 이미지의 긴 변을 기준으로 리사이즈한 뒤, 짧은 변은 배경 색상(RGB: 127, 127, 127)으로 패딩하여 384 크기를 맞춘다.
시각 생성 데이터의 경우, 짧은 변을 384로 리사이즈하고, 긴 변은 384로 **크롭(crop)**한다.

왜 이렇게 프리프로세싱 하는지는 모르겠으나, 참고

학습 효율을 높이기 위해 **시퀀스 패킹(sequence packing)**을 사용한다.
모든 데이터 유형은 지정된 비율에 따라 하나의 학습 스텝 내에서 혼합된다.

Janus는 PyTorch 위에 구축된 경량·고효율 분산 학습 프레임워크인 HAI-LLM [32]을 사용하여 학습 및 평가되었다.
전체 학습 과정은 노드 16개, 각 노드당 NVIDIA A100 (40GB) GPU 8개로 구성된 클러스터에서 7일이 소요되었다.

4.2. 데이터 구성 (Data Setup)

이 절에서는 사전학습(pretraining)과 지도 미세조정(supervised fine-tuning)에 사용된 데이터셋의 세부 구성을 설명한다.

Stage I.
우리는 멀티모달 이해를 위해 ShareGPT4V [10]에서 수집한 125만 개의 이미지–텍스트 쌍 캡션 데이터를 사용하고, 시각 생성을 위해 ImageNet-1k [18]에서 약 120만 개의 샘플을 사용한다.
ShareGPT4V 데이터는 “<image><text>” 형식으로 구성된다.
ImageNet 데이터는 클래스 이름을 사용한 텍스트–이미지 형식, 즉 “<category_name><image>” 형태로 구성된다. 여기서 “<>” 기호는 플레이스홀더를 의미한다.

Stage II.
이 단계에서는 데이터를 다음과 같은 범주로 구성한다.
(1) 텍스트 전용 데이터(text-only data). DeepSeek-LLM [5]의 사전학습 텍스트 코퍼스를 사용한다.
(2) 인터리브된 이미지–텍스트 데이터(interleaved image-text data). WikiHow [39] 및 WIT [72] 데이터셋을 사용한다.
(3) 이미지 캡션 데이터(image caption data). [17, 18, 23, 38, 40, 45, 47, 49, 70]의 이미지들을 사용한다. 이 중 [17, 40]에 포함된 이미지들은 오픈소스 멀티모달 모델을 사용해 재캡션(re-captioning)하였다. 이미지 캡션 데이터는 예를 들어 “<image> 이미지에 대해 자세히 설명하라 <caption>”와 같은 질문–답변 쌍 형식으로 변환된다.
(4) 표와 차트 데이터(table and chart data). DeepSeek-VL [55]에서 제공하는 표 및 차트 데이터를 사용하며, 데이터는 “<question><answer>” 형식으로 구성된다.
(5) 시각 생성 데이터(visual generation data). [17, 38, 40, 57, 58, 60, 63, 70]의 이미지–캡션 쌍과 더불어, 200만 개의 자체(in-house) 데이터를 사용한다. [38, 70]의 이미지들에 대해서는 미적 점수(aesthetic score)와 이미지 크기를 기준으로 필터링을 수행하여, 약 20%의 데이터만 유지하였다.

학습 중, 모델이 짧은 설명에 대해서도 강력한 생성 능력을 갖도록 하기 위해, 25% 확률로 캡션의 첫 문장만 무작위로 사용한다.
ImageNet 샘플 [18]은 학습 초기 120K 스텝 동안만 사용되며, 이후 60K 스텝에서는 다른 데이터셋의 이미지들이 사용된다. 이러한 설계는 PixArt [9]에서 제안한 바와 같이, 모델이 먼저 기본적인 픽셀 의존성을 학습한 뒤 더 복잡한 장면 이해로 점진적으로 이동하도록 돕는다.
시각 생성 데이터는 “<caption><image>” 형식으로 제공된다.

Stage III.
텍스트 이해를 위해 [43]의 데이터를 사용한다.
멀티모달 이해를 위해 [31, 34, 35, 43, 56, 69]의 지시 튜닝(instruction tuning) 데이터를 사용한다.
시각 생성을 위해서는 Stage II에서 사용한 데이터의 일부 [17, 60, 70]와 더불어, 400만 개의 자체 데이터를 사용한다.

지시 튜닝 데이터는 다음과 같은 형식으로 구성된다:
“User:<입력 메시지>\nAssistant:<응답>”.
다중 턴 대화(multi-turn dialogue)의 경우, 이 형식을 반복하여 데이터를 구성한다.

여기서의 데이터 세팅을 참고하면 되긴 할듯

4.3. 평가 설정 (Evaluation Setup)

멀티모달 이해.
멀티모달 이해 능력을 평가하기 위해, 우리는 이미지 기반 비전–언어 벤치마크들을 사용한다. 여기에는 VQAv2 [31], GQA [35], POPE [48], MME [25], SEED [42], MMBench [54], MM-Vet [90], 그리고 MMMU [91]가 포함된다.

시각 생성.
시각 생성 능력을 평가하기 위해, 우리는 MSCOCO-30K [11], MJHQ-30K [44], 그리고 GenEval [30] 벤치마크를 사용한다.
MSCOCO-30K와 MJHQ-30K는 생성된 이미지와 30K 고품질 이미지 간의 비교를 통해 Fréchet Inception Distance(FID) 지표를 사용하여 이미지 생성의 전반적인 품질을 평가한다.
GenEval은 객체 중심(object-focused)의 텍스트–이미지 정합성을 평가하기 위해 설계된 도전적인 벤치마크로, 시각 생성 모델의 조합적(compositional) 생성 능력을 인스턴스 수준에서 상세히 분석한다.

4.4. Comparison with State-of-the-arts

(최신 모델들과의 비교)

이 섹션의 목적은 Janus가 “통합(unified) 모델”임에도 불구하고

  1. 기존 통합 모델을 명확히 능가하고

  2. 심지어 이해/생성 특화 모델들과도 경쟁 가능함
    을 보여주는 것이다.

📊 Table 2: 멀티모달 이해 성능 비교 (Understanding Benchmarks)

비교 대상

  • 이해 전용 모델 (LLaVA, MobileVLM, InstructBLIP 등)

  • 이해+생성 통합 모델 (Show-o, Chameleon, VILA-U 등)

  • Janus (1.3B)

사용 벤치마크

  • POPE (환각 억제)

  • MME (종합 인지)

  • MMBench

  • SEED-Bench

  • VQAv2, GQA, MMMU, MM-Vet

핵심 결과

  • **Janus (1.3B)**가

    • 기존 최고 통합 모델 Show-o (1.3B) 대비

      • MME: 949 → 1338 (+41%)

      • GQA: 48.7 → 59.1 (+30%)

  • 더 중요한 점:

    • 7B 모델인 LLaVA-v1.5, Qwen-VL-Chat보다도 다수 벤치마크에서 우수

의미

  • 기존 unified 모델들이 겪던 문제:

    “생성을 넣으면 이해 성능이 무너진다”

  • Janus는 시각 인코딩 분리(decoupling) 덕분에
    이해 성능을 희생하지 않음

📊 Table 3: GenEval (텍스트-이미지 정합성)

GenEval이 중요한 이유

  • FID는 “그럴듯함”만 보지만

  • GenEval은:

    • 객체 수 (counting)

    • 색상, 위치, 속성

    • 다중 객체 관계를 정확히 지켰는지 평가

결과

  • Janus (1.3B): Overall 0.61

  • 비교:

    • Show-o (1.3B): 0.53

    • SDXL: 0.55

    • DALL·E 2: 0.52

의미

  • Janus는

    • diffusion-only 모델보다

    • instruction following / compositionality가 더 뛰어남

  • CFG + AR 구조가 효과적임을 실증

📊 Table 4: FID (COCO-30K, MJHQ-30K)

결과

  • COCO-30K: 8.53

  • MJHQ-30K: 10.10

비교

  • Show-o (1.3B): 9.24 / 15.18

  • LWM (7B): 12.68 / 17.77

의미

  • 통합 모델임에도

    • **이미지 품질(FID)**에서도 경쟁력 유지

  • “이해+생성 통합 = 생성 품질 하락”이라는 통념 반박

4.5. Ablation Studies

(왜 decoupling이 중요한가)

이 섹션은 Janus의 핵심 주장을 실험적으로 증명하는 부분이다.

📊 Table 5: Ablation 결과 요약

실험 축

  • 단일 비전 인코더 vs 분리 인코더

  • 통합 학습 vs 단일 태스크 학습

핵심 실험들

Exp-A: 단일 VQ tokenizer (기존 방식)

  • 생성: 괜찮음 (FID 8.72)

  • 이해: 매우 나쁨
    기존 unified 모델의 전형적인 실패

Exp-B: semantic tokenizer (강한 baseline)

  • 이해 성능 개선

  • 하지만 생성과 이해 간 trade-off 발생

Exp-C: Exp-B + 이해 전용 학습

  • 이해 성능 크게 향상
    단일 인코더가 generation 때문에 이해를 희생한다는 증거

⭐ Exp-D: SigLIP (이해) + VQ (생성) = Janus

  • 이해 + 생성 동시에 최고 성능

  • trade-off 제거

Unified vs Task-specific 학습 (Exp D/E/F)

  • Unified 학습(Exp-D) 성능 ≈

    • 이해 전용 학습(Exp-E)

    • 생성 전용 학습(Exp-F)

의미

  • 통합 학습이 각 태스크 성능을 거의 깎지 않음

  • → 진짜 “unified model”

4.6. Qualitative Results

🖼 Figure 4: 시각 생성 정성 비교

비교 대상

  • Janus vs SDXL vs LlamaGen

관찰

  • Janus:

    • 프롬프트의 세부 속성 반영이 더 정확

    • 객체/장면 간 일관성 우수

  • 해상도는 낮아도 (384²)

    • 의미 정합성은 오히려 우수

🖼 Figure 5: 밈(meme) 이해 비교

비교 대상

  • Janus vs Chameleon vs Show-o

결과

  • Janus:

    • 이미지 텍스트 인식

    • 감정/유머 해석 정확

  • Chameleon / Show-o:

    • 객체 인식 실패

    • 텍스트 오인식

의미

  • 고해상도 semantic encoder(SigLIP) 분리의 효과가 명확

🖼 Figure 7–9 (Appendix 연계)

  • Figure 7: 다양한 text-to-image 예시

  • Figure 8: 다국어 text-to-image (emergent)

  • Figure 9: 수식, 차트, 예술작품 등 복합 이해

전체 핵심 정리 (한 단락)

4.4–4.6은 Janus의 핵심 주장—“시각 인코딩 분리(decoupling)가 통합 모델의 이해·생성 trade-off를 제거한다”—를 정량(Table 2–5)과 정성(Figure 4–5) 양쪽에서 강하게 입증한다. Janus는 1.3B 규모의 통합 모델임에도 불구하고 기존 통합 모델을 크게 능가하며, 다수의 7B 이해 특화 모델과도 경쟁 가능한 성능을 보이고, 생성 품질(FID)과 정합성(GenEval)을 동시에 달성한다.

5. 결론 (Conclusion)

본 논문에서는 멀티모달 이해와 생성을 통합한, 단순하고(simple), 통합적이며(unified), 확장 가능한(extensible) 모델인 Janus를 제안하였다. Janus의 핵심 아이디어는 멀티모달 이해와 생성을 위해 **시각 인코딩을 분리(decouple)**하는 것으로, 이는 이해와 생성이 시각 인코더에 요구하는 상이한 요구 사항으로부터 발생하는 충돌을 완화할 수 있다.

광범위한 실험을 통해 Janus의 효과성과 선도적인 성능을 입증하였다. 또한 Janus는 높은 유연성과 확장성을 지닌다는 점에서 주목할 만하다. 멀티모달 이해와 시각 생성 양쪽 모두에서 추가적인 성능 향상의 잠재력을 지닐 뿐만 아니라, 더 많은 입력 모달리티를 통합하는 방향으로도 쉽게 확장할 수 있다. 이러한 장점들은 Janus가 차세대 멀티모달 범용 모델(multimodal general-purpose model)의 개발에 있어 하나의 영감을 제공할 수 있음을 시사한다.

Reference

댓글