데보션앱 소개페이지 바로가기
로그인 선택

신고하기

CLOSE
신고사유 (대표 사유 1개)
상세내용 (선택)
0/200
  • 신고한 게시글은 더 이상 보이지 않습니다.
  • 이용약관과 운영정책에 따라 신고사유에 해당하는지 검토 후 조치됩니다.
  • 허위 신고인 경우, 신고자의 서비스 이용이 제한될 수 있으니 유의하시어 신중하게 신고해 주세요.
(이 회원이 작성한 모든 댓글과 커뮤니티 게시물이 보이지 않고, 알림도 오지 않습니다.)

미리보기

커뮤니티

      1,234

      badge 23.06.15

      글 등록

      카테고리를 선택해주세요.

      DEVOTEE를 활성화 시키면
      지금 작성한 커뮤니티 글에 대해 1개의 댓글을 달아줍니다.

      버튼을 누르면 글 수정 시 ChatGPT가 작성한 댓글이 수정됩니다.

      임시저장함에 저장되었습니다. 저장일시 : 2022.5.17 14:29:08

      임시저장함

      제목을 선택하시면 이어서 작성이 가능하며,
      최대 20건까지 저장합니다.
      컨텐츠 유형, 제목, 저장일시, 삭제로 이뤄진 임시저장 목록
      컨텐츠 유형 제목 저장일 삭제

      데보션 블로그 게재 요청

      CLOSE
      • *
      • *

      본인인증

      효율적인 데보션 서비스 이용 및
      고객님의 소중한 개인정보보호를 위해
      본인인증을 진행해주세요. 본인인증 미 진행 시 로그인이 제한됩니다.
      본인인증 실패

      본인인증 로그인에 실패하였습니다.
      회원이 아니시거나 본인인증 등록이
      완료되지 않은 사용자입니다.

      회원정보 연결

      Morphik - 멀티모달티를 위한 RAG에서 문서 파싱 없이 이미지를 사용하는 방법

      sysmoon 25.08.08
      149 1 0
      DEVOTEE 요약
      ColPali는 문서 이미지를 직접 비전-언어 모델(VLM)로 임베딩하여 복잡한 전처리 없이 시각적, 텍스트적 문맥을 반영한 검색을 지원하는 멀티모달 문서 검색 기술입니다. 이는 전통적 OCR과 파싱 방식의 한계를 넘어, 표·차트·레이아웃 같은 시각적 구조까지 효과적으로 이해하고 사용자의 텍스트 쿼리와 맥락적으로 결합하여 높은 검색 정확도를 제공합니다. 주로 금융 문서, 기술 매뉴얼, 의료 기록 등 복잡한 문서 검색에 활용되며, 향후 자동화 확장 및 전문가급 해석을 목표로 발전 중입니다.
      DEVOTEE 추천 블로그

      Morphick 의 핵심 기능중에 VLM 으로 사용되는 ColPali는 PaliGemma-3B 같은 비전-언어 모델을 기반으로 하며,

      문서 페이지 이미지를 패치 단위로 나누어 ViT(비전 트랜스포머)로 임베딩한 후, 사용자의 텍스트 쿼리와 함께 문맥화된 임베딩을 생성해 검색에 활용합니다.

      즉, ColPali는 문서 검색을 위해 문서를 텍스트로 변환하는 파싱과 같은 복잡한 과정을 거치지 않고, 이미지 단위로 바로 임베딩해서 시각적 컨텍스트를 반영함으로써

      효율적이고 정확한 문서 검색을 실현하는 최신 VLM(Vision Language Model) 기반 문서 검색 모델입니다.


      주요기능

      • 멀티모달 검색 (ColPali)

        • 각 PDF 페이지를 이미지로 처리, 하나의 텍스트 토큰 단위가 아닌 페이지 단위 멀티벡터 표현 생성

        • 이미지, PDF, 동영상 및 시각적 구조(표, 도식, 서식 등)도 의미를 파악하고 검색 가능

        • 단일 엔드포인트를 통한 통합 멀티모달 질의 지원

        • 문서 페이지 이미지를 직접 임베딩해 텍스트뿐 아니라 시각적 단서 활용

        • 텍스트와 시각 정보의 결합: 문서에는 텍스트뿐 아니라 시각적 단서(표, 도형, 사진, 폰트, 레이아웃 등)가 많으므로, 둘을 효과적으로 결합해야 실제 의도를 잘 반영할 수 있습니다.

        • OCR, 레이아웃 분석, 캡셔닝, 청킹 등이 필요 없어 간단하고 빠른 처리

        • 시각 정보와 텍스트 쿼리를 결합하는 다중 벡터 표현과 late interaction 매칭

          • 문맥화(Contextualization): LLM을 통과하면 단순 텍스트 임베딩이 아닌, 사용자의 검색 의도와 문서의 시각 패치들이 맥락적으로 맞춰져 "정교한 비교"가 가능해집니다.

          • 정확도 향상: 패치별 임베딩과 쿼리 임베딩 간의 late interaction으로, 문서 내 특정 구조(예: 표 한 칸, 차트의 일부)에 대해서도 매우 세밀한 검색이 이루어집니다.

          • 정합성 있는 결과: 시각과 언어 정보가 서로를 참조하며 임베딩되어, 텍스트나 이미지 단독 방식보다 훨씬 정합성이 높고 실제 사용자의 요구에 근접한 결과를 제공합니다.

      • 비정형 데이터 지원

        • 기존 데이터베이스와 달리, 영상, PDF 등 모든 형태의 비정형 데이터를 직접 입력할 수 있습니다. 연구 기반의 맞춤 알고리즘으로 최첨단 검색 정확도를 보장합니다.

      • Persistent KV-Caching

        • 자주 참조하는 문서는 한 번 처리 후 LLM(대규모 언어모델)의 내부 상태를 고정(freeze)하여 재활용할 수 있어, 계산 비용 절감과 응답 속도 향상에 도움이 됩니다.

      • MCP (Model Context Protocol) 지원

        • Morphik은 MCP를 내장 지원하여, KB 연동하여 MCP 클라이언트와 통합할 수 있습니다.

      • 자연어 규칙 엔진

        • 데이터 입력과 쿼리 방식을 자연어 규칙으로 정의할 수 있어, 비정형 데이터에도 스키마를 적용하는 느낌으로 구조화 가능합니다. (ex: StructuredOutput)

        • **사람이 쓰는 말(자연어)**로 데이터 처리 방법을 정할 수 있는 기능입니다.

      • 사용자 및 폴더 별 범위 설정

        • 다중 사용자와 폴더 단위로 접근 제어가 가능해, 프로젝트나 사용자 그룹별로 데이터를 논리적으로 구분하면서도 하나의 데이터베이스를 유지

      • 유연한 모델 레지스트리

        • 다양한 AI 모델을 손쉽게 등록 및 사용할 수 있으며, 작업에 따라 작은 모델과 고성능 모델을 조합해 사용할 수 있습니다.

      • 지식 그래프 (Knowledge Graphs)

        • 한 줄의 코드로 도메인 특화 지식 그래프 생성 가능

        • 사전 구성된 프롬프트 사용 가능하거나, 사용자 정의 가능

      • 빠르고 확장가능한 메타데이터 추출 (Rules Processing)

        • 문서 내의 bounding box, 라벨, 분류 정보 등 자동 추출

        • 대용량 문서도 빠르고 안정적으로 처리

      • 다양한 통합 기능 (Integrations)

        • Google Workspace, Slack, Confluence 등과의 직접 통합 지원

      • 캐시 기반 생성 (Cache-Augmented-Generation)

        • 문서별로 KV 캐시를 생성해 생성 속도 향상

        • 반복 질의가 많은 환경에서 유용


      문제점 (복잡한 문서 파싱의 한계와 RAG 어려움)

      • 차트, 도표, 표가 혼합된 복잡한 PDF 문서에서 정보를 추출하려 할 때, OCR과 파싱 파이프라인이 원하는 정보를 자주 손실하는 문제 발생

      • 중첩 표, 중요한 도표, 주석이 많은 기술 문서, 심지어 텍스트가 없는 매뉴얼 등 실제 상황에서 기존 파이프라인의 한계 체감

      • 기존 파이프라인의 단계:

        • PDF에 OCR 적용 (숫자나 문자를 잘못 읽을 수 있음)

        • 레이아웃 감지 모델로 표/도표 구분 시도 (실패 확률 높음)

        • 읽기 순서 복원 (시각적 흐름을 놓칠 수 있음)

        • 도표 캡션 인식 (뉘앙스 누락 잦음)

        • 텍스트 청킹 (연관 정보가 분리될 수 있음)

        • 벡터 임베딩 생성 및 벡터DB 저장 (위치 정보·문맥 상실)

      • 예시: 단순한 표도 "1,000"을 "l,0O0"으로 읽거나, 표와 헤더가 분리되어 총합 계산에 실패하는 사례 다수

      • 도표의 범례를 본문으로 오인, 퍼센트 값이 엉뚱한 위치에 흩어지는 문제 등 실제 정보 손실 사례 빈번


      해결방안

      ColPali 모델은 문서를 텍스트가 아닌 이미지로 직접 이해하고 검색하는 Vision 기반 문서 검색 모델입니다.

      기존 PDF 문서 검색에서 OCR, 레이아웃 분석, 표·그림 캡셔닝, 청킹 등의 복잡한 전처리 과정을 없애고, 문서 페이지 이미지를 격자(패치) 단위로 나누어 VLM을 사용해 다중 벡터 임베딩을 만듭니다.

      사용자 질의도 토큰 단위로 임베딩하여 페이지 패치와 지연 상호작용(Late Interaction) 방식으로 유사도를 계산,

      표나 차트, 글꼴, 레이아웃 같은 시각적 요소를 포함한 정보를 효과적으로 반영해 더 정확하고 빠른 문서 검색을 가능하게 합니다.

      • 복잡한 문서에서 정보를 추출하기 위해 전통적 OCR과 파싱 방식이 의미를 제대로 보존하지 못함

      • Morphik은 ColPali 모델 기반의 비주얼 문서 임베딩 방식을 통해 표, 차트, 레이아웃 맥락까지 직접적으로 이해하는 방법을 구현함

      • 기존 문서파싱 파이프라인 대비 이 방법이 정확도와 정보 보존 면에서 월등하며, 벤치마크 테스트에서 최대 95.56% 정확도 달성함

      • 추가적으로, MUVERA와 Turbopuffer의 도입으로 대규모 문서 검색에서 속도 향상을 이뤄냈음

      • 앞으로는 멀티문서 추론, 워크플로우 통합, 전문가급 해석 등 실질적 문서 업무 자동화가 목표임


      성능 최적화

      • 초기 방식의 단점은 연산 부하에 따른 속도 저하였으며, 패치마다 벡터 검색이 필요한 구조로 초당 수천 만건 이상의 쿼리에는 부적합했음

      • MUVERA 논문을 참고, 멀티 벡터 검색을 단일 벡터 검색으로 치환하는 방식(고정 차원 인코딩) 도입

      • Turbopuffer 특화 벡터 DB와의 결합으로 쿼리 속도를 3-4초에서 30ms 수준으로 개선

      • 이로 인해 기존 텍스트 파싱 대비 월등히 빠른 속도로 수백만 건 문서 검색 가능해짐


      활용 분야

      • 다양한 유형 문서에서 시각적 구조와 정보 손실 없이 고정확도 검색 지원

        • 복잡한 표와 차트가 중요한 금융 문서

        • 도면 중심의 기술 매뉴얼

        • 송장, 영수증에서의 레이아웃 기반 정보 추출

        • 연구 논문 속 시각자료/수치자료 이해

        • 의료 기록에서의 레이아웃 기반 관계 인식

      • API는 문서 업로드 후 자연어로 질의하는 매우 단순한 구조로, "1만 달러 초과 벌금 조항 계약서 모두 보여줘" 같은 요청 처리 지원


      아키텍처

      image


      ColPali 동작 과정

      ColPali(또는 비슷한 비전-언어 멀티벡터 검색 모델)에서 이미지를 패치 단위로 임베딩하고, 텍스트 쿼리와 함께 LLM(대형 언어 모델)을 거쳐 문맥화된 임베딩을 만드는 과정은 다음과 같이 동작합니다.

      1. 이미지 패치 임베딩

      • 한 문서 페이지 이미지는 ViT(Vision Transformer)와 같은 비전 모델(SigLIP-So400m)을 통해 격자(패치) 단위로 나눠집니다.

      • 각 패치는 독립적으로 임베딩(128차원 등) 벡터로 변환됩니다.

      • 이 과정을 통해 한 페이지는 수십~수백 개의 "로컬" 임베딩 벡터 집합이 됩니다.

      • 이 임베딩은 표, 그림, 레이아웃 등 시각적 특징을 잘 반영합니다.

      2. 텍스트 쿼리 임베딩

      • 사용자가 입력하는 텍스트 쿼리는 일반적으로 자연어 문장(예: "2022년 매출 추이 그래프 보여줘")입니다.

      • 이 쿼리 역시 토큰(단어, subword 등) 단위로 분할되어, 각각 임베딩 벡터로 변환됩니다.

      • LLM(대형 언어 모델, 예: PaliGemma-3B)의 텍스트 인코더를 사용하며, 쿼리의 맥락 정보를 풍부하게 내포한 임베딩 벡터가 생성됩니다.

      3. LLM과 문맥화 임베딩의 역할

      • LLM을 활용하는 이유: LLM은 쿼리와 문서의 의미적/상황적 맥락(Context)을 훨씬 깊이 있게 이해할 수 있습니다.

      • 텍스트 쿼리 임베딩뿐 아니라, 이미지의 각 패치 임베딩도 LLM의 크로스-어텐션 블록이나 조인트 인코더를 거치며 서로의 정보(문맥)를 교환합니다.

      • 이렇게 하면 "텍스트-이미지" 간 의미적 연결, 예컨대 표 혹은 특정 캡션을 찾는 요구 등 복잡한 검색 의도가 반영된 임베딩을 만들 수 있습니다.


      ColPali 구조 및 특성

      • 사용하는 모델 아키텍처: ColPali는 PaliGemma-3B라는 VLM을 확장한 구조를 사용하며, 여기서 이미지 인코딩은 SigLIP-So400m이라는 비전 트랜스포머가 담당하고, 언어 모델로는 Gemma 2B(LM)가 결합됩니다.

      • 임베딩 방식: 문서 이미지는 패치 단위로 분할되어 SigLIP 비전 인코더에서 임베딩되고, 이 패치 임베딩들이 프로젝션 레이어를 거쳐 언어 모델(Gemma 2B)의 입력으로 들어갑니다. 언어 모델 내부에서 텍스트 쿼리 임베딩과 패치 임베딩이 클로스-어텐션 블록에서 상호 작용하며, 이 과정을 통해 텍스트-이미지 간 깊이 있는 의미적 맥락화가 이루어집니다.

      • 역할과 목적: 이 LLM은 대화나 텍스트 생성을 위한 디코더 중심 형태가 아니라, 임베딩 공간 상에서 텍스트 토큰 임베딩과 이미지 패치 임베딩을 효과적으로 매칭하고 의미적 연결을 최적화하도록 설계된 구조입니다. 즉, 이미지와 텍스트의 의미적 요소를 정밀하게 연관 짓는 것이 핵심 목적입니다.

      • ColBERT 스타일 late interaction: 생성형 LLM의 확률적 언어 예측과 달리, ColPali의 LLM은 멀티 벡터 임베딩과 토큰 단위 late interaction을 위해 최적화되어 있습니다. 이를 통해 쿼리의 각 텍스트 토큰과 문서 이미지의 각 패치 임베딩 간에 정밀한 유사도 매칭이 가능합니다.

      • 일반 LLM과의 차이점: ColPali의 LLM은 인코더-디코더 기반 생성형 대화 모델(ChatGPT 등)과 다르게, 멀티모달 의미 임베딩과 매칭에 특화되어 있고, 대화적 텍스트 생성에는 적합하지 않습니다. 대신 복잡한 비전-텍스트 의미 연결·이해에 강점을 가집니다.


      결론

      • 문서는 시각적 지식 객체로 다루어져야 하며, Parsing의 한계를 넘어 이미지 기반 문서 이해가 RAG 환경에서 더 뛰어난 해법임

      • Morphik은 문서 정보 추출의 새로운 표준을 제시하고자 하며, 복잡한 문서 워크플로우 자동화, 실제 업무 적용을 노리고 있음

      • 한계와 목표

        • ColPali가 직관적이고 강력하지만 텍스트 기반의 QA 챗봇 환경에서는 문서처리 방식이 가지는 장점들이 더 효율적임

          • BM25, TFIDF 등 어휘 기반 검색이 특정 용어를 훨씬 잘 잡아냄

          • 본문 전체 검색 가능함

        • ColPali는 리트리벌에는 훌륭하지만, (최소한 네이티브로는) 순수 문서 파싱에는 쓸 수 없음

        • 현재 방식은 전문가 수준의 해석과 맥락적 판단력까지는 도달하지 못함

        • 금융 전문가의 심층적 해석과 같은 부분은 아직 기술적으로 미흡하고, 신뢰성, 불확실성 정량화 등 엔터프라이즈 요구에 추가 개발 필요

        • 비주얼 이해와 도메인 지식 그래프의 결합, 인과관계 추론, 신뢰성 지표 제공 등이 앞으로의 주요 과제임


      Ref

      출처

      [1] ColPali로 초간단 멀티모달 RAG 구축해보기(이론) https://velog.io/@yoli22/ColPali%EB%A1%9C-%EC%B4%88%EA%B0%84%EB%8B%A8-%EB%A9%80%ED%8B%B0%EB%AA%A8%EB%8B%AC-RAG-%EA%B5%AC%EC%B6%95%ED%95%B4%EB%B3%B4%EA%B8%B0

      [2] [논문 리뷰] ColPali: Efficient Document Retrieval with ... https://www.themoonlight.io/ko/review/colpali-efficient-document-retrieval-with-vision-language-models

      [3] ColPali 란 무엇인가? https://www.msap.ai/blog-home/blog/colpali/

      [4] ColPali로 초간단 멀티모달 RAG 구축해보기 https://www.youtube.com/watch?v=n7cS__ds0fA

      [5] ColPali를 활용하여 시각-언어 모델을 에이전트형 RAG 시스템에 통합 ... https://thenote.app/note?id=CdXz5zHNQW_hF9iXo0nWr

      [6] [논문 리뷰] Reproducibility, Replicability, and Insights into Visual ... https://www.themoonlight.io/ko/review/reproducibility-replicability-and-insights-into-visual-document-retrieval-with-late-interaction

      [7] MyColPali/README-KR.md at main https://github.com/hyun-yang/MyColPali/blob/main/README-KR.md

      [8] ColPali - Hugging Face https://huggingface.co/docs/transformers/main/model_doc/colpali

      [9] ColPali: Vision Language Models for Efficient Document ... https://lilys.ai/notes/837593

      [10] 문서 분석 그만하고 ColPali (오픈 소스) 써봐 : r/LangChain - Reddit https://www.reddit.com/r/LangChain/comments/1fc15wg/stop_trying_to_parse_your_documents_and_use/?tl=ko

      [11] Milvus로 다중 모달 검색에 ColPali 사용 https://milvus.io/docs/ko/use_ColPali_with_milvus.md

      [12] hyun-yang/MyColPali: The PyQt6 application using ColPali ... - GitHub https://github.com/hyun-yang/MyColPali

      [13] [Multimodal RAG] ColPali: Efficient Document Retrieval ... https://velog.io/@leehyuna/ColPali

      [14] RAG에서 문서 파싱은 필요 없음: 이미지만 사용하세요 https://news.hada.io/topic?id=22123

      댓글 0

      DEVOTEE를 활성화 시키면
      지금 작성한 댓글에 AI가 댓글을 달아줍니다.

      sysmoon 님의 최신 블로그

      더보기

      DEVOTEE 추천 블로그

      동영상 기고하기