Skip to content
Published on

멀티모달 AI 학습법 — 여러 감각을 하나의 모델로

Authors

들어가며: 왜 멀티모달인가

사람은 세상을 단일 감각으로 인식하지 않습니다. 사진을 보면서 설명을 읽고, 영상을 보면서 소리를 듣습니다. 같은 개념이라도 이미지로 들어올 때와 글자로 들어올 때가 있지만, 우리 머릿속에서는 결국 하나의 의미로 통합됩니다. 멀티모달 AI(multimodal AI)는 바로 이 통합을 모델 안에서 구현하려는 시도입니다.

전통적인 딥러닝 모델은 한 가지 모달리티만 다뤘습니다. 이미지 분류기는 이미지만, 언어 모델은 텍스트만 입력으로 받았습니다. 그러나 현실의 문제는 모달리티 경계를 넘나듭니다. "이 사진에서 무슨 일이 벌어지고 있나요?"라는 질문은 이미지와 텍스트를 동시에 이해해야 답할 수 있습니다. 문서 이해, 영상 검색, 음성 기반 비서, 로보틱스까지 멀티모달이 아니면 풀기 어려운 과제가 점점 늘어나고 있습니다.

이 글에서는 여러 감각(모달리티)을 하나의 모델로 묶는 학습법을 다룹니다. 핵심은 서로 다른 모달리티를 같은 의미 공간에 정렬(alignment)하는 것, 그리고 그 표현을 효과적으로 융합(fusion)하는 것입니다. 대조학습(contrastive learning)으로 대표되는 CLIP류 접근부터, 사전학습과 파인튜닝, 데이터 규모와 품질, 평가 방법, 그리고 환각 같은 한계까지 차례로 살펴보겠습니다.

멀티모달의 의미: 무엇을 다루는가

먼저 모달리티가 무엇인지 정리합니다. 모달리티(modality)는 데이터가 들어오는 감각 채널 혹은 형식을 가리킵니다. 대표적으로 다음이 있습니다.

  • 이미지: 픽셀 격자. 공간적 구조를 가집니다.
  • 텍스트: 토큰의 시퀀스. 이산적이고 순서가 있습니다.
  • 오디오: 시간에 따른 파형 또는 스펙트로그램. 연속적이며 시간 축이 핵심입니다.
  • 비디오: 이미지 프레임의 시퀀스 + 종종 오디오. 공간과 시간이 결합됩니다.

멀티모달 모델은 둘 이상의 모달리티를 입력 또는 출력으로 다룹니다. 입력 측에서 이미지와 텍스트를 함께 받아 답을 내는 비전-언어 모델(VLM), 텍스트로 이미지를 생성하는 모델, 오디오를 텍스트로 옮기는 모델 등이 모두 멀티모달의 범주에 들어갑니다.

서로 다른 모달리티는 통계적 성질이 매우 다릅니다. 이미지는 연속적이고 고차원이며 국소 상관이 강하고, 텍스트는 이산적이며 장거리 의존성이 큽니다. 이 이질성을 다루는 것이 멀티모달 학습의 출발점입니다.

모달리티별 표현 형태(개념)

이미지   : 패치 그리드  -> 패치 임베딩 시퀀스
텍스트   : 토큰 시퀀스  -> 토큰 임베딩 시퀀스
오디오   : 스펙트로그램 -> 프레임 임베딩 시퀀스
비디오   : 프레임 묶음  -> 시공간 임베딩 시퀀스

핵심: 모두 결국 "임베딩 벡터의 시퀀스"로 변환되어
     공통 처리 백본(Transformer 등)에 들어간다.

핵심 원리: 모달리티를 같은 공간에 정렬하기

멀티모달 학습의 가장 근본적인 아이디어는 서로 다른 모달리티를 하나의 공유 임베딩 공간(shared embedding space)에 매핑하는 것입니다. 같은 의미를 가진 이미지와 텍스트가 그 공간에서 가까이 위치하도록 학습합니다.

