Transfusion: Predict the Next Token and Diffuse Images with One Multi-Modal Model (ISLR 2025)
https://openreview.net/forum?id=SI2hI0frk6
Transfusion: Predict the Next Token and Diffuse Images with One...
We introduce Transfusion, a recipe for training a multi-modal model over discrete and continuous data. Transfusion combines the language modeling loss function (next token prediction) with...
openreview.net
학부생이 교수님과 석박사생들 앞에서 진행하는 논문 세미나.. 처음이라 두렵고 떨리는 마음이 한가득이지만,, 멋있게 해내고 싶은 건강한 도파민을 느끼며 열심히 준비중이다*_* 모르는 게 많아 하나하나 찾아가며 꼬리에 꼬리를 잇는 개념 공부를 하고 있고, 표 하나도 해석 못 해서 하나하나 분해하며 공부하고 있다ㅋㅋㅋㅋ from scratch 부터 한 나의 논문 분석. 그래도 basic부터 들어가는 학부생의 시선이 색다른 분석이 되고 insight가 되길 바라본다!
0. Abstract
Transfusion=a recipe for training a multi-modal model over discrete(text) and continuous(image) data
text modality / image modality를 구분지어 따로 training 후 합치는 후처리 과정을 거쳤던 기존 모델들과 달리 이 논문에서 소개는 Transfusion 모델은 한 모델 내에서 text modality와 image modality를 모두 처리한다.
최대 7B 파라미터로 사전학습을 진행했고, 기존 방법(예: discrete image token으로 바꾼 Chameleon)보다 더 나은 성능을 보였다.
1. Introduction
Multi-modal generative models
Multi-moal generative model은 discrete elements(텍스트나 코드) & continuous elements(이미지, 오디오, 비디오) 두 가지 모두를 인지・처리・생성이 가능해야 한다.
Previous Paper
discrete modality에 대해서는 사실상 best 상태를 얻은 것으로 간주된다! (OpenAI et al.,2024, Dubey et al.,2024)
continuous modlity generation도 diffusion model(이미지를 생성하기 위해 점점 더 노이즈를 제거해 나가는 방식으로 학습하는 생성 모델)(Ho et al.,2020, Rombach et al.,2022a)과 일반화(Lipman et al.,2022)로 현재 짱짱이다.
그렇다면 얘네를 combine하는 노력은?
- language model이 diffusion model을 tool처럼 사용
- explicitly (Liu et al.,2023)
- pretrained diffusion model을 뒤에 붙여서(grafting) (Dong et al.,2023, Koh et al.,2024)
- quantize the continouous modalities(연속적인 데이터를 이산적인 코드/토큰으로 바꾸는 것 (예: 이미지를 discrete code로)) (Van Den Oord et al.,2017)
- 이 경우 이미지 정보 손실 있음
- standard language model(GPT, LLaMA같이 그냥 일반적인 언어모델 말함)한테 discrete token을 학습 시키는 것(단어도 이미지도 이 경우 discrete token) (Rasmesh et al.,2021, Yu et al.,2022,2023)
[텍스트: "A red car"] + [이미지를 1024개의 discrete 토큰으로 바꿈 (VQ-VAE)]
→ "A red car" + 1983, 5781, 302, ... ← 이미지 토큰들
→ 전체 시퀀스를 GPT에 넣고 next-token prediction으로 학습
그럼 이 논문이 제안하는 Transfusion은 한 모델 내에서 discrete text token 예측 & diffuse continuous images
- can fully integrate both modalities
- no information loss
접근 방식 | 대표 논문/모델 | 핵심 아이디어 | 장점 | 단점 | Transfusion과의 차이 |
텍스트-디퓨전 모델 연계 (tool처럼 사용) | Liu et al. (2023), Dong et al. (2023), Koh et al. (2024) | 언어 모델이 diffusion 모델을 tool처럼 호출하거나 붙여 사용 | 모듈화 용이, 기존 모델 재활용 가능 | 통합적 학습이 아님. end-to-end 최적화 어려움 | Transfusion은 하나의 Transformer로 통합 학습 |
이미지를 quantization 후 언어 모델 학습 | VQ-VAE (Van Den Oord et al., 2017), DALL·E (Ramesh et al., 2021), Parti (Yu et al., 2022) | 이미지 → discrete token 변환 → 텍스트와 함께 token sequence로 처리 | 구조 간단함 (LM만 사용) | 이미지 정보 손실, 성능 제한 | Transfusion은 연속적인 이미지 표현 유지 (VAE latent vector + diffusion 사용) |
두 모델 병렬 학습 (LM + Diffusion) | 없음 (새롭게 제안된 구조) | 각각의 modality에 최적화된 objective를 사용하며 통합 학습 | 정보 손실 없음, 각 modality 성능 유지 | 구조 복잡도 증가 가능성 | 바로 Transfusion의 핵심 아이디어 |
Transfusion
논문 흐름
2. Background
목표 1. language modeling
목표 2. diffusion
=>둘 다 단일 모델을 능가하는 성능을 달성했다
2.1 Language Modeling
언어 모델 학습은 "앞 단어들을 보고 다음 단어를 맞추는 분류 문제"
vocabuary V에서 각각 토큰의 연속 y=y_1, y_2, ..., y_i
기존 standard language model이 사용하는 LM Loss를 그대로 사용한다.(GPT, LLaMA와 동일한 방식 사용)
조건부 확률을 통해 P(y)를 나타내는 방법이다. P(y)는 문장 전체가 등장할 확률을 나타내는 값인데, y_i가 언어모델이 학습한(이전 토큰들로 했겠지?) 데이터 분포 상에서 얼마나 자연스러운지를 나타내는 값이다. 그냥 그 토큰이 이전 문맥을 고려했을 때 '얼마나 나올법한 문장이냐'를 판단하는 거다.
$$ L_{LM}=\mathbb{E}_{y_i}[-logP_\theta (y_i|y_{<i})] $$
이전의 token들(앞 문맥)을 보고 y_i가 나올 확률의 log값을 평균낸 기대 손실 (log는 그냥 log-likelihood 때문에 쓴거라 큰 의미는 없다)
학습이 끝난 언어 모델은 $PθP_\theta로부터 한 토큰씩 샘플링하여 텍스트를 생성할 수 있고, 보통 temperature나 top-p 같은 기법을 사용한다.
2.2 Diffusion
Diffusion은 데이터를 점점 노이즈화한 버전을 만들고, 그걸 역방향으로 복원하는 과정을 학습하는 모델
Denoising Diffusion Probabilistic Models[Ho et al.,2020]
Forward Process_노이즈 추가
original data→noise
각 step별로 noise가 추가되는 과정을 수식으로 표현해보자.
$$q(x_t|x_{t-1})=N(x_t;\sqrt{1-\beta _t}x_{t-1},\beta _t\textbf{I})$$
$$x_t=\sqrt{\overline{\alpha }_tx_0}+\sqrt{1-\overline{\alpha }_t}\epsilon \\ \overline{\alpha }_t=\prod_{s=1}^{t}(1-\beta _s)$$
Reverse Process_노이즈 제거 방식을 학습
denoising that the model learns to perform
:완전히 노이즈화된 xT 상태에서 AI가 조금씩 노이즈를 제거하며 원본 이미지 x0로 복원하는 과정
reverse의 방법에는 여러가지가 있는데 이 논문에서는 Ho et al.,2020의 방법을 따른다.(forward processs랑 동일하게~)
$$L_{DDPM}=\mathbb{E}_{x_0,t,\epsilon}[\left\|\epsilon -\epsilon _0(x_t,t,c) \right\|^2]$$
Noise Schedule
"각 단계마다 얼마나 노이즈를 넣을지 결정하는 계획표"
처음부터 너무 노이즈가 많이 들어가면→모델이 복원하는 reverse 과정이 어려움
너무 천천히 하면→학습 속도가 느려지고, 정보 보존이 지나치게 많아짐
Linear | βt=선형 증가 | 가장 기본적. 일정하게 노이즈 증가 |
Cosine (📈) | $\bar{\alpha}_t = \cos^2\left(\frac{t/T + s}{1+s} \cdot \frac{\pi}{2}\right)$ | 초반에 천천히 노이즈 증가 → 정보를 오래 유지 |
Quadratic | $\beta_t \propto t^2$ | 초반에 거의 유지 → 뒤에서 급격히 망가짐 |
Exponential | $\beta_t \propto \exp(t)$ | 빠르게 노이즈 증가 → 학습 불안정해질 수 있음 |
Cosine Scheduler
Improved Denoising Diffusion Probabilistic Models"[Nichol & Dhariwal, 2021]
- 초반에는 노이즈를 천천히 증가시켜서
- 모델이 더 많은 정보를 활용하도록 돕고
- 뒤로 갈수록 노이즈를 많이 추가해 더 일반적인 분포에 가까워지게 함
- → 성능도 좋아지고, 샘플링 품질도 향상됨
Inference 이미지 실제 생성
1. pure noise x_t로 시작
2. 학습된 모델로 노이즈를 예측
$\hat{\epsilon }=\epsilon _{\theta }(x_t,t,x)$
3. noise schedule에 따라서 predicted noise를 schedule
4. 일부 비율이 x_t로부터 제거되고 x_{t-1}을 생성
+이미지 생성 품질을 향상시키기 위해 CFG(Classifier-Free Guidance)를 사용하기도 함
2.3 Latent Image Representation
-이미지 데이터를 다룰 때 raw pixel 그대로 쓰는 게 아니라, 압축된 벡터 표현(latent vector)으로 변환해서 사용하는 방식
-이미지 데이터를 직접 다루는 대신, VAE 기반의 encoder를 사용해 압축된 latent vector로 바꾸고, 이 latent를 시퀀스처럼 쪼개서 Transformer에 입력하는 구조
Latent로 바꾸는 이유
1. 계산 효율성
2. 정보 밀도(의미 있는 압축 표현)
- early diffusion models[Ho et al.,2020]
- pixel space에서 directly하게 작동
- computationally expensive
- Variational autoencoders(VAEs)[Kingma and Welling, 2013]
- 이미지를 lower-dimensional latent space에 encoding하여 cost 줄임
- modern VAEs[Esser et al.,2021]
- deep CNN이 활용되며 modern VAEs는 reconstruction loss+regularization losses의 합으로 학습됨
- latent diffusion models(LDMs)[Rombach et al., 2022a]
- downstream models
- to operate efficiently on compact image patch embeddings
- 학습된 VAE의 latent 공간은 고해상도 이미지보다 훨씬 작고 계산이 효율적인데, diffusion model도 이 latent 공간에서 작동하게 만들면 메모리/시간 효율이 크게 향상된다
- e.g., 8x8 pixet patch→8-dimensional vector(8차원 벡터 하나로 압축 표현)
autoregressive language modeling approaches
- images must be discretized(이미지를 이산(discrete)화해야 한다)
- vector-quantized VAEs(VQ-VAE)- quantization layer+related regularization losses을 도입→continuous latent embeddings를 discrete token들로 연결
- VQ-VAE 같은 이산 오토인코더가 이 역할을 수행한다
- 연속적인 latent vector를 codebook에서 가장 가까운 벡터로 매핑해서 이산화함
- regularization losses=원래 latent와 quantized latent 간의 차이를 loss로 최소화해야함
3.Transfusion
transfusion은 하나의 unified model이 discrete&continuous한 모달리티 모두를 이해하고생성할 수 있도록 학습시키는 방법
**differenct modalities 별로 separate losses를 사용 가능 -- language modeling for text, diffusion for images
(이때 parameter&shared data는 공유하는 상태로)
Data Representation
text string
- tokenized into a sequence of discrete tokens from a fixed vocabuluary
- 각각의 token은 integer로 표시
image
- 이미지는 VAE로 인코딩되어, latent patch 벡터들의 시퀀스로 바뀜
- VAE: each patch is represented as a continuous vector
- 8×8 픽셀 블록 하나가 8차원 벡터로 표현될 수 있는 것처럼!
- patch들은 각 이미지마다 sequence of patch vector을 생성하기 위해 left-to-right, top-to-botton으로 sequenced되어있음
- 예: 4×4 patch → 16개의 벡터 → 1D 시퀀스
mixed-modal
- 이미지 시작에는 BOI, 끝에는 EOI 같은 특수 토큰을 추가함
- 그리고 이 이미지 시퀀스를 텍스트 시퀀스 사이에 넣는다
[Text token 1] [Text token 2] [BOI] [Image patch 1] ... [Image patch N] [EOI] [Text token 3]
=> 하나의 긴 시퀀스 안에
- 정수(텍스트 토큰)와
- 벡터(이미지 패치)가 함께 존재
Model Architecture
1. 하나의 Transformer로 모든 modality 처리
a. 텍스트와 이미지 모두 하나의 통합된 Transformer로 처리
b. modality별로 아예 다른 인코더를 두는 방식이 아니라,
→ 텍스트/이미지를 같은 시퀀스로 만들어서 하나의 모델에 넣는 방식
2. Transformer 입력은 모두 high-dimensional vector, 출력은 similar vectors
a. Transformer는 입력으로 $\mathbb{R}^d$차원의 벡터 시퀀스를 받음
b. 그런데:
- 텍스트는 정수 token (discrete)
- 이미지는 벡터 patch (continuous)
- → 그래서 입력 전 처리(embedding/patchification)를 다르게 해
3. 모달리티별 전처리: 서로 다른 lightweight encoder
a. data를 이 space에 convert할 만한 lightweight modality-specific components + unshared parameters가 필요
b. 텍스트: embedding matrices 사용
ㄱ. each input 정수 토큰→vector space
ㄴ. 출력도 다시 벡터 → softmax → discrete token으로
c. 이미지: kxk patch vectors->single transformer vector(거꾸로도 마찬가지)의 대안이 필요
ㄱ. a simple linear layer: 단순 선형 변환
ㄴ. up and down blocks of a U-Net: 더 복잡한 CNN 기반 구조 (성능은 더 좋음)
Transfusion Attention
language model은 casual masking 사용
-loss&gradients를 전체 시퀀스에 걸쳐 future token으로부터의 information leaking없이 효율적으로 forward-backward pass 계산하기 위해
text는 naturally sequential인 반면 이미지는 그렇지 않다. 이미지들은 주로 modeled with unrestricted(bidirectional) attention
=>Transfusion은 이 두 가지 attention pattern을 casual attention→sequence 내 모든 요소에 적용, bidirectional attention→개별 이미지의 요소 내에서 적용 하여 두 가지를 combine
-attention은 같은 이미지 내에서는 모든 patch끼리 자유롭게 attend 가능
-하지만 시퀀스 전체에서는 항상 “왼쪽만” 볼 수 있음(Transformer 전체 시퀀스 기준에서는 여전히 causal mask를 따르므로,
오른쪽에 있는 텍스트나 이미지 patch는 볼 수 없다)
[text1] [text2] [BOI] [img1] [img2] [img3] [EOI] [text3]
- text1~2는 causal로 처리되고,
- img1~3은 서로 자유롭게 정보 주고받을 수 있음
- 하지만 img1은 text3은 볼 수 없음 (causal mask 때문)
Training Objective
Transfusion은 두 가지 서로 다른 목적 함수를 사용해 한 모델을 동시에 학습:
- 텍스트 → Language Modeling (LM) loss
- 이미지 → Diffusion loss (DDPM)
LM loss: token 별로
Diffusion loss: image 별로(이 경우 연속적인 여러 개의 patch 벡터로 표현됨)
- diffusion loss 계산 이전에 input latent image에 noise 추가
- xt를 patchification 이전에 만들기 위함
Inference
4. Experiments
4.1 Setup
Evaluation
Text to Text
- 데이터셋
- Wikipedia, C4: held-out 20M tokens
- Llama 2 Evaluation Suite: 여러 자연어 추론/이해 벤치마크들
- 지표
- Perplexity (↓): 낮을수록 예측이 잘 됨
- Accuracy (↑): Llama Eval suite 기준 zero-shot 정확도
Text to Image
- 데이터셋
- MS-COCO validation set (30,000개 랜덤 텍스트 프롬프트)
- 지표
- FID (Frechet Inception Distance, ↓): 이미지의 사진처럼 생긴 정도
- CLIP score (↑): 이미지와 텍스트가 얼마나 잘 일치하는지 (텍스트-이미지 정렬)
Image to Text
- 데이터셋: MS-COCO Karpathy test split
- 지표
- CIDEr score (↑): 생성한 설명이 정답 캡션과 얼마나 잘 맞는지 평가
Cross-modal 종합 평가
- GenEval benchmark는 텍스트 프롬프트 → 이미지 생성 → 정합성 평가
- Transfusion은 DALL-E 2, SDXL보다 높은 점수 (0.63) 달성함
(SDXL: 0.55, DALL-E 2: 0.52)
Baseline
이미지→discrete tokens로 처리한 후 전체 모델을 token sequence로 이루어진 standard language model로 처리하는 방법이 기존 방법 [Ramesh et al.,2021, Yu et al.,2022,2023]
이 논문이 선택한 baseline = Chameleon[Chameleon Team, 2024]
- same data, compute, and architecture
차이점
- Transfusion은 image를 continuous space에 유지함으로써 quantization information bottleneck을 없앤다
- quantization layer, Chameleon의 VQ-VAE의 codebook loss
항목 | Chameleon | Transfusion |
이미지 처리 방식 | VQ-VAE로 quantize (Discrete) | VAE로 latent 유지 (Continuous) |
loss | 모두 LM loss | 텍스트는 LM loss, 이미지는 diffusion loss |
장점 | 간단한 구조 | 정보 손실 없음, 성능 좋음 |
단점 | 양자화로 정보 손실 | 구현 복잡도 약간 ↑ |
Chameleon이랑 Transfusion이 완전한 비교대상은 아님
- Chameleon은 학습이 불안정해서 원래의 LLaMA 구조에서 여러 가지를 바꿨다 (완전 동일 architecture이 X)
- 학습 안정성을 위해 여러 구조적 보완 요소를 넣음
(query-key normalization, post-normalization, denominator loss, lower learning rate of 1e-4=>efficiency cost↑)
- 오히려 Chameleon은 discrete token 방식이지만 구현은 더 복잡하고 느리다.
Data
- 텍스트와 이미지 데이터를 1:1 비율로 섞은 시퀀스를 학습에 사용
- 텍스트: LLaMA 2 학습에 쓰인 2T tokenizer and corpus [Touvron et al., 2023b]
- 여러 다양한 도메인 분포를 가진 2T tokens
- 이미지: 총 380M개의 licensed Shutterstock 이미지-캡션 쌍
- 각각 이미지들은 center-cropped
- resized to produce a 256x256 pixel image
- 시퀀스 내에 이미지+캡션을 넣을 때:
- 80% 확률로 캡션이 먼저 등장
- 20% 확률로 이미지가 먼저 등장
→ 이건 모델이 다양한 순서에 익숙해지도록 하기 위한 구성
- 전체 학습량: 최대 2T tokens (1T 텍스트 + 1T 이미지 패치)
- 1T 이미지는 3.5B 캡션-이미지 쌍 at 256 patches per image (라이선스 이미지)
- 좀 다양하게 하려고 200M publicity available 이미지-캡션을 추가함(단 사람 포함X)
- 분포를 위해서 사람을 포함한 80M Shutterstock 이미지-캡션을 upsample (균형 맞추기 위해 추가)
- Conceptual 12M(CC12M) [Changpinyo et al., 2021] 데이터도 추가함 (웹 이미지 캡션 데이터)
- 마지막 training schedule의 1%에 high-aesthetic images 추가 (품질 좋은 이미지 강조 학습)
=>총 mixture of 629M image-caption pairs per epoch
Latent Image Representation
VAE training
- 86M parameter을 VAE로 학습
- CNN encoder, decoder, latent dimension 사용
- training objectve: combines reconstruction and regularization losses (Appendix A)
- 256x256 pixel의 이미지 → 32x32x8 tensor
- 각각의 latent 8-dimensional latent pixel은 원본 이미지의 8x8 pixel patch를 나타낸다
- trains for 1M steps
VQ-VAE training
- VAE랑 동일한 setup
- 다른 점: KL loss 대신 "codebook commitment loss"를 사용 + β=0.25 [Van Den Oord et al., 2017] + 16,384 token type의 codebook
- 기존 VAE에서는 reconstruction loss(이미지 복원)+KL loss(latent 분포가 정규분포를 따르도록 정규화하는 KL divergence)
- 하지만 VQ-VAE는 latent를 continuous하게 유지하지 않고 quantization해서→ codebook의 discrete 벡터로 바꾸기 때문에, KL loss를 쓸 필요가 없다!
Model Configuration
모델을 크기별 구성: Scaling 실험
LLaMA 설계 기준을 따라 다섯 가지 크기의 모델을 훈련시킴
모델 크기 | 파라미터 수 |
Tiny | 0.16B |
Small | 0.37B |
Medium | 0.76B |
Large | 1.4B |
XL | 7B |
Patch Encoding 방식에 따른 구성 차이
방식 | 설명 | parameter 영향 |
Linear patch encoding | patch를 단순한 linear layer로 projection | 추가 파라미터 거의 없음 (~0.5%) |
U-Net patch encoding | patch에 CNN 기반 U-Net encoder/decoder 추가 | +0.72B additional parameters, 작은 모델에선 비중 크지만 7B 모델에선 +3.8% 정도(embedding layer의 파라미터 수와 거의 동일→ 성능 대비 효율적인 구조) |
Optimization
optimizer
AdamW(β1=0.9, β2=0.95, ϵ=1e-8)
- weight decay = 0.1
- gradient clipping: nort 1.0
- λ tuning
learning rate
- learning rate=3e-4
- warmup 단계: 4,000 steps
- decay 방식: cosine scheduler 사용 → 최종 1.5e-5까지 감소
sequence & batch
항목 값
시퀀스 길이 | 4,096 tokens |
기본 batch 크기 | 2M tokens |
기본 step 수 | 250,000 steps → 총 0.5T tokens |
대규모 실험(batch 크기) | 4M tokens × 500,000 steps = 2T tokens |
Inference
text generation
- text generation에서 greedy decoding 사용
- 매 단계마다 가장 확률 높은 토큰 하나만 선택
→ 빠르고 deterministic하지만 다양성이 낮을 수 있음
Llama 평가 벤치마크(Llama evaluation suite)
- ranked classification (여러 선택지 중 맞는 정답을 고르는 classification 형태)
- 텍스트 생성X
- 여기는 next-token generation이 아니라 분류 문제로 풀음
image generation
- 학습 시엔 1,000 timestep으로 diffusion 모델 학습
- 생성할 때는 250 step만 사용해서 시간 단축
→일반적인 diffusion 모델에서 쓰는 sampling acceleration 기법
controlled comparison experiments(4.2)
- Chameleon 따라서 CFG 계수=5
- CFG = Classifier-Free Guidance
- → 이미지 생성 시 텍스트 조건(prompt)을 더 강하게 반영하기 위한 테크닉
- Transfusion한테는 CFG 계수 5는 과도해서 성능이 살짝 나빠짐
- → 그래서 Ablation 실험에서는 w = 3으로 낮춰서 사용(4.3)
large scale experiment(4.4)
- 벤치마크마다 best 성능이 나오는 CFG 계수를 따로 튜닝
- 예: COCO에선 w=2, GenEval에선 w=4 등
- 이건 diffusion 실험에서 일반적으로 쓰이는 방식
4.2 Controlled Comparison with Chameleon
setting
모델 크기 | 여러 크기(N), 최대 7B |
학습량 | 0.5T tokens (동일) |
이미지 인코딩 | 모두 Linear (U-Net 아님) |
patch size | 2×2 (1 이미지당 256 patch) |
attention | bidirectional (이미지), causal (텍스트) |
CFG 계수 | 5 (Chameleon과 동일하게 맞춤) |
FLOPs 기준 성능 분석
모델 크기(N) × 토큰 수(D) × 6 = FLOPs (연산량)으로 간주하고, log(FLOPs) vs. log(metric) 형태로 그래프 분석함
- parity FLOP Ratio = 같은 성능을 내려면 얼마나 연산을 써야 하느냐
(Transfusion이 Chameleon보다 얼마나 효율적인지 수치화)
image generation
- FID 기준으로 Transfusion이 34배 더 효율적
- 이유: quantization 없이 continuous space 사용 → 정보 보존
text-only
- 텍스트는 두 모델이 동일한 방식으로 처리했는데, Transfusion이 성능이 더 좋았음
- 추정 이유:
- Chameleon은 양자화 이미지 토큰이 output 분포에 간섭해서 텍스트 성능 하락
- Transfusion은 이미지 학습을 diffusion으로 분리해서 간섭 적음
- 가설 1. 텍스트와 이미지 토큰이 output 분포에서 경쟁한다
- Chameleon은 이미지를 discrete token으로 바꾸기 때문에 텍스트 토큰과 이미지 토큰이 같은 softmax에서 예측돼야 하니까 거기서 경쟁한다~
- 가설 2. diffusion은 이미지 생성에 더 효율적이어서, 모델 용량을 더 텍스트에 쓸 수 있다
- diffusion은 이미지 생성 자체가 더 계산 효율적
- 그리고 이미지를 continuous하게 처리하니까
- discrete로 처리하는 Chameleon보다 파라미터 낭비가 덜함
- → 결과적으로 모델의 표현력을 텍스트에 더 쓸 수 있음
4.3 Architecture Ablations
Transfusion의 성능에 영향을 주는 것들
4.3.1 Attention Masking
- causal attention만 쓸지 (왼쪽만 보게)
- 같은 이미지 내에서는 bidirectional attention 허용할지 비교
결과
- 모든 벤치마크에서 bidirectional이 성능이 더 좋음
- 특히 linear encoder 사용 시 FID가 61.3 → 20.3으로 크게 향상
→ 이미지 내 정보 흐름을 잘 살릴 수 있어서 효과적임
4.3.2 Patch Size
- 하나의 이미지가 시퀀스에서 차지하는 길이를 줄이기 위해 patch size를 키워봄
- 단점: patch 수가 줄면 정보 손실 가능

