📝 Abstract
RAG(Retrieval-Augmented Generation)는 외부 지식을 검색해 모델의 답변 능력을 강화하는 대표적인 기법입니다. 하지만 기존 RAG는 임베딩 공간 기반 검색에 주로 의존하기 때문에, 관계적 지식을 포착하는 데 한계가 있었습니다.
이에 반해, GraphRAG는 노드와 엣지로 구성된 그래프 구조를 활용합니다. 그래프는 단순 문서 검색으로는 얻기 힘든 복잡한 관계 정보를 담을 수 있기 때문에, 최근 연구와 산업 현장에서 주목받고 있습니다.
🚀 Introduction
RAG가 이미 다양한 응용에서 성공을 거둔 가운데, 그래프(Graph)의 보편적 활용성을 고려한 새로운 접근이 등장했습니다. 바로 GraphRAG, 즉 RAG와 그래프 구조 데이터를 통합하는 방법론입니다.
기존 RAG가 Semantic/Embedding 기반 검색에 초점을 맞췄다면, GraphRAG는 Graph Neural Networks(GNNs)와 그래프 분석 기법(예: 그래프 탐색, 커뮤니티 탐지)을 결합하여 관계적 지식 포착에 강점을 발휘합니다.
결국 GraphRAG는 단순히 검색 성능을 높이는 것을 넘어, 질문과 지식 사이의 관계성을 구조적으로 이해할 수 있도록 설계된 차세대 RAG라 할 수 있습니다.
📌 GraphRAG의 전체 아키텍처
GraphRAG는 단순히 RAG에 그래프를 덧붙인 개념이 아니라, 그래프 데이터의 특성을 반영한 별도의 설계가 필요합니다.
기본 파이프라인은 다음과 같이 5개 단계로 구성됩니다:
- Query Processor – 사용자의 질문을 전처리
- Graph Data Source – 그래프 구조화된 지식 저장소
- Retriever – 그래프 탐색(GNN, BFS/DFS 등) 기반 검색 수행
- Organizer – 검색된 결과를 정제 및 재구성
- Generator – 최종 답변을 생성
{different example}
- 기존 RAG: sparse/dense 인코더 기반의 텍스트 검색(index search)
- GraphRAG: 그래프 탐색(BFS/DFS, 엔티티 링크) + GNN 기반 임베딩 활용
즉, 기존의 “단순 검색 → 답변 생성” 흐름을 넘어, 그래프 구조와 관계성을 활용할 수 있도록 Retriever/Organizer/Generator 모두 맞춤형 설계가 필요합니다.
1. Query Processor: (텍스트와 그래프를 연결하는 다리)
기존 RAG에서는 질문과 데이터 모두 텍스트이기 때문에, 쿼리를 그대로 임베딩해서 검색기에 넘기면 된다.
하지만 GraphRAG에서는 데이터 소스가 그래프 구조이므로, 단순 텍스트 매칭만으로는 부족하다.
예를 들어, *“저스틴 비버의 형제는 누구인가?”*라는 질문을 텍스트로만 처리한다면 답을 찾기 어렵다. GraphRAG는 이 질문을
- 엔티티(Entity): Justin Bieber
- 관계(Relation): brother of
- 으로 변환해야 지식 그래프에서 올바른 결과를 찾을 수 있다.
GraphRAG의 쿼리 프로세서는 이런 변환 과정을 수행하기 위해 여러 NLP 기법을 활용한다:
- Entity Recognition – 쿼리 내 엔티티 식별 (예: Justin Bieber)
- Relational Extraction – 쿼리 내 관계 추출 (예: brother of)
- Query Structuration – 쿼리를 그래프 탐색 가능한 구조로 변환
- Query Decomposition – 복잡한 질문을 여러 하위 질의로 분해
- Query Expansion – 관련 용어나 동의어를 추가해 검색 성능 개선
2. Retriever: 그래프를 이해하는 검색기
GraphRAG에서 Retriever는 전처리된 쿼리를 받아 그래프 데이터에서 관련 정보를 찾는 핵심 모듈입니다. 기존 RAG도 Retriever를 쓰지만, 텍스트 중심이라 그래프 구조적 신호를 반영하기 어렵다는 한계가 있습니다.
- 기존 RAG
- “Text-in, Text-out”
- NLP 토크나이저 기반
- BM25/TF-IDF / Dense Retriever → 어휘 유사도 / 의미 유사도
- GraphRAG
- 다양한 입출력: Text↔Graph
- 그래프 탐색(BFS/DFS), 엔티티 링크 활용
- GNN 기반 임베딩
- 노드·엣지 패턴, 구조 신호 반영
3. Organizer: LLM이 소화할 수 있는 형태로 가공하기
Retriever가 가져온 그래프 데이터는 그대로 쓰기 어렵습니다. 엔티티·관계·경로·서브그래프 형태의 데이터는 노이즈, 불완전성, 구조적 복잡성 때문에 LLM이 이해하기 힘듬. Organizer는 이 데이터를 정리·정제해 Generator가 활용 가능한 형태로 바꿔주는 역할을 합니다.
🧩 Organizer가 필요한 이유
- 노이즈 제거 (Graph Pruning)
- 서브그래프에는 불필요한 노드/엣지가 많음 → 생성 품질 저하
- → 중요한 부분만 남기는 Pruning 필요
- 중요도 재정렬 (Re-ranking)
- 그래프 이웃이 늘어날수록 문맥이 길어져 LLM이 집중하지 못함
- → 중요한 노드/관계만 우선순위로 정렬
- 불완전 정보 보강 (Graph Augmentation)
- 검색된 그래프가 불완전할 수 있음
- → 의미적/구조적 정보 보강으로 개선
- 구조적 정보 변환 (Structure-aware Verbalization)
- 그래프 구조는 단순 텍스트로 표현하기 어려움
- → LLM이 이해할 수 있도록 구조를 반영한 재구성 필요
4. Generator: 최종 출력을 만드는 엔진
Retriever와 Organizer가 데이터를 정리해주면, Generator가 이를 받아 최종 결과물을 만들어냅니다. Generator는 단순 텍스트 답변뿐 아니라 분류, 질의응답, 새로운 그래프 생성까지 다양한 작업을 담당합니다.
🧩 Generator의 세 가지 유형
- 판별 기반 Generator (Discriminative-based)
- 목적: 노드/엣지/그래프 분류
- 활용 모델: GNNs, Graph Transformers
- LLM 기반 Generator
- 목적: 텍스트 기반 응답 생성
- 활용 모델: GPT 계열 등 대규모 언어 모델
- 그래프 기반 Generator
- 목적: 새로운 그래프 생성
- 활용 모델: Diffusion Models, Graph VAE 등
- 예시: 신약 개발을 위한 분자 그래프 생성
'AI_Paper > NLP' 카테고리의 다른 글
| From Local to Global: A GraphRAG Approach to Query-Focused Summarization 논문리뷰 (0) | 2026.01.04 |
|---|---|
| REALM: Retrieval-Augmented Language Model Pre-Training 논문리뷰 (0) | 2025.09.02 |
| RAFT: Adapting Language Model to Domain Specific RAG 논문리뷰 (5) | 2025.08.13 |
| On LLMs-Driven Synthetic Data Generation, Curation,and Evaluation: A Survey 논문리뷰 (0) | 2025.04.25 |
| Survey on Evaluation of LLM-based Agents (0) | 2025.04.08 |