멀티모달 학습에서 Fusion과 CLIP을 설계하는 방법

멀티모달 학습의 Early·Late Fusion, Cross-Modal Attention, CLIP dual-encoder 구조와 데이터 정렬·서빙 운영 기준을 정리한다.

2026-08-14 · 최초 발행 2024-04-29

서로 다른 신호를 하나의 표현 공간에 맞추는 일

멀티모달 학습은 텍스트·이미지·오디오·센서처럼 성격이 다른 모달리티를 결합해 공통 표현 공간을 학습하는 방법이다. 각 신호가 제공하는 정보를 보완하면서 일반화 성능과 강건성을 높이는 데 목적이 있다.

적용 대상은 넓다. 텍스트와 이미지를 매칭하는 검색·추천 시스템은 dual-encoder 구조를 활용할 수 있고, 분류·검출 문제에는 멀티모달 classifier를, 생성 문제에는 VLM·VQA·VG를 사용할 수 있다. 보고서 생성처럼 설명을 만들어내는 작업도 여기에 포함된다.

설계의 중심에는 두 가지 질문이 놓인다. 모달별 정보를 어느 시점에 결합할지, 그리고 서로 다른 표현을 어느 정도 정밀하게 맞출지다.

결합 시점이 달라지면 운영 방식도 달라진다

Early Fusion은 모달별 특징을 concat, sum, projection 방식으로 먼저 결합하고 통합 인코더에서 학습한다. 모달 사이의 풍부한 상호작용을 학습할 수 있는 반면, 입력 동기화 품질과 메모리 비용의 영향을 크게 받는다.

Late Fusion은 모달별 모델이 독립적으로 예측한 결과를 평균, 학습형 게이팅, Stacking으로 결합한다. 모듈을 추가하거나 교체하기 쉽고 운영도 단순하지만, 모달 간의 세밀한 상호작용을 직접 학습하기는 어렵다.

하이브리드 방식은 Late Fusion을 운영의 기본 경로로 두고, 품질이 필요한 구간에만 Cross-Attention을 연결한다. 빠른 검증과 품질 개선을 함께 고려할 때 사용할 수 있는 구성이다.

Cross-Modal Attention은 정합의 해상도를 높인다

Cross-Modal Attention에서는 한 모달의 Query가 다른 모달의 Key와 Value를 참조한다. 텍스트 토큰과 이미지 영역을 맞추거나 객체와 토큰의 대응을 정밀하게 다룰 때 효과적이다.

Transformer 기반 Multi-Head Cross-Attention을 사용하며, 텍스트→이미지와 이미지→텍스트를 모두 두는 양방향 구조나 계층적으로 쌓는 구조를 선택할 수 있다. Query를 텍스트로, Key/Value를 이미지 특징으로 두거나 그 반대로 구성하며, 전역 특징에서 영역, 패치로 정밀도를 높여갈 수 있다.

토큰 수가 늘면 O(N^2) 비용이 커지므로 토큰 프루닝, RoI-Align, Perceiver IO, Flash-Attn 같은 방식을 함께 검토한다.

CLIP은 독립 인코딩과 대조학습으로 연결한다

CLIP 계열 모델은 대규모 텍스트-이미지 쌍을 InfoNCE 또는 softmax contrastive 방식으로 학습한 dual-encoder다. 텍스트와 이미지를 각각 인코딩한 뒤 같은 임베딩 공간에 정렬한다.

이 구조는 제로샷 분류와 검색에 강점이 있다. 임베딩을 오프라인에서 인덱싱하고, 온라인 요청에서는 코사인 유사도를 검색하는 방식으로 서비스를 단순하게 구성할 수 있다. 다만 세밀한 추론에는 한계가 있다.

데이터 정합부터 학습 목표까지

모달리티가 늘수록 모델보다 데이터 파이프라인의 품질이 먼저 문제가 된다. 타임스탬프 스냅과 샘플링 규칙을 정하고, 영역·키포인트를 통한 공간 정합과 텍스트 클린업 규칙을 마련해야 한다. 이미지 crop에 맞춰 텍스트 bbox를 갱신하는 것처럼 모달 간 일관성을 유지하는 증강도 필요하다. 누락 모달 마스킹 비율도 이 단계에서 결정한다.

