멀티모달 RAG와 교차 모달 검색(Cross-Modal Retrieval)
비전 네이티브 문서 RAG는 한 조각일 뿐입니다. 프로덕션 멀티모달 RAG는 더 넓은 영역을 다룹니다. 텍스트, 이미지, 오디오, 비디오를 가로질러 검색하며 여행 계획("자연광이 잘 드는 조용한 비건 브런치 장소를 찾아줘"), 의료 분류(triage; "이 사진과 증상 메모에 맞는 부상은 무엇인가"), 전자상거래("이 셀피와 비슷한 옷을 내 사이즈로 찾아줘"), 현장 서비스("이 엔진 소리와 부품 사진으로 문제를 진단해줘") 같은 작업 흐름(workflow)을 다룹니다. 2025년에 발표된 세 편의 서베이 논문, Abootorabi et al., Mei et al., Zhao et al.은 하위 문제를 정리해 제시했습니다. 교차 모달 검색, 검색 융합(retrieval fusion), 생성 그라운딩(generation grounding), 멀티모달 평가가 그것입니다. 이 lesson은 해당 서베이들을 읽고 프로덕션 파이프라인을 설계합니다.
유형: Build
언어: Python (표준 라이브러리만으로 융합과 그라운딩 생성기(grounded generator)를 갖춘 교차 모달 검색기를 구현)
선수 지식: Phase 12 · 23 (ColPali), Phase 11 (RAG 기본)
예상 시간: 약 180분
학습 목표
- 텍스트 → 이미지, 이미지 → 텍스트, 오디오 → 비디오와 같은 교차 모달 검색을 설계합니다.
- 세 가지 융합 전략인 점수 융합(score fusion), 어텐션 기반 융합(attention-based fusion), 전문가 혼합 융합(MoE fusion)을 비교합니다.
- 생성 그라운딩(generation grounding)을 설명합니다. 출처가 여러 모달리티에 걸쳐 있을 때 "출처를 인용하라"가 구체적으로 어떤 모습이 되는지 다룹니다.
- 2025년에 발표된 세 편의 대표적인 멀티모달 RAG 서베이와 그 하위 문제 분류 체계(taxonomy)를 말할 수 있습니다.
문제
단일 모달리티 RAG는 이미 정형화된 패턴입니다. 질의를 임베딩하고, 청크를 임베딩하고, 검색해서, LLM에 넣습니다. 멀티모달 RAG에는 다음이 필요합니다.
- 여러 개의 검색 헤드(retrieval heads). 각 모달리티는 서로 호환 가능한 공간의 임베딩이 필요합니다.
- 모달리티별 검색 결과의 융합.
- 여러 모달리티의 출처를 함께 인용하는 생성 그라운딩.
- 교차 모달 신호까지 다룰 수 있는 평가 지표.
2025년의 서베이들은 모두 같은 분류 체계에 도달합니다.
개념
교차 모달 검색
모달리티 A의 질의가 주어졌을 때 모달리티 B의 문서를 검색하는 방식입니다. 패턴은 세 가지입니다.
-
공유 임베딩 공간(shared embedding space). CLIP과 CLAP은 텍스트 + 이미지 / 텍스트 + 오디오 임베딩을 동일한 공간 위에 만듭니다. 모달리티 사이의 코사인 유사도(cosine similarity)가 바로 작동합니다. 다만 CLIP이 학습한 쌍에 제한됩니다.
-
모달리티별 인코더 + 변환기(translator). 텍스트 인코더와 이미지 인코더를 따로 두고, 두 공간 사이를 매핑하는 작은 변환기 모듈을 함께 둡니다. Gupta et al.의 Sen2Sen과 2024년의 다른 설계들이 여기에 속합니다. 유연하지만 복잡도가 늘어납니다.
-
VLM을 인코더로 사용. VLM의 은닉 상태(hidden states)를 검색 표현(retrieval representation)으로 사용합니다. VLM이 지원하는 모든 모달리티에 대해 작동합니다. 품질은 높지만 비용이 더 큽니다.
선택 기준은 이렇습니다. 텍스트+이미지에는 CLIP 또는 SigLIP 2, 텍스트+오디오에는 CLAP을 사용하고, 최전선 품질의 교차 모달 검색에는 VLM의 은닉 상태를 사용합니다.
융합 전략
10개의 결과를 검색했다고 합시다. 이미지 5개, 텍스트 구절 3개, 오디오 클립 2개입니다. 이들을 어떻게 합쳐야 할까요?
점수 융합(score fusion)이 가장 저렴한 방식입니다. 각 모달리티가 자기 검색기를 가지고 각자의 점수를 반환합니다. 모달리티 내부에서 점수를 정규화한 뒤 합산합니다. 단순하면서도 충분히 잘 작동하는 경우가 많습니다.
어텐션 기반 융합(attention-based fusion)은 검색된 모든 항목을 이어 붙인 다음, 작은 어텐션 신경망(attention network)이 항목별 가중치를 부여하도록 합니다. 학습이 필요합니다.
전문가 혼합 융합(MoE fusion)은 게이팅 신경망(gating network)이 모달리티별 전문가(experts)로 입력을 라우팅하는 방식입니다. 질의 유형에 따라 라우팅이 달라지므로, 시각적 질문이라면 이미지 점수를 더 높게 평가합니다.
프로덕션의 기본값은 질의의 지배적인 모달리티(dominant modality)에 약간의 편향을 준 점수 융합입니다. 도메인 내 A/B 테스트에서 명확한 이득이 확인되면 MoE로 업그레이드합니다.
생성 그라운딩
LLM은 각 주장(claim)이 어떤 검색 항목에서 비롯됐는지 인용해야 합니다. 멀티모달 환경에서는 다음과 같이 표기합니다.
- 텍스트 출처: 표준 인용
[1]
- 이미지 출처: 짧은 캡션을 붙인
[img 3]
- 오디오 출처:
[audio 2 at 0:34]
생성기는 그라운딩 정보를 포함한 데이터(grounding-aware data)로 학습합니다. 학습 타깃의 각 주장에 출처 인덱스가 태그로 붙어 있으면, 추론 시점에 모델도 자연스럽게 인용을 함께 출력합니다.
2025년 서베이 논문들
Abootorabi et al.(arXiv:2502.08826, "Ask in Any Modality")은 멀티모달 RAG의 분류 체계를 제시합니다. 검색, 융합, 생성을 모두 다루며 가장 넓은 범위를 포괄합니다.
Mei et al.(arXiv:2504.08748, "A Survey of Multimodal RAG")은 하위 과제 벤치마크와 실패 양상(failure modes)에 집중합니다. 평가 설계에 유용합니다.
Zhao et al.(arXiv:2503.18016)은 비전 중심의 서베이입니다. ColPali 계열 연구를 다루는 데 강점이 있습니다.
세 논문을 모두 읽으면 2025년 봄 기준의 최신 동향(state of the art)을 파악할 수 있습니다. 대부분의 하위 문제는 아직 열려 있습니다.
MuRAG — 기반이 된 논문
MuRAG(Chen et al., 2022)는 최초의 멀티모달 RAG였습니다. 멀티모달 지식 베이스(Knowledge Base; KB)에서 이미지와 텍스트를 함께 검색해 답변을 생성했습니다. VLM의 물결이 일기 전에 멀티모달 RAG의 실현 가능성을 보여 준 연구입니다. 현대의 시스템들(REACT, VisRAG, M3DocRAG)은 모두 이 논문 위에 쌓아 올려졌습니다.
프로덕션 여행 계획 예시
질의: "자연광이 잘 드는 조용한 비건 브런치 장소를 찾아줘."
파이프라인:
- 질의를 분해합니다. "조용한" → 오디오 및 리뷰 키워드, "비건 브런치" → 메뉴 항목, "자연광" → 이미지 특징.
- 모달리티별로 검색합니다.
- 리뷰 텍스트 검색: "비건 브런치, 조용한 분위기"
- 식당 사진 이미지 검색: "자연광, 탁 트인 느낌"
- 주변 소리 클립 오디오 검색: "낮은 데시벨, 음악 없음"
- 점수를 융합합니다. 각 식당은 종합 점수를 가집니다.
- 상위 k개(top-k) 식당 → 모든 근거와 함께 VLM 생성기 → 인용이 포함된 답변.
이는 텍스트 RAG를 훨씬 뛰어넘는 수준입니다. 각 모달리티는 텍스트만으로는 놓치는 신호를 더해 줍니다.
에이전트식 멀티모달 RAG
다중 홉(multi-hop) 방식입니다. 첫 번째 검색이 충분히 높은 신뢰도의 답을 반환하지 못하면 LLM이 질의를 다시 구성해 검색을 반복합니다. Phase 14의 에이전트식 RAG 패턴이 여기에도 적용됩니다. 예시는 다음과 같습니다.
- 초기 상위 10개(top-10) 검색 → LLM이 "너무 시끄럽다, 40 dB 미만으로 필터링해 줘"라고 요청 → 재검색.
- 이미지 검색 → LLM이 어떤 이미지에 메뉴가 있음을 확인 → 메뉴 텍스트를 검색 → 답변.
복잡도는 늘어나지만, 단일 검색으로는 처리할 수 없는 질의를 다룰 수 있게 됩니다.
평가
교차 모달 평가는 아직 성숙되지 않은 영역입니다. 흔히 쓰이는 대리 지표(proxy)는 다음과 같습니다.
- 모달리티별 Recall@k(재현율).
- 융합된 상위 k개 결과의 정확도.
- 사람이 평가한 종단간(end-to-end) 만족도.
- 과제 특화 지표. 예약 완료, 구매 완료 등이 될 수 있습니다.
모든 모달리티를 포괄하는 표준 벤치마크는 없습니다. 대부분의 논문은 도메인 특화 과제 위에서 평가를 수행합니다.
사용해보기
code/main.py는 다음을 포함합니다.
- 식당 공유 말뭉치 위에서 동작하는 세 개의 모의 검색기(텍스트, 이미지, 오디오).
- 설정 가능한 가중치로 모달리티별 점수를 결합하는 점수 융합.
- 인용과 함께 최종 답변을 출력하는 생성기 스텁(generator stub).
- 신뢰도가 낮을 때 질의를 다시 구성하는 단순한 에이전트식 루프.
산출물 만들기
이 lesson은 outputs/skill-multimodal-rag-designer.md를 만듭니다. 멀티모달 질의 흐름을 포함한 제품 스펙이 주어지면, 그에 맞는 검색기, 융합, 생성기, 평가를 설계합니다.
연습문제
-
(쉬움) 의료 분류(triage)를 위한 멀티모달 RAG를 제안합니다. 질의는 부상 사진과 텍스트 증상입니다. 어떤 모달리티가 어떤 지식 베이스(KB)에서 검색을 수행해야 합니까?
-
(중간) 점수 융합은 단순한 가중합입니다. 전문가 혼합 융합(MoE fusion)이 피할 수 있는, 점수 융합의 실패 양상은 무엇입니까?
-
(중간) Abootorabi et al.의 분류 체계(taxonomy)에 해당하는 3절(Section 3)을 읽습니다. 세 가지 대표 하위 문제는 무엇이며, 여러분이 선택한 제품에는 어떻게 대응되는지 설명해 봅시다.
-
(중간) 여행 계획 멀티모달 RAG의 평가 명세를 설계합니다. 이미지 재현율(image recall), 오디오 재현율(audio recall), 그리고 종합 정답성(composite correctness)을 각각 어떤 지표로 다루겠습니까?
-
(어려움) 에이전트식 다중 홉(multi-hop) RAG는 왕복마다 지연 시간(latency)이라는 비용을 치릅니다. 어느 정도의 질의 난이도에서부터 정확도 이득이 지연 시간 증가를 정당화한다고 볼 수 있습니까?
핵심 용어
| 용어 | 흔한 설명 | 실제 의미 |
|---|
| 교차 모달 검색(Cross-modal retrieval) | "한 모달리티로 묻고 다른 모달리티를 검색" | 텍스트 질의로 이미지를 찾거나 이미지 질의로 텍스트를 찾는 방식. 공유 임베딩 공간 또는 변환기(translator)가 필요하다 |
| 점수 융합(Score fusion) | "점수 합치기" | 모달리티별 검색 점수의 가중합. 가장 단순한 융합 방식 |
| 전문가 혼합 융합(MoE fusion) | "모달리티별 전문가 라우팅" | 게이팅 신경망이 질의별로 어떤 모달리티 점수를 더 신뢰할지 선택하는 방식 |
| 그라운딩된 생성(Grounded generation) | "출처 인용" | 답변의 각 주장에 출처 인덱스를 태그로 붙여 생성하는 방식 |
| MuRAG | "최초의 멀티모달 RAG" | 멀티모달 RAG 패턴을 정립한 2022년 논문 |
| 에이전트식 다중 홉(Agentic multi-hop) | "다시 묻고 재시도" | 첫 검색의 신뢰도가 낮으면 LLM이 질의를 재구성해 검색을 반복하는 방식 |
더 읽을거리