상세 컨텐츠

본문 제목

2025 Deepseek 의 멀티모달 AI, janus pro 논문 리뷰

Life/자율주행, AI

by 세미531 2025. 1. 28. 19:13

본문

728x90

Deepseek 가 세상을 흔들고 있습니다. Reasoning model 인 R1 공개부터 math 전용 모델 등 엄청난 오픈소스 공개를 하던 와중 멀티모달 모델 또한 오픈소스로 공개하였습니다. 더욱 기술적인 분석을 위해 논문 분석을 통해 기술을 알아보도록 하겠습니다.

 

deepseek

 

논문의 전반적인 흐름은 기존 "Janus" 모델을 확장·개선한 "Janus-Pro"를 제안하고, 이를 통해 멀티모달(이미지+텍스트) 이해와 텍스트-투-이미지(text-to-image) 생성 성능을 동시에 높이는 과정을 다룹니다.


1. Introduction

섹션 요약

  • 최근 멀티모달 러닝 영역에서, 하나의 모델이 동시에 이미지 이해(예: 질의응답, 설명 등)와 이미지 생성(텍스트 프롬프트를 바탕으로 이미지를 생성하는 task)을 모두 수행하도록 하는 연구가 증가하고 있음.
  • 대표적인 시도들이 있지만, 같은 비전(vision) 인코더를 이해와 생성에 공유하면 두 가지 목적(이해 vs. 생성)에서 요구되는 특징이 충돌하여 최적의 성능을 얻기 어렵다는 문제점이 존재함.
  • 이를 해결하기 위해 "Janus"라는 모델이 먼저 제안되었는데, 이 모델은 비전 인코더를 분리(decoupling) 하는 아이디어로 멀티모달 이해와 이미지 생성 두 측면에서 뛰어난 성능을 보임.
  • 다만, "Janus"는 모델 규모와 학습 데이터가 제한적이어서 짧은 프롬프트 기반의 이미지 생성 품질이 떨어지거나 불안정성이 높았다는 한계점이 있었음.
  • 이 논문에서는 "Janus-Pro"를 제안하며,
    1) 최적화된 학습 전략 적용,
    2) 훈련 데이터 확대,
    3) 모델 규모 확장
    을 통해 단점들을 개선하고, 이해와 생성 모두에서 성능을 크게 향상시킴.

필요한 배경 지식

  • 멀티모달(멀티모달리티) 학습: 텍스트, 이미지, 오디오, 비디오 등 여러 모달리티를 함께 처리할 수 있는 모델을 만드는 방식.
  • 텍스트-투-이미지(text-to-image) 모델: 텍스트 프롬프트를 입력받아 해당 내용을 시각적으로 표현하는 이미지를 생성하는 모델.
    • 예: DALL-E 시리즈, Stable Diffusion 계열, Midjourney 등.
  • 이해 모델 vs. 생성 모델
    • “이해” 파이프라인은 이미지를 받아서 객체를 인식하거나, 질문에 답하거나, 이미지에 대해 설명을 생성함.
    • “생성” 파이프라인은 텍스트로부터 이미지를 직접 생성함.
  • “분리된 비전 인코더(decoupled visual encoding)”: 이해와 생성이라는 두 가지 상이한 task에 대해 서로 다른 인코더를 사용함으로써, 두 파트가 서로의 성능을 저해하지 않도록 하는 방식.

2. Method

섹션 요약

  • Janus-Pro의 모델 구조와 학습 전략에 대한 개요를 제시.
  • 이전 “Janus”와 큰 틀은 같으나, 학습 전략(2.2), 데이터(2.3), 모델 크기(2.4) 측면에서 개선이 이뤄짐.

필요한 배경 지식

  • Auto-regressive transformer(자기회귀 트랜스포머): 순차적으로 토큰을 하나씩 예측하는 방식의 모델. GPT 계열이 대표적이며, 문장 혹은 토큰 시퀀스를 한 번에 다루는 대신 매 시점마다 “이전까지의 토큰”을 바탕으로 “다음 토큰”을 예측함.
  • LLM(Large Language Model): 대규모 파라미터(수억 ~ 수천억 이상)를 가진 트랜스포머 기반 언어 모델.
  • 비전 토크나이저(Vision Tokenizer): 이미지를 토큰 단위로 변환하는 단계. 예를 들어, VQ-VAE나 ViT 패치 토큰 등이 있음.
  • Decoupling: 하나의 기능(멀티모달 이해)과 다른 기능(이미지 생성)을 서로 간섭 없이 별도의 경로로 처리하도록 설계하는 방법.

