이해(Inference) 흐름 1) 이미지를 SigLIP 모델로 인코딩 → 고차원 특징을 추출 (공간적 grid 형태). 2) 이 특징 지도를 1D 시퀀스로 풀어서(Flatten) “이해(understanding) 어댑터”에 통과시킴. 3) 이 어댑터가 특징 벡터를 LLM 입출력 공간(토큰 임베딩 차원)에 맞게 변환해 줌. 4) 이후 LLM이 텍스트 토큰과 함께 이 시각 특징 시퀀스를 받아서 질의응답, 설명 등 텍스트 형태의 출력을 생성함.
생성(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의 세 단계
Stage I: 이해·생성용 어댑터 및 이미지 디코더만 학습(LLM과 비전 인코더는 고정).
Stage II: 본격적인 멀티모달 사전학습(Pretraining). LLM 파라미터도 업데이트하며, "이해 + 생성"이 동시에 가능하도록 대규모 데이터(이미지-텍스트 쌍)를 학습.
Stage III: 추가적인 지도 학습(Supervised Fine-tuning) 단계. 사람의 설명, 질문응답, 대화형 데이터 등으로 미세 조정.
Janus-Pro 개선점
Stage I을 더 길게:
ImageNet을 이용해 생성 모델(디코더+생성 어댑터) 쪽에서 픽셀 의존성을 충분히 학습시킴.
이렇게 하면 LLM 파라미터를 고정한 상태에서도 “카테고리 명령(예: dog, cat 등)만으로 대략적인 이미지를 만드는 능력”을 빠르게 끌어올릴 수 있음.
Stage II에서는 ImageNet 활용 제거:
Janus는 Stage II에서 ImageNet 데이터를 상당 부분 섞어서 썼으나, Janus-Pro는 이를 제거하고, 다양한 텍스트-투-이미지 데이터에만 집중.
이렇게 하면 훨씬 더 풍부한 묘사(“dense description”)를 통해 이미지를 생성하는 능력을 더 효율적으로 학습할 수 있음.
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의 핵심은, “분리된 비전 인코더 구조”에 추가로 학습 전략, 데이터, 모델 규모를 확장·개선하여 성능을 크게 끌어올린 것.
한계점:
이해 파트 해상도 384×384 제한 → 세밀한 객체 검출 혹은 OCR 등에 어려움.
생성 파트 해상도도 384×384 → 미세한 디테일이 부족.
특정 인물의 얼굴이나 글씨, 작은 디테일 등이 뭉개질 수 있음.
향후 해상도 증가를 통한 세밀화가 과제가 될 것임을 언급.
정리
Janus에서 제안된 “이해와 생성의 비전 인코더 분리” 아이디어를 더 큰 규모와 더 많은 데이터, 더 효율적인 학습 전략으로 확장하여,
멀티모달 이해(이미지 캡셔닝, 질의응답, 시각추론 등)와
텍스트-투-이미지 생성(합성, 상상, 지시사항 이행)에 동시에 강점.
세 단계 학습 전략(분할된 Stage I, II, III)을 유지하되,
Stage I에 ImageNet 기반 생성 프리트레이닝 시간을 늘리고,
Stage II에서는 바로 실제 “텍스트-이미지” 데이터를 더 많이 사용,
Stage III에서는 멀티모달 이해용 지도학습 비중을 조금 높이는 방식으로 균형을 맞춤.
데이터 측면에서,
이해용 이미지-텍스트 쌍에 9천만 건 이상 확장,
생성용 합성 데이터(약 7천만 건)를 추가하여 실제 데이터와 1:1 비율로 사용함으로써 텍스트-이미지 정합성을 더욱 끌어올림.
모델 크기를 기존 1.5B에서 7B까지 확장하면서, 오토레그레시브 트랜스포머(LLM) 특유의 스케일링 효과를 극대화.
실험 결과,
멀티모달 이해 벤치마크(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는 모델을 “하나로” 묶되, 내부 인코더를 이원화하여 상충 없이 훈련하는 방식을 확장·개선한 사례라고 볼 수 있습니다. 결론적으로, 모델 크기가 클수록, 더 많은 양질의 데이터를 쓸수록, 그리고 다양한 학습 기술을 활용할수록 멀티모달 이해와 생성 모두에서 우수한 성능을 얻을 수 있음을 잘 보여줍니다.
댓글 영역