공유 임베딩 공간이란

각 모달리티마다 전용 인코더가 있습니다. 이미지 인코더는 이미지를 벡터로, 텍스트 인코더는 문장을 벡터로 바꿉니다. 두 인코더의 출력이 같은 차원의 공간에 놓이고, 의미적으로 대응되는 쌍이 서로 가깝도록 만들면, 모델은 모달리티를 넘나드는 비교가 가능해집니다.

공유 임베딩 공간(개념도)

  이미지 인코더 ──> z_image  ─┐
                              ├─> 같은 차원 D의 벡터 공간
  텍스트 인코더 ──> z_text   ─┘

  목표: 짝이 맞는 (이미지, 텍스트)는 가깝게,
        짝이 안 맞는 쌍은 멀게.

대조학습: CLIP류 image-text 대조

이 정렬을 학습하는 대표 기법이 대조학습입니다. CLIP류 모델은 대량의 (이미지, 캡션) 쌍을 모읍니다. 한 배치 안에서 올바른 짝을 양성(positive), 나머지 모든 조합을 음성(negative)으로 두고, 양성 쌍의 유사도는 높이고 음성 쌍의 유사도는 낮추도록 학습합니다.

유사도는 보통 정규화된 임베딩의 내적(코사인 유사도)으로 계산합니다. 손실은 양방향 InfoNCE 형태로, 이미지에서 텍스트를 찾는 방향과 텍스트에서 이미지를 찾는 방향을 모두 고려합니다.

대조학습 손실(달러기호 없이 표기)

배치 크기 N, 임베딩 차원 D
이미지 임베딩 I in R^(N x D), 텍스트 임베딩 T in R^(N x D)
각 행을 L2 정규화.

로짓 행렬:  logits = (I dot T^T) * exp(tau)
             shape = N x N
대각 성분(i==j)이 올바른 짝.

이미지->텍스트 손실:  CE(logits,        labels=[0..N-1])
텍스트->이미지 손실:  CE(logits^T,      labels=[0..N-1])
최종 손실 = (loss_i2t + loss_t2i) / 2

tau: 학습되는 온도(temperature) 파라미터(로그 스케일)
CE: 교차 엔트로피

대조학습의 강점은 사람이 일일이 라벨을 붙이지 않아도 된다는 점입니다. 웹에서 수집한 이미지와 그 주변 텍스트(alt 텍스트, 캡션)만으로 약지도(weakly supervised) 학습이 가능합니다. 그 결과 제로샷 분류 같은 강력한 전이 능력이 나옵니다. 텍스트 프롬프트("a photo of a cat")의 임베딩과 이미지 임베딩을 비교하기만 하면 분류가 되기 때문입니다.

정렬의 다른 축들

대조학습만이 정렬 방법은 아닙니다. 매칭/캡셔닝 같은 생성형 목표(이미지를 보고 텍스트를 생성)도 모달리티를 연결합니다. 실제 대형 모델은 대조 목표와 생성 목표, 마스킹 복원 목표 등을 섞어 씁니다. 어느 경우든 핵심 질문은 동일합니다. "서로 다른 모달리티의 표현이 같은 의미를 공유하도록 어떻게 만들 것인가."

깊이 본론: 융합 방식

정렬이 표현을 가깝게 만드는 일이라면, 융합은 여러 모달리티의 정보를 실제로 결합해 하나의 판단을 내리는 일입니다. 융합 시점에 따라 크게 세 가지로 나눕니다.

Early fusion (조기 융합)

입력 단계에서 모달리티를 하나의 시퀀스로 합쳐 같은 백본에 넣습니다. 이미지 패치 임베딩과 텍스트 토큰 임베딩을 이어 붙여 단일 Transformer에 통과시키는 방식이 대표적입니다.

Early fusion

[img_patch_1 ... img_patch_M, txt_tok_1 ... txt_tok_K]
        |
   단일 Transformer (전 구간 self-attention)
        |
   통합 표현 -> 출력

