CLIP부터 VLM까지 — 멀티모달 AI 결합 전략과 실무 선택 기준

CLIP 대조학습, Tensor Fusion, Cross-Modal Attention, Vision-Language Model의 구조·학습·서빙 방식을 비교하고 실무 적용 코드를 정리한다

2026-08-12 · 최초 발행 2025-12-11

이미지 하나와 문장 하나를 같은 공간에 놓고 거리를 재는 것, 그게 멀티모달 AI가 하는 일의 8할이다. CLIP이 그 공간을 만들고, Tensor Fusion과 Cross-Modal Attention이 그 안에서 더 정교한 상호작용을 끄집어낸다.

결합 시점이 아키텍처를 가른다

멀티모달 AI는 이미지·텍스트·오디오·표 같은 상이한 모달리티를 통합해 의미적 일관성과 추론 성능을 끌어올리는 접근이다. 결합 시점을 기준으로 Early·Intermediate·Late Fusion 패턴이 나뉘고, 학습 목표와 자원 제약에 따라 어떤 아키텍처를 쓸지가 갈린다.

CLIP(Contrastive Language-Image Pretraining)은 이미지 인코더와 텍스트 인코더를 대규모 웹 페어 데이터로 대조학습해 공용 임베딩 공간에서 코사인 유사도를 최대화한다. 제로샷 분류, 검색·랭킹, 필터링에서 범용성이 높다. Tensor Fusion은 모달 간 상호작용을 고차 텐서(아우터 프로덕트)로 명시적으로 모델링해 비선형 결합 정보를 포착하는 대신 파라미터·메모리 비용이 늘어나 저랭크 분해·압축 기법을 병행해야 한다. Cross-Modal Attention은 한 모달이 다른 모달의 정보에 쿼리하는 주의집중 메커니즘으로, 문맥 정렬과 정밀 결합에 유리해 VQA·이미지 캡셔닝·grounding 같은 세밀한 정합 과제에 강점을 보인다. Vision-Language Models(VLM)은 비전 인코더와 언어 디코더(또는 멀티모달 트랜스포머)를 결합해 입력을 통합한 뒤 생성·추론을 수행하며, Instruction tuning과 RAG 결합으로 에이전트형 멀티모달 시스템까지 확장할 수 있다.

인코더에서 서빙까지

시각 인코더는 CNN·ViT 기반으로 패치 임베딩과 계층적 피처, ROI·Region 토큰화를 적용한다. 텍스트 인코더는 BERT·Transformer·LLM 계열이며 토크나이저 표준화와 특수 토큰 정책의 일관성이 요구된다.

결합 전략은 세 갈래다. Shared embedding(Late Fusion)은 CLIP식 대조 임베딩으로 단순하고 확장이 쉽지만 상호작용 표현력이 제한된다. Tensor Fusion·Low-Rank Fusion은 고차 상호작용을 포착하는 대신 압축·정규화·스파스화로 자원 사용을 최적화해야 한다. Cross-Modal Attention(Intermediate/Early)은 토큰 수준의 정렬·해석력이 뛰어나지만 레이턴시·메모리 비용이 늘어난다.

학습 목표는 Contrastive(InfoNCE), Matching/ITM, MLM/ITC, Captioning(CE), Alignment·Distillation을 조합한다. 데이터 클린징·정합(한글·다국어, NSFW·노이즈 제거)과 하드 네거티브 마이닝, 샘플 밸런싱이 품질을 좌우한다.

추론·서빙 단에서는 오프라인 인덱싱(FAISS/HNSW)과 온라인 쿼리 임베딩을 결합해 저지연 검색을 달성한다. Retrieval(R@K, nDCG), VQA(accuracy), Captioning(BLEU/CIDEr), Safety(정탐·오탐), 레이턴시·비용을 함께 모니터링해야 한다.

입력부터 서빙 경로까지

둘다 존재텍스트만이미지만정상정상정책 위반Tensor Fusion(아우터프로덕트)Cross-Modal AttentionLate Fusion(코사인 유사도)검색·랭킹생성이미지·텍스트 입력 수신전처리: 이미지리사이즈·정규화, 텍스트토크나이즈모달리티 누락 여부 검사이상치·정책 필터링(NSFW,개인정보)텍스트 단독파이프라인(검색·생성 최소기능)이미지 단독 파이프라인(유사이미지 검색 등)이미지 인코더 E_v 추론텍스트 인코더 E_t 추론요청 거부 로깅공유 임베딩 정규화·스케일링결합 방식 선택고차 텐서 결합·저랭크 압축쿼리-키-값 주의집중 계산유사도 스코어 계산학습/추론 목표:InfoNCE·ITM·캡셔닝서빙 경로 선택근사 최근접탐색(FAISS/HNSW)멀티모달 디코더(LLM/VLM)

무엇을 언제 쓰는가

구성 성능(정밀 결합) 확장성 일관성(도메인 전이) 안정성(오류·정책) 운영 편의
CLIP(Late Fusion) 중간 매우 높음 높음 높음 매우 높음
Tensor Fusion(TFN/저랭크) 높음 중간 중간 중간 중간
Cross-Modal Attention 매우 높음 중간~낮음 높음 중간 중간
VLM(비전+LLM 생성) 매우 높음(생성) 중간 중간~높음 정책 가드 필요 중간

실무에서 쓰이는 자리