- linear 인코딩에선 patch 수 줄수록 성능도 줄어듬
- patch 수가 적다 = 정보량이 압축되어 있음
- 그러면 transformer은 정보 복원/해석에 더 많은 표현력(파라미터)을 써야 함
- 그러다 보니, 텍스트를 처리할 수 있는 여력이 줄어드는 것
- U-Net 인코딩에선 patch 수 줄어도 성능 유지 또는 향상
→ 더 많은 이미지와 noise를 학습할 수 있었기 때문으로 추정
=>이미지 patch 수가 적어지면 모델이 이미지 처리에 더 많은 계산·표현력을 사용하게 되고, 그 결과 텍스트 성능이 떨어질 수 있다
4.3.3 Patch Encoding/Decoding Architecture
- patch를 transformer에 넣기 전에 linear layer만 쓰는 것 vs. U-Net 인코딩 블록 추가
결과
- U-Net의 inductive bias가 모델 학습에 도움을 줌
- 가설 1. U-Net의 inductive bias에 따라 이미지 처리에 더 적합하기 때문
→U-Net 구조의 효과이다 - 가설 2. U-Net을 사용하면 파라미터 수가 늘어나기 때문에 성능이 좋아진거다
→파라미터 수 증가의 효과이다
검증
- Transformer 본체만 7B로 키우고➡ U-Net의 파라미터 수는 고정 (작은 채로 유지)
- 결과: Transformer가 커질수록:
- U-Net 추가의 상대적 이득은 줄어들지만, 완전히 사라지진 않았다!
- 작은 모델 + U-Net이 7B 모델 + linear patchification보다 이미지 생성 성능(FID)이 더 좋았다!
=>U-Net 구조 자체의 힘이 있다
- 1.4B 모델 + U-Net → 1.67B 모델이 linear 7B 모델보다 이미지 캡셔닝 성능(CIDEr)이 더 좋음
=>크기 차이가 커도 U-Net 구조가 성능을 끌어올림
4.3.4 Image Noising
이미지 생성/이해 성능을 개선하기 위해 diffusion 노이즈를 어떻게 조절했는지에 대한 ablation실험
실험 배경
80%: caption→ image
20%: image→caption
20%의 경우 diffusion loss를 위해 이미지에 강한 noise (최대 t = 1000까지)를 넣는데, 이게 뒤에 나오는 텍스트 예측(captioning)에 방해될 수 있다
실험 목표
이미지가 먼저 나오는 경우, 이미지에 너무 심한 노이즈를 넣지 않으면 텍스트 예측 성능이 개선될까?
-이미지 noising을 절반(t ≤ 500)까지만 제한하는 실험
실험 조건
20%의 이미지→captioning에서 이미지의 diffusion noise를 최대 t=500으로 제한
실험 결과
=>noise limiting은 image captioning(지표=CDr)에서는 성능 증가, 다른 benchmark에서는 미미한 효과
4.4 Comparison with Image Generation Literature
SOTA image generation model들과 Transfusion의 image generation 능력을 비교해보자!
실험 설정
- Transfusion 모델:
- 7.3B 파라미터 (Transformer 7B + U-Net 0.27B)
- 2x2 latent pixel patches
- 학습 데이터:
- 텍스트 1T corpus tokens
- 이미지-캡션 3.5B 쌍 = 총 약 2T token 수준
- patch size = 2×2, U-Net 사용
- 7.3B 파라미터 (Transformer 7B + U-Net 0.27B)
➡ 이전 장에서는 controlled 세팅(간결성 위주)
➡ 여기선 대규모 이미지 생성 성능 위주로 세팅함
결과
4.5 Image Editing
Transfusion을 이미지 생성 말고 다른 이미지에 기반하여 수정(image-to-image)할 수 있을까?
실험 방법
이 방식은 LIMA (Zhou et al., 2024)의 소량 instruction tuning 방식에서 영감을 받음
1. 기존 7B Transfusion 모델을 사용
2. image editing 데이터셋 8,000개로 fine-tuning 함
- 각 예시는:
- 입력 이미지
- 수정 명령(prompt)
- 수정된 출력 이미지
- 예:
- 입력: 마룻바닥 사진
프롬프트: “Add a blue rug to the floor”
출력: 파란 러그가 추가된 이미지
- 입력: 마룻바닥 사진
=>pretraining에 포함되지 않았던 시나리오들로 image-to-image 생성에 일반화 성능을 알 수 있다
실험 결과
- 학습에 직접 포함되지 않았던 image-to-image 수정 task도 잘 수행
- 모달리티 조합이 달라도 일반화 가능성 있음을 보여줌
- 새로운 방향성의 가능성 제시, 향후 더 많은 연구 필요
5. Conclusion
- 지금까지 텍스트 생성 (discrete)과 이미지 생성 (continuous)은 완전히 다른 방식으로 학습돼 왔다.
- 텍스트: next-token prediction (e.g. GPT-style)
- 이미지: diffusion (e.g. DALL·E 2, SDXL)
➡ Transfusion은 이 둘 사이의 간극(gap)을 메우려는 시도
- 기존엔 하나의 모델이 두 방식(LM + Diffusion)을 동시에 학습한 적이 거의 없었음
- Transfusion은:
- 텍스트 → LM loss (cross-entropy)
- 이미지 → Diffusion loss (MSE)
로 각 modality에 맞는 방식으로 훈련시킴
→ 단일 Transformer 모델이 각 modality에 맞는 loss로 학습!
- 파라미터 공유로 인한 손실이 거의 없음
→ 텍스트와 이미지를 하나의 모델이 처리해도 성능 저하 없음! - 그리고:
- 텍스트도 생성 가능
- 이미지도 생성 가능
- 둘을 섞은 멀티모달도 가능
➡ 즉, 하나의 unified 모델로 모든 modality를 다룰 수 있다!
직접 써가면서 공부한 논문 v^^v !!
요곤 ppt~
Insight & 발표 후기
첫 논문세미나는 나름(?) 성공적으로 마쳤다✨ 오히려 초반에 떨고 뒤에 가서가 더 자신있게 잘 발표한 것 같아~~
교수님이 주신 피드백/insight + 들어왔던 질문들을 간단하게 정리해보겠다
U-Net의 구조상 이점이 밝혀졌으니 앞으로 image modality를 다룰 때 raw image가 아닌 가공 과정(U-Net을 거치는 것)을 거치는 것이 좋겠다.
text→image→text 구조가 무조건적으로 fix되어야 하는 건지?
MS-COCO dataset은 '?'가 input이 될 수 없는데 transformer model diagram에서 제시된 ?는 무엇인지,,(dataset이 다른 건지?)
앞으로 model을 개발함에 있어 완전 처음부터 하려고 하지 말고 Transfusion 논문이 diffusion+transformer+language model인 것처럼 단순하게 아는 걸 조합해보는 시도를 해볼 것
insight+해석 중심의 발표가 좋았다
해당 논문은 확실이 이 architecture의 이점/차별점을 쭉 끌고 간 clarity가 돋보임
*Chameleon과의 차별점을 제대로 잡고 가기 (Chameleon의 Model architecture도 제대로 이해하고 넘어갈 것)
image patch에서도 sequence를 유지하여
나는 Chameleon 완전 파악+Transfusion 완전 파악 후 세세한 차이점을 잡기보다 핵심 차이점을 끌고 가서 비교하는 방식의 접근을 했는데 교수님은 전자를 바라셨던 것 같다.
*evaluation을 보면 text-text text-image image-text 등등 여러 조합의 실험을 이 모델로 했는데, 그걸 설정하고 변환하는 과정은 어떻게 진행되는 건지?
이 논문에 대해 깊이 공부하고 완전하게 소화한 것이 느껴져서 칭찬할 만함
오랜만에 좋은 논문+좋은 발표를 봐서 기분이 좋네요 :)
히히..✌🏻😀✌🏻