장점은 초기부터 모달리티 간 상호작용이 풍부하다는 것입니다. 단점은 입력 시퀀스가 길어져 연산 비용이 커지고, 모달리티별 전처리 구조를 통일해야 한다는 점입니다.

Late fusion (후기 융합)

각 모달리티를 독립 인코더로 끝까지 처리한 뒤, 마지막에 표현을 합칩니다(연결, 평균, 가중합 등). CLIP의 추론 단계가 사실상 후기 융합에 가깝습니다. 두 인코더가 독립적이라 모듈화와 캐싱에 유리하지만, 세밀한 상호작용은 부족합니다.

Late fusion

이미지 -> 이미지 인코더 -> z_image ─┐
텍스트 -> 텍스트 인코더 -> z_text  ─┤-> 결합(concat/내적) -> 출력

Cross-attention fusion (교차 어텐션 융합)

두 모달리티를 별도로 인코딩하되, 중간에 교차 어텐션 레이어를 두어 한 모달리티가 다른 모달리티를 참조하게 합니다. 텍스트 디코더가 이미지 특징을 key/value로 참조하는 구조가 흔합니다. 현대 VLM의 어댑터/프로젝터 + LLM 디코더 구성도 넓게 보면 이 흐름에 속합니다.

Cross-attention fusion

이미지 -> 비전 인코더 -> 비전 특징 (key/value 소스)
                                  |
텍스트 -> LLM 디코더 -- cross-attn --> 비전 특징 참조
                                  |
                              출력 토큰

세 방식은 배타적이지 않습니다. 실무 모델은 비전 인코더로 이미지를 임베딩하고(late 성격), 프로젝터로 LLM 입력 공간에 맞춘 뒤 LLM 안에서 텍스트와 섞이게(early/cross 성격) 합니다.

비전-언어 어댑터/프로젝터

현대 VLM의 전형적 구성은 다음과 같습니다. ViT 계열 비전 인코더가 이미지를 패치 특징으로 변환하고, 어댑터(프로젝터)가 이를 LLM의 토큰 임베딩 공간으로 사상합니다. 어댑터는 단순 MLP일 수도, learnable query로 정보를 압축하는 Q-Former류일 수도 있습니다. 그 결과 이미지가 "가상의 토큰"처럼 LLM 시퀀스에 끼어들어 텍스트와 함께 처리됩니다.

현대 VLM 파이프라인(개념)