2.1. Architecture

섹션 요약

  • Janus-Pro의 전체 구조는 이전 Janus와 동일하게, 비전 인코더를 두 개 준비하여 각각 이해용(“Understanding Encoder”), 생성용(“Generation Encoder”)으로 사용한다.
  • 이해용 인코더(SigLIP)와 생성용 인코더(VQ tokenizer)에서 뽑아낸 피처를, 공통으로 사용하는 오토레그레시브 트랜스포머(LLM)에 입력하여 최종적으로:
    • (이해) 텍스트 응답 토큰을 생성하거나,
    • (생성) 이미지 코드를 생성하도록 한다.

구조 상세

  1. 이해(Inference) 흐름
    1) 이미지를 SigLIP 모델로 인코딩 → 고차원 특징을 추출 (공간적 grid 형태).
    2) 이 특징 지도를 1D 시퀀스로 풀어서(Flatten) “이해(understanding) 어댑터”에 통과시킴.
    3) 이 어댑터가 특징 벡터를 LLM 입출력 공간(토큰 임베딩 차원)에 맞게 변환해 줌.
    4) 이후 LLM이 텍스트 토큰과 함께 이 시각 특징 시퀀스를 받아서 질의응답, 설명 등 텍스트 형태의 출력을 생성함.
  2. 생성(Generation) 흐름
    1) 이미지를 VQ tokenizer(예: VQ-VAE-like 토크나이저)로 변환하면, 2D 이미지를 코드북 인덱스(codebook index)들의 2D 배열로 바꿀 수 있음.
    2) 이를 1D 시퀀스로 Flatten한 뒤, “생성(generation) 어댑터”로 입력하여 LLM 임베딩과 매핑.
    3) LLM은 오토레그레시브하게 텍스트 및 이미지 토큰(코드 인덱스)을 다음 토큰으로 예측.
    4) 최종적으로 “이미지 디코더(=VQ 디코더)”가 이 이미지 코드들을 실제 이미지로 복원함.

필요한 배경 지식

  • SigLIP: CLIP 유사 구조로, 이미지와 텍스트를 공통 임베딩 공간으로 매핑하는 모델 중 하나. 여기서는 멀티모달 이해에 최적화된 비전 인코더로 활용.
  • VQ tokenizer: 이미지의 픽셀을 일정 크기의 패치나 latent code로 변환해, 텍스트 토큰처럼 시퀀스로 만들 수 있게 해주는 모듈. 예컨대, VQ-VAE 계열.
  • Flatten: 2차원(예: 32×32) 피처 맵을 1차원(32×32=1024 길이)의 시퀀스로 펼치는 과정.

2.2. Optimized Training Strategy

섹션 요약

  • Janus에서 사용하던 세 단계 학습 전략(3-stage)을 그대로 유지하되, 내부적으로 어떻게 데이터와 학습 스케줄을 개선했는지 자세히 설명.
  • 특히, Stage II(통합 프리트레이닝)에서 ImageNet만으로 픽셀 종속성(=이미지 자체의 패턴 학습)을 많이 훈련하던 부분을 줄이고, 본격적인 텍스트-투-이미지 데이터로 학습을 더 많이 시키도록 바꿈.

배경: 기존 Janus의 세 단계

  1. Stage I: 이해·생성용 어댑터 및 이미지 디코더만 학습(LLM과 비전 인코더는 고정).
  2. Stage II: 본격적인 멀티모달 사전학습(Pretraining). LLM 파라미터도 업데이트하며, "이해 + 생성"이 동시에 가능하도록 대규모 데이터(이미지-텍스트 쌍)를 학습.
  3. Stage III: 추가적인 지도 학습(Supervised Fine-tuning) 단계. 사람의 설명, 질문응답, 대화형 데이터 등으로 미세 조정.