제로샷 분류·콘텐츠 검색은 카테고리 레이블 없이 프롬프트 기반으로 분류하고, 대규모 이미지·텍스트 검색과 랭킹에도 적용된다. 텍스트 전용 검색 대비 R@10 기준 10~30%p 개선될 수 있고(도메인·데이터 품질에 의존하므로 최신 정보 확인이 필요하다), 제로샷 적용 범위가 넓어지면서 라벨 비용은 50% 이상 절감되고 신제품·신카테고리의 콜드스타트도 완화된다. VQA·캡셔닝·그라운딩은 Cross-Modal Attention이나 VLM으로 문장 단위의 정밀 질의응답·캡션 생성·영역 정렬을 수행한다. 멀티모달 RAG는 도표·도면·이미지가 섞인 문서 스캔과 텍스트를 통합 인덱싱하고 VLM을 리드 모델로 써서 생성 품질을 높인다. 안전·품질 필터링은 CLIP 임베딩으로 NSFW·중복·저품질을 탐지해 정책 위반을 사전 차단하며, 다단계 필터를 적용하면 위반 건수가 상대적으로 40% 이상 줄고 감사 추적성도 확보된다.

CLIP 기반 검색 최소 구현

전제조건은 Python 3.10+, torch 2.1+, transformers 4.44+, 선택적으로 faiss-cpu이고, GPU를 쓴다면 CUDA 11.8+를 권장한다.

# pip install torch torchvision --index-url https://download.pytorch.org/whl/cu118
# pip install transformers==4.44.0 pillow faiss-cpu

import torch
from PIL import Image
from transformers import CLIPProcessor, CLIPModel

device = "cuda" if torch.cuda.is_available() else "cpu"
model_id = "openai/clip-vit-base-patch32"
model = CLIPModel.from_pretrained(model_id).to(device)
processor = CLIPProcessor.from_pretrained(model_id)

images = [Image.open("sample.jpg").convert("RGB")]
texts = ["a cat on the sofa", "a dog in the park", "a laptop on the desk"]

inputs = processor(text=texts, images=images, return_tensors="pt", padding=True).to(device)
with torch.no_grad():
    out = model(**inputs)
    image_embeds = out.image_embeds / out.image_embeds.norm(dim=-1, keepdim=True)
    text_embeds = out.text_embeds / out.text_embeds.norm(dim=-1, keepdim=True)
    # 코사인 유사도(= 내적, 정규화됨)
    scores = (image_embeds @ text_embeds.T).squeeze(0)  # [num_texts]
topk = scores.topk(k=3)
for i, (idx, s) in enumerate(zip(topk.indices.tolist(), topk.values.tolist())):
    print(f"{i+1}. {texts[idx]} -> {s:.3f}")

운영에서는 모든 문서·이미지 임베딩을 사전 계산해 FAISS 인덱스로 오프라인 인덱싱하고 배치 업데이트 파이프라인을 자동화하는 게 기본이다. 저지연을 위해 텍스트 쿼리만 실시간 임베딩하고 이미지 쿼리는 멀티스케일 캐시를 쓰며, AMP·INT8 양자화로 비용을 줄인다. 임베딩 캐시와 양자화를 함께 적용하면 추론 비용이 3060% 절감되고 레이턴시 p95가 3050% 개선되는 것으로 나타난다. 품질은 하드 네거티브 마이닝과 텍스트 프롬프트 템플릿(한글·다국어) 튜닝으로 끌어올린다.

데이터부터 서빙까지 놓치기 쉬운 지점

데이터·전처리에서는 균형 샘플링, 라벨 정규화, 품질 점수 기반 필터로 다국어·도메인 편향을 완화하고 데이터 시그널 로그를 수집해 재학습 루프를 만든다. 안전성은 PII·NSFW 필터 1차 룰에 CLIP 스코어 기반 2차 검증을 더하고, 거부·로깅·재현 경로를 명시해야 한다.

모델·학습에서는 CLIP을 프리즈하고 저랭크 어댑터(LoRA)로 도메인에 적응시키며, Tensor Fusion은 저랭크 분해·드롭아웃으로 과적합·메모리를 억제한다. Cross-Modal Attention·VLM은 시퀀스 길이·해상도에 따른 O(L²) 비용을 고려해 타일링·압축 토큰·Late Interaction으로 절충한다.

서빙·확장에서는 검색형의 경우 임베딩 서빙과 인덱스 서비스를 분리하고 HPA와 배치·스트리밍을 혼합하며 A/B 테스트로 지표를 추적한다. 생성형은 비전 인코더 캐싱과 키-밸류 캐시, 프롬프트 가드레일을 두고 도메인 지식은 멀티모달 RAG로 외부화한다.

평가·모니터링에서는 온라인 지표(클릭·체류·전환, 오탐·미탐)와 오프라인 지표(R@K, CIDEr, VQA Acc)를 함께 보고 데이터 쉬프트를 탐지해 자동 리트레이닝을 트리거한다.

CLIP의 공용 임베딩과 Cross-Modal Attention·Tensor Fusion의 상호작용 표현을 목적에 맞게 조합하는 게 아키텍처 설계의 핵심이다. 검색형은 CLIP+Late Fusion 인덱싱, 정밀 질의응답·생성형은 VLM+Attention, 복잡한 상호작용이 필요하면 저랭크 Tensor Fusion을 쓰는 식이다. 데이터 품질 관리와 가드레일, 지표 기반 운영 자동화를 병행해야 성능·비용·안정성의 균형을 잡을 수 있다.

멀티모달AICLIPVisionLanguageModelCrossModalAttentionTensorFusion