이미지 -> ViT 비전 인코더 -> 패치 특징 (M x D_v)
                              |
                         프로젝터/어댑터 (MLP 또는 Q-Former)
                              |
                         비주얼 토큰 (M' x D_llm)
                              |
[비주얼 토큰 ... 텍스트 토큰] -> LLM 디코더 -> 응답

학습 파이프라인: 사전학습에서 파인튜닝까지

멀티모달 모델의 학습은 보통 두 단계로 나뉩니다.

1단계: 대규모 사전학습

대량의 약지도 데이터(웹 이미지-텍스트 쌍 등)로 정렬과 기본 표현을 학습합니다. 이 단계에서 비전 인코더는 종종 동결(freeze)하거나 일부만 학습하고, 어댑터와 LLM의 일부를 우선 정렬시킵니다. 목적은 모달리티를 같은 공간으로 끌어오는 것입니다.

2단계: 멀티태스크/인스트럭션 파인튜닝

VQA, 캡셔닝, 문서 이해, OCR 기반 추론 등 다양한 과제를 인스트럭션 형식으로 모아 파인튜닝합니다. 이 단계에서 비전 인코더를 해제(unfreeze)해 더 정교하게 맞추기도 합니다. 단계적으로 동결/해제를 조절하는 것이 안정적 수렴의 핵심입니다.

아래는 학습 루프의 의사코드입니다. 실제 구현이 아니라 흐름을 보여주기 위한 것입니다.

# 멀티모달 대조 사전학습 의사코드 (개념용)
import torch
import torch.nn.functional as F

def clip_step(images, texts, image_encoder, text_encoder, logit_scale, optimizer):
    # 1) 각 모달리티 인코딩
    img_feat = image_encoder(images)      # (N, D)
    txt_feat = text_encoder(texts)        # (N, D)

    # 2) L2 정규화 -> 코사인 유사도 기반 비교
    img_feat = F.normalize(img_feat, dim=-1)
    txt_feat = F.normalize(txt_feat, dim=-1)

    # 3) 유사도 로짓 (온도 적용)
    scale = logit_scale.exp()
    logits_per_image = scale * img_feat @ txt_feat.t()   # (N, N)
    logits_per_text = logits_per_image.t()

    # 4) 대각이 정답인 양방향 교차 엔트로피
    n = images.size(0)
    labels = torch.arange(n, device=images.device)
    loss_i2t = F.cross_entropy(logits_per_image, labels)
    loss_t2i = F.cross_entropy(logits_per_text, labels)
    loss = (loss_i2t + loss_t2i) / 2

    # 5) 역전파
    optimizer.zero_grad()
    loss.backward()
    optimizer.step()
    return loss.item()
# 인스트럭션 파인튜닝 단계의 동결/해제 제어 (개념용)
def configure_trainable(model, stage):
    if stage == "align":
        # 1단계: 비전 인코더 동결, 어댑터 위주 학습
        for p in model.vision_encoder.parameters():
            p.requires_grad = False
        for p in model.adapter.parameters():
            p.requires_grad = True
    elif stage == "instruct":
        # 2단계: 비전 인코더 일부 해제 + LLM 파인튜닝
        for p in model.vision_encoder.parameters():
            p.requires_grad = True
        for p in model.llm.parameters():
            p.requires_grad = True
    return model

데이터: 규모와 품질

멀티모달 성능은 데이터에 크게 좌우됩니다. 두 축을 봐야 합니다.

  • 규모(scale): 웹 규모의 이미지-텍스트 쌍은 다양성을 제공하지만 노이즈가 많습니다. 잘못된 캡션, 무관한 alt 텍스트, 중복이 흔합니다.
  • 품질(quality): 필터링(유사도 기반 정제), 중복 제거, 안전성 필터, 캡션 재작성(re-captioning)으로 품질을 올립니다. 최근에는 모델이 생성한 고품질 캡션으로 데이터를 보강하는 방식도 흔합니다.

데이터 측의 함정은 분포 편향입니다. 특정 언어, 특정 문화권 이미지에 치우치면 그 외 영역에서 성능이 떨어집니다. OCR이나 문서 이해를 노린다면 텍스트가 풍부한 이미지를 충분히 포함해야 합니다.

데이터 파이프라인(개념)

원천 수집 -> 중복 제거 -> 유사도 필터(이미지-텍스트 정합) ->
안전성 필터 -> 캡션 재작성/보강 -> 셔플/샤딩 -> 학습

평가: 무엇을 어떻게 재는가

멀티모달 모델의 평가는 과제별로 나뉩니다.

  • 제로샷 분류/검색: 학습에 없던 라벨로 분류, 또는 이미지-텍스트 상호 검색의 정확도(Recall@K).
  • VQA: 이미지 기반 질의응답 정확도.
  • 캡셔닝: 생성 캡션의 품질(참조 기반 지표 및 사람 평가).
  • 문서/OCR 이해: 표·차트·문서에서 정보를 정확히 읽고 추론하는지.
  • 환각 측정: 이미지에 없는 객체를 지어내는지 평가하는 전용 벤치마크.

지표 하나만 보면 오해하기 쉽습니다. 자동 지표가 좋아도 사람이 보기에 부자연스러울 수 있고, 반대도 가능합니다. 그래서 자동 지표와 사람 평가를 병행하는 것이 표준입니다.

한계와 환각

멀티모달 모델의 대표적 한계는 환각(hallucination)입니다. 이미지에 없는 객체를 언급하거나, 텍스트 사전지식에 끌려 이미지를 잘못 해석하는 경우가 생깁니다. 원인은 여러 가지입니다.

  • 언어 사전(prior)의 과도한 영향: LLM 디코더가 강력해 이미지 근거 없이 그럴듯한 답을 생성.
  • 정렬 부족: 비전 특징이 LLM 공간에 충분히 정렬되지 않으면 세부를 놓침.
  • 데이터 노이즈: 잘못된 캡션으로 학습하면 잘못된 연결을 학습.

완화 방법으로는 더 강한 정렬 학습, 이미지 근거를 강제하는 학습 목표, 환각 평가 기반의 데이터 정제, 그리고 추론 시 이미지 영역을 명시적으로 참조하게 하는 프롬프트 설계 등이 있습니다. 그래도 완전한 제거는 어렵고, 응용에서는 불확실성을 가정한 설계가 안전합니다.

기타 한계로는 고해상도/긴 영상 처리의 비용, 모달리티 불균형(텍스트에 비해 영상 데이터가 적음), 평가의 어려움 등이 있습니다.

대조학습을 깊이 들여다보기

대조학습은 멀티모달 정렬의 엔진입니다. 그런데 실제로 잘 학습시키려면 몇 가지 세부가 결정적입니다. 표면적으로는 단순한 손실이지만, 음성 샘플의 수, 온도, 배치 구성에 따라 결과가 크게 달라집니다.

음성 샘플과 배치 크기

InfoNCE 손실에서 음성(negative)의 수는 배치 크기에서 나옵니다. 한 배치에 N개의 쌍이 있으면, 각 양성에 대해 N-1개의 음성이 자동으로 생깁니다. 따라서 배치가 클수록 더 어려운 대조 문제를 풀게 되고, 표현이 더 날카로워집니다. 이것이 대조학습이 큰 배치를 선호하는 이유입니다.

배치 크기와 음성 수(개념)

배치 N=256  -> 양성 1개당 음성 255개
배치 N=4096 -> 양성 1개당 음성 4095개

음성이 많을수록:
  - 대조 난이도 상승 -> 표현 품질 향상 경향
  - 메모리 요구 증가
대응: 여러 장치의 임베딩을 모아(gather) 음성 풀 확장

여러 GPU에 걸친 임베딩을 모아 음성 풀을 키우는 기법이 흔히 쓰입니다. 각 장치가 자기 배치만 보는 대신, 전체 임베딩을 공유해 음성으로 활용하면 사실상 더 큰 배치 효과를 냅니다.

온도 파라미터의 역할

온도(temperature)는 유사도 분포의 날카로움을 조절합니다. 온도가 낮으면(스케일이 크면) 모델이 양성과 음성을 더 강하게 구분하도록 압박받고, 높으면 분포가 부드러워집니다. 온도를 학습 파라미터로 두면 모델이 스스로 적절한 날카로움을 찾습니다.

온도의 효과(개념)

logits = (정규화 임베딩 내적) * scale,  scale = exp(tau)

scale 큼(온도 낮음): 분포 날카로움 -> 강한 대조, 학습 불안정 위험
scale 작음(온도 높음): 분포 부드러움 -> 약한 대조

실무: tau를 학습 파라미터로 두되 상한을 둬 폭주 방지

하드 네거티브

모든 음성이 똑같이 유용하지는 않습니다. 쉽게 구분되는 음성(전혀 무관한 쌍)은 학습 신호가 약하고, 헷갈리는 음성(의미가 비슷하지만 다른 쌍)은 강한 신호를 줍니다. 이런 하드 네거티브(hard negative)를 의도적으로 포함하면 미세한 구분 능력이 향상됩니다. 다만 라벨 노이즈가 있으면 진짜 양성을 음성으로 오인할 위험도 커집니다.

워크드 예시: 제로샷 분류가 작동하는 방식

대조학습으로 정렬된 모델이 어떻게 라벨 없이 분류하는지 구체적으로 따라가 봅시다. 핵심은 분류를 "이미지-텍스트 검색" 문제로 바꾸는 것입니다.

제로샷 분류 절차(개념)

1) 후보 클래스마다 프롬프트 생성
   "a photo of a cat", "a photo of a dog", ...