Janus-Pro 개선점

  1. Stage I을 더 길게:
    • ImageNet을 이용해 생성 모델(디코더+생성 어댑터) 쪽에서 픽셀 의존성을 충분히 학습시킴.
    • 이렇게 하면 LLM 파라미터를 고정한 상태에서도 “카테고리 명령(예: dog, cat 등)만으로 대략적인 이미지를 만드는 능력”을 빠르게 끌어올릴 수 있음.
  2. Stage II에서는 ImageNet 활용 제거:
    • Janus는 Stage II에서 ImageNet 데이터를 상당 부분 섞어서 썼으나, Janus-Pro는 이를 제거하고, 다양한 텍스트-투-이미지 데이터에만 집중.
    • 이렇게 하면 훨씬 더 풍부한 묘사(“dense description”)를 통해 이미지를 생성하는 능력을 더 효율적으로 학습할 수 있음.
  3. Stage III에서 데이터 비율 재조정:
    • 멀티모달 이해, 순수 텍스트, 텍스트-투-이미지 생성 데이터를 섞을 때, 비율(7:3:10에서 5:1:4로) 변경.
    • 생성 데이터 비중을 일부 낮추어서, 이해 쪽 성능을 좀 더 끌어올림(그렇다고 해서 생성 능력이 크게 희생되지는 않음).

필요한 배경 지식

  • ImageNet: 이미지 분류(classification) 중심의 대규모 데이터셋. 일반적인 이미지 도메인의 “기초 지식”을 얻는 데 도움.
  • 픽셀 의존성(pixel dependency): 인접 픽셀 간의 구조적 패턴, 이미지의 통계적 특성 등을 학습하는 것.
  • Dense description: "하늘색 재킷을 입은 사람, 손에 빨간 사과를 들고 있음" 같이, 매우 풍부하고 구체적인 텍스트 설명.

2.3. Data Scaling

섹션 요약

  • Janus-Pro에서는 데이터 규모를 이해·생성 양 측면에서 모두 크게 늘려서 학습 안정성과 성능을 향상.
  • 이해 측면: 약 9천만 건의 추가 이미지-텍스트 데이터(캡션, 문서·차트·테이블 이해용 등), DeepSeek-VL2 기반 등.
  • 생성 측면: 약 7,200만 개 이상의 합성(synthetic) 이미지-텍스트 데이터 추가. 기존 실제(real) 데이터합성 데이터를 1:1로 섞어 사용.
    • 합성 데이터는 프롬프트와 함께 생성된 이미지들이며, 종종 ‘미드저니(Midjourney)’ 등 모델이 만들어낸 “고품질” 결과물이나, 공개된 여러 ‘프롬프트 ↔ 이미지’ 쌍 등을 말함.
  • 실험 결과, 합성 데이터는 실제 데이터보다 텍스트-이미지 정합도가 높거나 노이즈가 적은 편이라, 학습 안정화에 유리함. 이미지 퀄리티도 올라감.

필요한 배경 지식

  • DeepSeek-VL2: 저자들이 언급한 자체 대규모 멀티모달 데이터 파이프라인. 다양한 형태의 이미지-텍스트 쌍이 포함.
  • 합성(synthetic) 데이터: 사람이 직접 촬영·수집한 이미지가 아니라, 다른 생성 모델이 만든 이미지.
    • 장점: 원하는 텍스트-이미지 매핑을 더 다양하고, 노이즈를 상대적으로 억제할 수 있음.
    • 단점: 생성 모델의 ‘편향’이나 ‘특유의 아트 스타일’이 섞일 수 있음.

2.4. Model Scaling

섹션 요약

  • Janus는 1.5B(약 15억 파라미터)짜리 LLM 기반이었으나, Janus-Pro는 1.5B와 7B 두 버전을 모두 제작.
  • 7B 모델(약 70억 파라미터)을 쓰면, 더 빠르게 손실이 줄어들고, 이해·생성에서 모두 더 높은 상한선에 도달.
  • 이는 “분리된 비전 인코더를 쓰는 구조”가 모델 크기가 커질수록 효과가 커진다는 점을 시사.

필요한 배경 지식

  • DeepSeek-LLM: 논문에서 사용한 1.5B 및 7B 크기의 언어 모델. 최대 컨텍스트 길이 4096 토큰.
  • 파라미터 수 vs. 모델 성능: 일반적으로 LLM은 파라미터가 증가할수록 표현력과 추론 능력이 향상됨(물론 데이터/학습전략이 뒷받침된다는 전제 하에).

 

728x90

 

3. Experiments

Janus-Pro 모델의 구체적인 성능 평가를 다루는 장.
(논문에서는 3.1 Implementation Details, 3.2 Evaluation Setup, 3.3 Comparison with SOTA, 3.4 Qualitative Results 등으로 세분화.)


