ABSTRACT & INTRODUCTION
- 문제 의식 (Problem Statement)
- 기존 RAG 프레임워크는 주로 LLM(Large Language Models)에 의존하고 있어, 자원이 제한된 환경(엣지 디바이스 등)에서 SLM(Small Language Models)을 사용할 때 심각한 성능 저하가 발생한다.
- SLM은 복잡한 의미 이해(Semantic Understanding)와 텍스트 처리 능력이 부족하여 기존의 정교한 RAG 파이프라인(LightRAG, GraphRAG 등)을 소화하지 못한다.
- MiniRAG의 목표
- SLM의 제약 사항(제한된 추론 능력)을 고려하여 극도로 단순하고 효율적인 RAG 시스템을 설계한다.
- SLM이 복잡한 의미 이해는 못 해도 패턴 매칭은 잘한다는 점에 착안한다.
- 핵심 솔루션
- 복잡한 의미적 추론 대신 구조적 지식 표현(Structural Knowledge Representation)을 우선시한다.
- 저장 공간을 25%만 사용하면서도 LLM 기반 방식과 유사한 성능을 달성.

THE MINIRAG FRAMEWORK (방법론)
MiniRAG는 크게 인덱싱(Indexing)과 검색(Retrieval) 두 가지 단계에서 방법론을 제안한다.

Indexing과 Answering의 한계
1. Semantic-Aware Heterogeneous Graph Indexing (인덱싱)
- 구조: 텍스트 청크와 명명된 개체(Named Entity)를 통합된 그래프 구조로 결합한다.
- 노드(Node) 구성:
- Text Chunk Node ($V_c$): 문맥 정보를 담고 있는 원본 텍스트 조각.
- Entity Node ($V_e$): 텍스트에서 추출된 핵심 의미 요소 (이벤트, 장소 등).
- 엣지(Edge) 구성:
- Entity-Entity ($\mathcal{E}_{\alpha}$): 개체 간의 의미적 관계 및 계층 구조이다.
- Entity-Chunk ($\mathcal{E}_{\beta}$): 개체와 그 개체가 포함된 텍스트 청크 간의 연결한다.
- 특징: SLM이 요약하기 어려운 긴 텍스트 대신, 추출된 개체를 중심으로 데이터를 구조화하여 의미 이해의 부담을 줄인다.
- 지식 그래프의 각 엣지를 언어 모델이 생성한 의미 설명으로 강화한다.
- 구체적으로, 개체를 해당 청크에 연결하는 각 엣지 $e_{\beta} \in \mathcal{E}{\beta}$에 대해, 우리는 언어 모델을 사용하여 개체의 설명 $d{e_{\beta}}$를 생성하고 이를 이 엣지의 보충 정보로 사용한다.
- Entity-Chunk 엣지에 대한 텍스트 설명이 있으면, 이는 텍스트 속성 엣지 $(e_{\beta}, d_{e_{\beta}}) \in \mathcal{E}_{\beta}$가 된다.
$G = ({ \mathcal{V}_{c}, \mathcal{V}_{e} }, { \mathcal{E}_{\alpha}, (e_{\beta}, d_{e_{\beta}}) \in \mathcal{E}_{\beta} })$
2. Lightweight Graph-Based Knowledge Retrieval (검색)
- Query Semantic Mapping (Pre-retrieval 단계):
- SLM을 이용해 쿼리에서 개체(Entity)를 추출하고 그 유형(Type)을 예측한다.
- 쿼리 전체를 벡터화하는 대신, 추출된 개체를 사용하여 그래프의 진입점(Entry point)을 찾는다.
- Reasoning Path Discovery:
- 쿼리 개체와 의미적으로 유사한 노드에서 시작하여, 그래프의 연결(Topology)을 따라 답변 후보 노드와 텍스트 청크를 찾아내는 경로를 탐색한다.
기존 GraphRAG / LightRAG와의 차이점 (비유)
생성(Generation) vs. 추출(Extraction)의 차이
- GraphRAG / LightRAG (소설가 - Generation):
- LLM이 텍스트를 읽고 새로운 요약문(Community Report)이나 추상적 개념(Concept)을 작문하여 인덱스에 추가한다.
- 높은 수준의 추상화 및 요약 능력이 필수적이다.
- MiniRAG (지도 제작자 - Extraction):
- SLM이 텍스트 내의 단어(Entity)를 추출하고, 이를 물리적으로 연결하는 데 집중한다.
- 복잡한 생성 과정 없이, 있는 정보를 구조화하여 SLM의 한계를 우회한다.
Naive RAG vs. Advanced RAG 및 MiniRAG
- Naive RAG (Vector Search Only):
- Input -> VectorDB -> Context의 단순 구조.
- Advanced RAG (LLM Based):
- LLM의 높은 지능을 활용해 쿼리를 재구성(Rewrite)하거나, 문서를 정교하게 요약하여 검색 성능을 높인다.
- SLM 사용 시 쿼리의 의도를 제대로 파악하지 못해 엉뚱한 벡터를 검색하는 문제가 발생한다.
- Pre-Retrieval
- Query Rewrite: 사용자의 자연어 쿼리를 데이터베이스 검색에 적합한 형태로 변환
- Query Expansion: 입력된 쿼리에 관련된 추가 키워드를 더해 검색 결과를 풍부하게 만든다.
- Query Transformation: 특정 문맥이나 패턴을 기반으로 쿼리 자체를 변환하여 검색 성능을 향상시킨다.
- Post-Retrieval
- Reranker / Reorder
- Prompt Compression
- MiniRAG의 핵심 아이디어 (SLM 최적화):
- Pre-retrieval 개선: 모델이 쿼리를 해석하지 못하니, 단순한 개체 추출(Entity Extraction) 작업으로 변환하여 검색 대상을 명확히 한다.
- Indexing 개선: 모델이 요약을 못 하니, 지식 그래프(Heterogeneous Graph)를 미리 구축해 두어 "지능의 부족함"을 "데이터의 구조"로 보완한다.
Keyword Search와의 차이 및 Topology-Enhanced Retrieval 원리
MiniRAG는 Lexical Search(키워드)의 명확성과 Semantic Search(의미)의 유연성을 결합한 방식.
- Keyword Search와의 차이점:
- 단순한 String Matching이 아닌, 추출된 개체(Entity)를 그래프 노드와 매칭할 때 Vector Similarity을 사용하여 유의어나 비슷한 의미를 가진 단어까지 찾아낸다.
- Topology-Enhanced Retrieval (위상 강화 검색) 동작 원리:
- 앵커링 (Anchoring): 쿼리에서 추출한 개체(Entity)와 의미적으로 유사한 그래프 노드를 찾아 시작점으로 삼는다.
- 확장 (Expansion): 단순히 유사한 단어만 찾는 것이 아니라, 그래프의 엣지(Edge/Topology)를 타고 이동하여 연결된 다른 개체나 텍스트 청크를 수집한다.
- 결과: "단어의 의미" 뿐만 아니라 "단어 간의 관계"를 통해 더 정확한 맥락을 파악한다.
728x90
'머신러닝 > 딥러닝논문읽기' 카테고리의 다른 글
| Parallel Scaling Law for Language Models 논문 리뷰 (0) | 2025.10.06 |
|---|---|
| Training Large Language Models to Reason in a Continuous Latent Space 논문 리뷰 (0) | 2025.05.01 |
| RNN - Recurrent neural network based language model (2010) 논문리뷰 (2) | 2024.08.18 |
댓글