2) 텍스트 인코더로 각 프롬프트 임베딩 -> t_1, t_2, ...
3) 입력 이미지 임베딩 -> v
4) v와 각 t_k의 코사인 유사도 계산
5) 가장 유사한 클래스를 예측

핵심: 학습 때 그 라벨을 본 적 없어도,
     텍스트 공간에서 의미가 정렬되어 있으므로 분류 가능

이 절차는 검색에도 그대로 적용됩니다. 이미지 임베딩과 텍스트 임베딩이 같은 공간에 있으므로, 텍스트로 이미지를 찾거나(text-to-image) 이미지로 텍스트를 찾는(image-to-text) 양방향 검색이 모두 가능합니다. 정렬의 강력함은 바로 이 모달리티 교차 능력에 있습니다.

생성형 멀티모달과의 연결

지금까지는 이해(understanding) 위주로 봤지만, 멀티모달의 또 다른 큰 축은 생성입니다. 텍스트로 이미지를 만들거나, 이미지를 보고 긴 설명을 쓰는 능력입니다. 정렬과 융합의 원리는 생성에서도 동일하게 작동합니다.

  • 이미지 -> 텍스트 생성(캡셔닝, VQA): 비전 특징을 LLM에 주입하고, LLM이 그것을 조건으로 텍스트를 자기회귀 생성합니다. 앞서 본 어댑터+LLM 구조가 그대로 쓰입니다.
  • 텍스트 -> 이미지 생성: 텍스트 임베딩을 조건으로 이미지를 생성합니다. 확산 모델이나 VQ 기반 자기회귀 생성이 대표적입니다. 여기서 텍스트-이미지 정렬 품질이 결과 충실도를 좌우합니다.
