23.06.15
DEVOTEE를 활성화 시키면
지금 작성한 커뮤니티 글에 대해 1개의 댓글을 달아줍니다.
버튼을 누르면 글 수정 시 ChatGPT가 작성한 댓글이 수정됩니다.
| 컨텐츠 유형 | 제목 | 저장일 | 삭제 |
|---|
본인인증 로그인에 실패하였습니다.
회원이 아니시거나 본인인증 등록이
완료되지 않은 사용자입니다.
오늘은 Morphik(Multimodal Agent Framework) 에 대해 소개하고,
이 기술의 핵심인 VLM 을 이용하여 문서 청킹/파싱 과정 없이 시각적으로 맥락을 이해하기 위한 ColPali 와 멀티벡터를 빠르게 인덱싱&검색하기 위한 MUVERA 기술에 대해 소개합니다.
Morphik은 복잡한 문서(PDF, 이미지)를 정확하고 빠르게 검색하기 위해 설계된 멀티모달 프레임워크이며,
특히 전통적인 RAG 시스템의 한계였던 시각 정보 처리 및 멀티 벡터 검색 속도 문제를 해결하는 데 중점을 둡니다.

ColPali는 ColBERT와 PaliGemma를 결합하여 만든 멀티모달 검색 기술입니다.
이 기술은 문서의 텍스트뿐만 아니라 이미지, 표, 차트 같은 시각적 요소의 의미를 파악하고 검색하는 것을 목표로 합니다.
기존의 PDF 검색 방식(Standard Retrieval)은 문서를 처리할 때 OCR, 레이아웃 감지, 청킹(문서 쪼개기) 등의 단계를 거칩니다.
이 과정에서 그림, 레이아웃, 표, 글꼴 등 시각적 정보를 무시하고 텍스트 정보 위주로만 처리하게 됩니다.
이는 원본 문서의 중요한 시각적 정보(이미지, 표, 차트)가 손실되는 근본적인 문제를 야기합니다.