표현을 맞출 때는 MLP 또는 Linear 프로젝션 헤드와 L2 또는 LayerNorm 정규화를 적용할 수 있다. temperature-scaled softmax 기반 대조학습, 상호정보 극대화, ITM·MLM·MIM 같은 정합 보조손실을 함께 사용한다.

학습 목표는 ITC 기반 대조학습, ITM 정합 판별, MLM·MIM 언어 및 마스크 복원, 다운스트림 분류·검출로 나뉜다. 평가는 검색에서 R@K와 Median Rank, 분류에서 Top-1/5, 생성에서 BLEU·CIDEr·ROUGE, 의료에서 AUC·F1, 강건성에서는 OOD 성능을 사용할 수 있다.

결합 방식별 특성

아키텍처 성능 확장성 일관성 안정성 운영 편의
Early Fusion 높음: 모달 상호작용 풍부, 동기화 품질 의존 중간: 토큰·해상도 증가 시 메모리 급증 중간: 동기화/전처리 민감 중간: 누락 모달 취약 낮음: 모든 모달 필수 경향
Late Fusion 중간: 상호작용 제한 높음: 모듈 추가/교체 용이 높음: 모달 독립 높음: Graceful degradation 높음: 배포·모니터링 단순
Cross-Modal Attention 높음~매우 높음: 정밀 정합 중간: 계산량·지연 증가 중간: 정렬·마스킹 설계 필요 중간: 학습 안정화 필요 중간: 엔드투엔드 추론 필요
CLIP Dual-Encoder 높음(검색/제로샷), 세밀 추론은 한계 높음: 오프라인 인덱스 확장 높음: 독립 인코딩 높음: 캐시/샤딩 용이 높음: 단순 스케일아웃

입력에서 모니터링까지의 경로

아니오EarlyCross-AttnLate입력: 이미지, 텍스트, 오디오전처리/정렬: 토큰화,리사이즈, 타임싱크누락 모달 존재?마스킹/대치, Late Fusion폴백모달별 인코더: ViT/ResNet,BERT, CNN시간/공간 정합, 프로젝션 헤드Fusion 선택Concat/Projection -공통표현Q/K/V 주의 - 공통표현개별 예측 - 가중 결합/투표학습목표:Contrastive/ITM/MLM/TaskLoss출력: 검색/분류/생성/설명모니터링: 품질/지연/누락모달율/드리프트

문제 성격에 맞춰 모델을 고르는 기준

텍스트-이미지 검색과 추천에서는 CLIP dual-encoder에 클릭 신호를 결합한 Late Fusion, 대규모 오프라인 인덱스와 ANN(HNSW/IVF-PQ)을 사용할 수 있다. Recall@10, NDCG, 실시간 추론 지연 < 50ms가 주요 지표가 된다.

전자상거래의 멀티모달 분류와 속성 추출에는 상품 이미지 패치와 속성 토큰을 연결하는 Early Fusion 또는 Cross-Attention, 속성별 focal loss를 고려할 수 있다. Macro-F1, 속성별 AUC, OOD 강건성으로 결과를 확인한다.

의료 영상 리포트 생성은 ViT-encoder에서 LLM-decoder로 이어지는 Cross-Modal Attention 구조와 사전학습·도메인 미세조정을 사용할 수 있다. CIDEr/BLEU와 임상 정확도(CheXpert label agreement), 해석가능성을 함께 본다.

자율주행의 카메라·라이다 센서 융합에는 BEV feature fusion 기반 Early Fusion, ROI-level 정합을 위한 Cross-Attention, 누락 센서 상황의 Late 폴백을 조합할 수 있다. mAP/mATE, 레이턴시 SLA, 우천·야간 실패 모드 분석이 필요하다.

학습과 서빙을 연결하는 운영 흐름

데이터 수집 단계에서는 이미지·텍스트·오디오 원천 데이터를 타임스탬프 기준으로 정렬하고, 품질을 필터링하며, 개인정보를 비식별화한다. 결과물은 정합된 멀티모달 샘플과 누락 마스크다.

전처리된 샘플은 모달별 인코더와 LayerNorm, 투영 헤드를 거쳐 정규화 임베딩(Z-image, Z-text, Z-audio)이 된다. 이 임베딩을 Early, Late, Cross-Attn 방식으로 결합하고 Contrastive(τ-스케일), ITM, Task Loss를 적용해 공통 표현과 손실 값을 만든다.