3.1. Implementation Details

  • 학습 하이퍼파라미터:
    • Stage별 배치 사이즈, 러닝 레이트, 학습 스텝 수, warm-up 스텝 등 구체적인 값 제시(예: Stage I에서 20K 스텝, Stage II에서 360K 스텝 등).
    • GPU 클러스터 환경(예: NVIDIA A100 40GB × 8 GPU × 다수 노드)에서 약 1~2주간 학습.
  • 이미지 전처리:
    • 이해 데이터의 경우, 이미지의 긴 변을 384로 맞추고 짧은 변을 패딩으로 채움(=가로세로 비율 유지).
    • 생성 데이터의 경우, 긴 변을 384에서 크롭하여 384×384로 만듦.
  • 시퀀스 패킹(sequence packing):
    • 학습 효율을 위해 서로 다른 샘플을 하나의 시퀀스에 적절히 이어붙임.

이러한 디테일들은 모델이 어떻게 실제로 학습되는지, 그리고 결과가 재현 가능(reproducible)하도록 필요한 정보들임.


3.2. Evaluation Setup

멀티모달 이해 평가

  • 대표적인 벤치마크: GQA, POPE, MME, MMBench, MM-Vet, MMMU 등.
    • GQA: 주어진 이미지에 대한 시각적 질의응답.
    • POPE: 객체 인식 및 존재 확인 등 이미지 속 사실성 검사.
    • MME: 사용자 정의 멀티모달 평가 벤치마크로, 인식 정확도나 문맥 이해 등을 측정.
    • MMBench, MMMU, MM-Vet: 멀티모달 reasoning 능력을 다양하게 테스트(추론, 설득력, 기억력, 정합성 등).

텍스트-투-이미지 평가

  • GenEval: 텍스트로부터 생성한 이미지가 실제로 프롬프트와 잘 일치하는지(객체·속성·색상·수량·배치 등)를 세밀하게 확인할 수 있는 벤치마크.
  • DPG-Bench(Dense Prompt Graph Benchmark): 매우 긴 프롬프트를 주고, 얼마나 정확하고 풍부하게 이미지가 해당 프롬프트를 반영하는지 평가.

3.3. Comparison with State-of-the-arts

섹션 요약

  • Janus-Pro-1B(1.5B 파라미터)와 Janus-Pro-7B 모델이 여러 벤치마크에서 기존 SoTA 모델들과 어떻게 비교되는지 결과를 정리.
  • 멀티모달 이해 성능:
    • POPE, MME, MMBench 등에서 기존 SOTA를 뛰어넘거나 비슷한 성능을 보임.
    • 특히 여러 “이해 전용” 모델과 비교해도 떨어지지 않음.
  • 텍스트-투-이미지 생성 성능:
    • GenEval, DPG-Bench에서 DALL-E 3, Stable Diffusion 3 Medium, Emu3-Gen 등과 비교했을 때도 상회하거나 유사한 수준의 성능을 달성.
    • GenEval 기준으로 Janus-Pro-7B는 0.80 점수로, Janus(0.61), DALL-E 3(0.67), SD3-Medium(0.74)을 앞섬.
    • DPG-Bench에서도 Janus-Pro-7B(84.19점)는 기존 모델보다 우수.

이를 통해, 단일 모델(분리된 비전 인코더 구조)임에도, 이해와 생성 두 마리 토끼를 모두 잡는다는 점을 강조.


3.4. Qualitative Results

섹션 요약

  • 시각적인 예시들(Figure 4)로, 실제 이미지에 대한 질문/대답(텍스트 응답)과 텍스트로부터 생성한 이미지(384×384 해상도) 사례를 제시.
  • 간단한 텍스트(“The face of a beautiful girl”)를 프롬프트로 줬을 때, 이전 Janus에 비해 훨씬 자연스럽고 안정적인 생성 결과를 보임.
  • 또한 문자를 이미지에 삽입하거나, 여러 객체가 복잡하게 구성된 장면 생성에서도 성능이 개선됨.

필요한 배경 지식

  • Qualitative vs. Quantitative: 수치적 지표(Quantitative) 이외에도, 실제 예시 이미지를 보고 사람이 직접 시각 품질이나 정합성을 눈으로 확인하는 단계.