ColPali는 기존의 ColBERT (Late Interaction) 모델을 멀티모달 환경으로 확장합니다.
A. Late Interaction (지연 상호작용) 개념:
전통적인 벡터 검색(Single Vector)은 질의(Query) 전체를 하나의 압축된 벡터로 만들고, 문서 전체를 하나의 벡터로 만들어 유사도를 측정합니다.
이는 언어 이해나 순수한 벡터 공간의 용량(capacity)을 시험할 때 취약할 수 있습니다.
반면, ColBERT가 사용하는 Late Interaction 방식은 질의를 구성하는 각 단어(토큰)의 벡터와 문서(페이지)를 구성하는 각 단어/패치(토큰)의 벡터를 분리합니다.
검색 시에는 이 **개별 토큰들 간의 최대 유사도(MaxSim)**를 계산하고, 이 유사도 점수들을 합산하여 최종 점수를 산출합니다. 이는 검색 정확도를 높여줍니다.
B. ColPali의 확장 (Multimodal Late interaction):
ColPali는 이 Late Interaction을 이미지 영역으로 가져옵니다.
문서 처리 (오프라인 색인): ColPali는 PDF 문서를 텍스트가 아닌 이미지로 처리합니다.
Vision LLM (예: PaliGemma)은 이 이미지에서 텍스트 정보뿐만 아니라 이미지 패치(Image Patches)의 임베딩(Embedding)을 추출합니다.
검색 및 유사도 계산: 사용자가 텍스트 쿼리를 입력하면, ColPali는 쿼리 토큰 벡터와 문서 이미지에서 추출된 패치/토큰 임베딩 벡터 간의 유사도를 계산하여 검색 점수를 매깁니다.
이로써 텍스트와 이미지를 동시에 고려한 검색이 가능해집니다.
C. 시각적 질의/응답 (VQA) 능력:
ColPali는 PaliGemma 기반의 강력한 VQA 능력을 보여줍니다.
예를 들어, 차트 이미지가 있을 때, "hour"라는 질의를 입력하면 단순 텍스트 인식(OCR)을 넘어 차트 내의 "hourly"나 "hours"를 정확히 인식하고,
시간(hour)을 나타내는 x축 부분 등 시각적 맥락까지 이해하고 판단합니다.
구분 | Standard Retrieval (기존 방식) | ColPali (Morphik 방식) | 개선점 |
|---|---|---|---|
NDCG@5 (정확도) | 0.66 | 0.81 | 검색 정확도 향상 |
오프라인 색인 속도 | 페이지당 7.22초 (PDF Parser) | 페이지당 0.39초 | 약 18배 이상 속도 향상 |
ColPali는 Late Interaction 구조 덕분에 대규모 문서 검색 환경에서도 안정적인 성능을 보장합니다.
MUVERA는 Multi-Vector Retrieval via Fixed Dimensional Encodings의 약자로, 멀티 벡터 검색 시 발생하는 높은 계산 비용과 복잡성 문제를 해결하기 위해 고안되었습니다.
ColBERT와 같은 기술은 검색 정확도를 높이기 위해 하나의 문서를 여러 개의 토큰 벡터(멀티 벡터)로 표현합니다.
하지만 이 멀티 벡터들을 모두 사용해 검색을 수행하면 계산 비용이 비싸지고 응답 속도가 느려집니다. 특히, 기존의 멀티 벡터 검색 시스템(예: PLAID)은 복잡하고 단계가 많은 파이프라인을 사용해야만 했습니다.
MUVERA는 이 문제를 해결하기 위해 **FDE (고정 차원 인코딩)**라는 개념을 사용합니다.
이는 복잡하고 비용이 많이 드는 멀티 벡터 검색 문제를 간단한 단일 벡터 검색 문제로 변환하는 방식입니다.
A. 오프라인 색인 (FDE 변환):
문서에 포함된 여러 개의 멀티 벡터(예: 문서 1은 $2D$ 차원의 벡터 3개)를 계산 효율성을 높이기 위해 고정된 차원의 단일 FDE 벡터 (예: $4D$ 차원의 벡터 1개)로 변환합니다.
이 과정을 통해 인덱싱과 저장이 단일 벡터 방식으로 효율화됩니다.
B. 온라인 검색 (3단계 과정):
사용자 쿼리가 들어왔을 때 MUVERA는 아래 세 단계를 거칩니다.
1단계: 쿼리 FDE 생성: 사용자 쿼리로부터 멀티 벡터를 생성한 후, 이를 쿼리 FDE 벡터로 변환합니다.
2단계: MIPS 검색 (빠른 근사 검색): MIPS (Maximum Inner Product Search, 최대 내적 검색) 인덱스를 사용하여 쿼리 FDE와 문서 FDE 간의 유사도를 빠르게 계산하고, 가장 유사도가 높은 후보 문서 $K_1$개를 신속하게 찾습니다.
이는 빠른 근사 검색을 가능하게 합니다.
3단계: Chamfer 기반 Re-ranking (정밀 재정렬): 2단계에서 찾은 후보 문서들을 대상으로 원본 멀티 벡터를 사용한 정밀한 Chamfer 기반 Re-ranking 연산을 수행하여 최종 검색 결과의 정확도를 높입니다.
MUVERA는 복잡한 멀티 벡터 연산을 FDE로 치환함으로써 검색 속도를 획기적으로 개선합니다.
응답 속도 (Latency) 개선: 기존 대비 응답 속도가 90% 감소했습니다.
정확도 (Recall) 향상: 평균 Recall@N 성능이 약 10% 향상되었습니다.
효율성: 기존과 동일한 Recall을 유지하면서도 처리해야 하는 후보 문서의 수를 5~20배 절감시킵니다.
MUVERA는 특히 복잡한 다단계 파이프라인(PLAID)이 필요한 기존의 멀티 벡터 검색 방식에 비해 NQ-100, MS MARCO-1000 등
다양한 데이터셋에서 지연 시간(Latency) 우위를 보이며 더 빠르고 효율적인 검색을 가능하게 합니다.
DEVOTEE를 활성화 시키면
지금 작성한 댓글에 AI가 댓글을 달아줍니다.