이해형 vs 생성형(개념)

이해형: [이미지+텍스트] -> 이해/판단 -> 텍스트 답
생성형(캡셔닝): [이미지] -> 조건 -> 텍스트 자기회귀 생성
생성형(T2I): [텍스트] -> 조건 -> 이미지 생성(확산/VQ 자기회귀)

공통: 모달리티 정렬 품질이 모든 과제의 토대

두 축은 분리된 것이 아니라 같은 토대(정렬된 표현) 위에 서 있습니다. 좋은 정렬은 이해와 생성 양쪽의 성능을 동시에 끌어올립니다.

학습 안정화와 스케일링

대규모 멀티모달 학습은 불안정해지기 쉽습니다. 서로 다른 모달리티의 손실 스케일이 다르고, 비전 인코더와 LLM의 학습 속도가 다르며, 데이터 노이즈가 손실을 출렁이게 합니다. 안정적 학습을 위한 실무 장치들이 있습니다.

  • 학습률 분리: 비전 인코더, 어댑터, LLM에 서로 다른 학습률을 줍니다. 보통 새로 초기화된 어댑터는 높게, 사전학습된 비전 인코더는 낮게 둡니다.
  • 워밍업과 스케줄: 초기 워밍업으로 큰 그래디언트를 완화하고, 코사인 감쇠 등으로 후반을 안정화합니다.
  • 그래디언트 클리핑: 노이즈 데이터로 인한 그래디언트 폭주를 막습니다.
  • 단계적 해제: 앞서 본 동결/해제 스케줄로, 정렬이 안정된 뒤에 더 많은 파라미터를 풉니다.
모듈별 학습률 예시(개념, 상대값)

어댑터/프로젝터 : 높음 (새로 학습)
LLM            : 중간 (파인튜닝)
비전 인코더     : 낮음 (사전학습 보존)

원칙: 새로 초기화된 부분은 빠르게,
     이미 좋은 표현을 가진 부분은 천천히