학습에서는 온도 파라미터 학습, Hard-Negative 마이닝, 누락 모달 마스킹을 수행한다. 누락율>θ이면 Late Fusion 경로를 사용하고, 학습이 불안정하면 grad clipping/ema를 적용한다. 서빙 단계에서는 CLIP 기반 캐시·인덱스 검색, Late 방식의 모델 앙상블, 탄력 확장을 통해 요청을 처리하며 품질·지연 모니터링과 데이터 드리프트 알림을 남긴다.

CLIP으로 제로샷 검색 구성하기

전제조건: Python 3.10+, PyTorch 2.2+, open-clip-torch 2.24+, CUDA 옵션(선택)

import torch, torchvision.transforms as T
from PIL import Image
import open_clip

device = "cuda" if torch.cuda.is_available() else "cpu"

# 1) 모델/전처리 로드
model, _, preprocess = open_clip.create_model_and_transforms(
    'ViT-B-32', pretrained='laion2b_s34b_b79k'
)
tokenizer = open_clip.get_tokenizer('ViT-B-32')
model = model.to(device).eval()

# 2) 임베딩 함수
@torch.no_grad()
def encode_image(img_path):
    img = preprocess(Image.open(img_path).convert("RGB")).unsqueeze(0).to(device)
    return model.encode_image(img) / model.encode_image(img).norm(dim=-1, keepdim=True)

@torch.no_grad()
def encode_text(texts):
    toks = tokenizer(texts).to(device)
    z = model.encode_text(toks)
    return z / z.norm(dim=-1, keepdim=True)

# 3) 이미지-텍스트 유사도 상위 K
image_z = encode_image("example.jpg")          # N=1
text_z  = encode_text(["a cat", "a dog", "a car"])  # M=3

sim = (image_z @ text_z.t()).squeeze(0)        # 코사인 유사도(정규화됨)
topk = sim.topk(k=2)
for score, idx in zip(topk.values.tolist(), topk.indices.tolist()):
    print(score, idx)

미세조정 시 권장: 학습률 5e-65e-5, 배치 256+, 온도(τ) 러너블 파라미터, hard negatives 비율 2550%, AMP+GradAccum으로 메모리 최적화.

품질을 높이면서 운영 복잡도를 관리하는 법

대규모 약지도(alt-text, captions)와 소규모 정밀 GT를 함께 쓰는 전략에서는 캡션 품질 편향을 보정해야 한다. 누락과 잡음에는 마스킹, Huber/Focal 같은 로버스트 로스를 적용할 수 있다.

초기 서비스는 Late Fusion으로 시작하고, 품질 병목이 확인된 지점에 Cross-Attention을 도입하는 접근이 적합하다. CLIP을 미세조정할 때는 텍스트 프롬프트 엔지니어링과 템플릿 앙상블로 제로샷 성능을 강화할 수 있다.

검색 서비스는 오프라인 임베딩 인덱싱과 HNSW/IVF-PQ를 사용하고, 재순위 구간에 Cross-Attention을 두는 2-stage 구성을 활용할 수 있다. R@K, OOD 검출(Mahalanobis/entropy), 누락 모달율, SLA 지연을 지속적으로 추적한다.

개인정보와 민감정보를 마스킹하고 라이선스와 사용권을 확인해야 한다. 편향과 유해 콘텐츠를 걸러내는 파이프라인도 필요하다. 도메인 드리프트에는 주기적 샘플링·검증·롤백을 포함한 재학습 파이프라인으로 대응한다.

기대할 수 있는 변화와 제약

도메인에 적합한 경우 검색 Recall@10은 +1030%p, 제로샷 분류 Top-1은 +515%p를 기대할 수 있다. Cross-Attention을 추가하면 결합 추론 지연은 배치와 토큰 수에 따라 +520ms가 될 수 있으며, 2-stage 재순위로 전체 SLA를 유지할 수 있다. 약지도와 대조학습을 활용하면 동일 성능 기준 필요 라벨 수를 3060% 절감할 수 있다.

멀티모달 신호의 상호보완성은 강건성과 누락·잡음 내성을 높인다. Late Fusion의 모듈화와 CLIP 인덱싱은 운영 단순화와 확장성에도 도움이 된다. 데이터 정합 품질을 먼저 확보하고, 품질·지연·누락 모달·드리프트·책임성 요건을 하나의 운영 지표 체계로 관리하는 방식이 필요하다.

멀티모달 학습CLIP대조학습Cross-Modal Attention표현 정렬