4. Conclusion

섹션 요약

  • Janus-Pro의 핵심은, “분리된 비전 인코더 구조”에 추가로 학습 전략, 데이터, 모델 규모를 확장·개선하여 성능을 크게 끌어올린 것.
  • 한계점:
    1. 이해 파트 해상도 384×384 제한 → 세밀한 객체 검출 혹은 OCR 등에 어려움.
    2. 생성 파트 해상도도 384×384 → 미세한 디테일이 부족.
      • 특정 인물의 얼굴이나 글씨, 작은 디테일 등이 뭉개질 수 있음.
  • 향후 해상도 증가를 통한 세밀화가 과제가 될 것임을 언급.

정리

  1. Janus에서 제안된 “이해와 생성의 비전 인코더 분리” 아이디어를 더 큰 규모더 많은 데이터, 더 효율적인 학습 전략으로 확장하여,
    • 멀티모달 이해(이미지 캡셔닝, 질의응답, 시각추론 등)와
    • 텍스트-투-이미지 생성(합성, 상상, 지시사항 이행)에 동시에 강점.
  2. 세 단계 학습 전략(분할된 Stage I, II, III)을 유지하되,
    • Stage I에 ImageNet 기반 생성 프리트레이닝 시간을 늘리고,
    • Stage II에서는 바로 실제 “텍스트-이미지” 데이터를 더 많이 사용,
    • Stage III에서는 멀티모달 이해용 지도학습 비중을 조금 높이는 방식으로 균형을 맞춤.
  3. 데이터 측면에서,
    • 이해용 이미지-텍스트 쌍에 9천만 건 이상 확장,
    • 생성용 합성 데이터(약 7천만 건)를 추가하여 실제 데이터와 1:1 비율로 사용함으로써 텍스트-이미지 정합성을 더욱 끌어올림.
  4. 모델 크기를 기존 1.5B에서 7B까지 확장하면서, 오토레그레시브 트랜스포머(LLM) 특유의 스케일링 효과를 극대화.
  5. 실험 결과,
    • 멀티모달 이해 벤치마크(GQA, MME, MMBench 등)와
    • 텍스트-투-이미지 벤치마크(GenEval, DPG-Bench)에서
    • 모두 SOTA 또는 그에 준하는 성능을 달성*했음을 확인.

필요한 추가 배경 정리

  • CLIP 계열 비전 인코더: 오픈AI가 발표한 CLIP은 이미지와 텍스트를 동일 임베딩 공간에 사영(Projection)하여, 텍스트-이미지간 유사도를 학습. 이 논문에서 사용하는 SigLIP은 CLIP 계열로부터 변형된 모델로서, 시그모이드 로스를 활용하여 더 나은 로블러스트(robust) 특성을 가짐.
  • 비전 토큰(코드): VQ-VAE나 디퓨전 모델(Stable Diffusion) 내부에서 “ latent code ” 또는 “ codebook index ”를 사용해 이미지를 토큰화. 이 토큰화된 시퀀스를 언어 모델에 연결해 놓으면, 언어 모델이 이산(discrete) 토큰을 예측해 나가며 이미지를 생성 가능.
  • 멀티모달 세대(Multimodal Generation) 모델: DALL-E, Stable Diffusion, Imagen, Midjourney, Emu3 등 다양한 모델들이 이미 존재하지만, 대부분은 “이미지 생성”에 특화되어 있고, “이미지 이해”나 “멀티모달 QA” 등은 별도의 모델/파이프라인을 써야 했다.
  • 모델 성능 평가:
    • 이해: 정확도(Accuracy), BLEU, CIDEr 등 텍스트-기반 지표.
    • 생성: Fréchet Inception Distance(FID), CLIP Score, 유저 스터디(주관 평가) 또는 자동화된 개별 객체/속성 매칭(GenEval) 등.

이처럼 Janus-Pro는 모델을 “하나로” 묶되, 내부 인코더를 이원화하여 상충 없이 훈련하는 방식을 확장·개선한 사례라고 볼 수 있습니다. 결론적으로, 모델 크기가 클수록, 더 많은 양질의 데이터를 쓸수록, 그리고 다양한 학습 기술을 활용할수록 멀티모달 이해와 생성 모두에서 우수한 성능을 얻을 수 있음을 잘 보여줍니다.

728x90

관련글 더보기

댓글 영역