스케일링 측면에서는 데이터·모델·연산을 균형 있게 키우는 것이 중요합니다. 한쪽만 키우면 수익이 빠르게 줄어듭니다. 데이터 품질이 받쳐주지 않으면 모델만 키워도 정렬이 좋아지지 않고, 반대로 데이터가 많아도 용량이 부족하면 흡수하지 못합니다.

다국어와 OCR을 위한 고려

멀티모달 모델을 다국어 문서나 OCR에 쓰려면 데이터 구성에 특별한 주의가 필요합니다. 일반적인 웹 이미지-캡션 데이터는 텍스트가 풍부한 이미지(문서, 표, 차트, 표지판)를 충분히 담지 않을 수 있습니다.

OCR/문서 이해를 위한 데이터 보강(개념)

일반 데이터만 : 자연 이미지 위주 -> 글자 읽기 약함
보강 후       : 문서/표/차트/스크린샷/표지판 추가
              + 다국어 텍스트 이미지
              -> OCR-free 문서 이해 능력 향상

핵심: 읽어야 할 텍스트가 이미지 안에 있는 샘플 비중 확보

다국어의 경우 특정 언어(특히 라틴 문자 외)가 과소표현되면 그 언어의 OCR과 이해가 떨어집니다. 언어별 균형, 스크립트 다양성, 그리고 해당 언어 텍스트가 들어간 이미지를 의도적으로 포함하는 것이 중요합니다.

실무 적용 시나리오

정리한 원리들이 실제 응용에서 어떻게 조합되는지 몇 가지 시나리오로 보겠습니다.

  • 이미지 캡셔닝/대체텍스트 생성: 비전 인코더 + 어댑터 + LLM 구성으로 이미지를 설명. 환각을 줄이기 위해 이미지 근거를 강조하는 파인튜닝이 중요.
  • 문서 질의응답: 고해상도/동적 해상도로 문서를 처리하고, OCR-free로 표·차트를 읽어 답변. 데이터에 문서 이미지 비중이 결정적.
  • 이미지-텍스트 검색: 대조학습으로 정렬된 임베딩을 인덱싱해 양방향 검색. 임베딩 품질이 검색 정확도를 좌우.
  • 멀티모달 어시스턴트: 여러 모달리티를 인터리빙한 대화. 컨텍스트 비용 관리와 환각 완화가 핵심 과제.

각 시나리오는 결국 같은 두 원리(정렬·융합)의 다른 조합입니다. 어떤 모달리티를, 얼마나 정렬하고, 어떤 시점에 융합하는지가 응용의 성격을 결정합니다.

비교: 정렬과 융합 방식 정리

구분대표 기법장점단점
정렬 목표대조(InfoNCE)약지도, 강한 제로샷 전이세밀한 생성에는 부족
정렬 목표생성/캡셔닝세밀한 언어 생성정렬 신호가 간접적
융합early풍부한 상호작용시퀀스 길어 비용 큼
융합late모듈화·캐싱 용이상호작용 약함
융합cross-attn비용과 상호작용 균형구조 복잡

마치며

멀티모달 학습의 핵심은 두 가지로 요약됩니다. 첫째, 서로 다른 모달리티를 같은 의미 공간에 정렬할 것. 둘째, 그 표현을 과제에 맞게 융합할 것. 대조학습은 약지도 데이터만으로 강력한 정렬을 만들어 냈고, 어댑터와 LLM을 결합한 현대 VLM은 이 정렬을 풍부한 생성 능력으로 확장했습니다.

동시에 환각과 데이터 편향이라는 숙제는 남아 있습니다. 규모와 품질의 균형, 단계적 동결/해제, 신중한 평가가 좋은 멀티모달 모델을 만드는 실질적 레버입니다. 다음 글에서는 이미지와 오디오를 실제로 어떻게 토큰으로 바꾸고 하나의 시퀀스로 엮는지, 토크나이제이션과 융합의 구체를 다루겠습니다.

참고 자료