본문 바로가기
Computer Vision

Vision RAG (VISRAG: Vision-Based Retrieval-Augmented Generation On Multi-Modality Documents)

by pnnote 2025. 4. 17.
반응형

paper : https://arxiv.org/pdf/2410.10594v1

 

기존의 대부분 RAG(Retrieval-Augmented Generation)는 text 기반으로 설계되어 있어서, 문서에서 중요한 정보인 레이아웃이나 이미지를 제대로 활용할 수 없다는 한계가 있다. VisRAG은 VLM(Vision-Language Model) 기반의 RAG 파이프라인을 통해 문서를 단순히 텍스트로 변환하지 않고 이미지로 임베딩하여 시각적 정보를 더 잘 활용하는 방법을 제안한다.

VisRAG은 기존 RAG 방식에서 문서를 텍스트로 파싱하는 과정을 거치지 않으므로, 그 과정에서 발생하는 정보 손실을 최소화하고, 문서를 이미지 형태로 임베딩한 후, 이를 이용해 더 나은 생성 결과를 도출할 수 있도록 하는 구조이다. 이렇게해서 문서의 시각적 레이아웃과 이미지를 직접 활용하여 보다 정확한 정보 검색 및 생성이 가능하도록 설계되었다고 할 수 있다.

 

 

그림 1은 TextRAG와 VisRAG의 정확도를 비교한 것이다. VisRAG는 기존 TextRAG보다 더 나은 학습 데이터 효율성과 일반화 능력을 보유하고 있으며 텍스트 중심 문서와 비전 중심 문서 모두에서 robust함을 입증했다고 한다. VisRAG는 RAG 파이프라인의 차세대 표준으로 TextRAG를 대체할 가능성이 아주 높다고 한다.

VisRAG의 아이디어

VisRAG는 Text 추출 단계 없이 문서 전체를 이미지로 처리하는 순수 시각 기반 RAG 파이프라인이라고 볼 수 있는데, 텍스트와 이미지를 결합한 문서를 시각적 임베딩을 통해 처리하여 정보 검색과 생성 작업을 수행한다.

 

 

그림 1의 왼쪽은 TextRAG이고 오른쪽은 VisRAG이다. 전통적인 텍스트 기반 RAG(TextRAG)는 검색과 생성을 위해 구문 분석된 텍스트에 의존하므로 다중 모달 문서에서 시각적 정보가 손실되는데, vision 기반 RAG(VisRAG)는 Vision-Language-Model 기반 검색기 및 생성기를 사용하여 문서 페이지의 이미지를 직접 처리함으로써 원본 페이지의 모든 정보를 보존한다.

RAG 파이프라인은 Retriever (검색기)과 Generator (생성기) 두가지로 이루어져 있다. Retriever는 주어진 질의(query)와 지식 코퍼스(knowledge corpus)에서 관련 있는 정보를 찾아내고, Generator (생성기)는 검색된 정보와 질의를 바탕으로 답변을 생성한다. RAG 시스템은 방대한 지식 데이터베이스에서 정보를 검색하는데, 이 데이터는 여러 개의 검색 단위(retrieval units)로 나누어져 있다. Retriever는 질의와 지식 코퍼스를 입력으로 받아, 검색된 단위들로 이루어진 후보 집합을 반환한다. 검색 속도를 높이기 위해, 지식 코퍼스의 각 검색 단위는 임베딩(embedding)하여 사전에 인코딩되어 저장된다. 이를 통해 근사 최근접 이웃 검색(ANN: Approximate Nearest Neighbor Search) 기법 등을 사용해서 관련 단위를 찾아낼 수 있다. Generator는질의와 검색된 정보 집합을 기반으로 답변을 생성한다. LLM을 사용하여 검색된 단위들과 질의를 함께 입력으로 받아 답변을 생성하는 방식이다.
이 구조는 TextRAG에서 주로 사용되며, 지식 코퍼스의 각 단위는 텍스트로 이루어져 있는데, 실제 문서들은 단순한 텍스트 외에도 이미지, 도표, 레이아웃 등 다중 모달리티 정보를 포함하고 있다. 그러나 TextRAG는 텍스트 기반이므로, 문서를 처리하기 위해 먼저 파싱(parsing) 과정을 거쳐 텍스트로 변환해야 한다. 이 과정에서 문서의 시각적 레이아웃이나 이미지가 손실될 수 있고, OCR 등 추가 처리 단계를 거쳐야 하므로 오류가 발생할 수 있다.


VisRAG는 이런 문제를 해결하기 위해 페이지 자체를 검색 단위로 사용한다. 즉, 문서를 텍스트로 변환하지 않고, 페이지나 문서를 하나의 이미지로 처리하여 검색하고, 그 정보를 바탕으로 답변을 생성한다.

VisRAG도 Retriever (검색기)과 Generator (생성기)로 이루어져 있다.

VisRAG Retriever

VisRAG는 페이지를 검색 및 생성의 기본 단위로 사용하며, 이것을 Vision-Language Model (VLM)을 통해 처리한다. VLM은 이미지와 텍스트를 함께 이해할 수 있는 모델로, 문서의 레이아웃이나 시각적 요소를 그대로 활용할 수 있다. VisRAG Retriever 구조는 이중 인코더로 이루어져 있다. 이 구조는 질의(query)와 문서(또는 페이지)를 각각 독립적으로 임베딩하는 방식을 사용한다. 기존 텍스트 기반 시스템에서는 언어 모델(LLM)을 사용하여 질의와 문서를 텍스트로 인코딩하지만, VisRAG에서는 VLM(비전-언어 모델)을 사용해서 질의는 텍스트로, 문서는 이미지로 인코딩한다. 즉, 텍스트와 이미지 데이터를 각각의 임베딩 벡터로 변환하여, 나중에 비교하고 검색할 수 있도록 한다.

VisRAG Generator

VLM을 사용하여 검색된 페이지들을 바탕으로 사용자의 질의에 대한 답변을 생성하는데, 이 단계에서는 여러 개의 검색된 페이지가 주어졌을 때, 페이지 연결(Page Concatenation)과 가중치 기반 선택(Weighted Selection) 방식을 사용해서 효율적으로 처리하여 답변을 생성한다.

  1. 페이지 연결 (Page Concatenation)
    한 번에 여러 페이지를 처리할 수 없는 경우, 모든 검색된 페이지를 하나의 이미지로 연결(concatenation)해서 처리할 수 있다. 이 방식은 VLM이 단일 이미지 입력을 처리하도록 설계된 경우에 유용하다.
    검색된 여러 페이지를 하나의 이미지로 결합한 후, VLM이 이 결합된 이미지를 입력받아 질의에 대한 답변을 생성한다. 논문에서는 수평 연결(horizontal concatenation) 방식을 실험에 사용했다. 페이지들을 가로로 배열하여 하나의 이미지로 연결한다.
  2. 가중치 기반 선택 (Weighted Selection)
    각 페이지마다 VLM이 답변을 생성한 후, 가장 높은 신뢰도를 가진 답변을 선택하는 방법이다. 이 방법은 VLM이 각 페이지에 대해 별도의 답변을 생성하고, 최종적으로 가장 신뢰할 수 있는 답변을 선택하는 방식으로 볼 수 있다.
반응형