이 문서는 그래프 기반 RAG(Graph Retrieval-Augmented Generation) 모델의 개념, 구조, 주요 알고리즘, 및 다양한 검색 전략을 종합적으로 설명합니다.
Graph RAG는 기존의 RAG(Retrieval-Augmented Generation) 모델을 확장하여,
단순한 텍스트 검색이 아닌 그래프 구조화된 지식(knowledge graph) 를 활용해
더 정확하고 논리적인 답변을 생성하도록 설계된 프레임워크입니다.
입력 질의 q와 그래프 G가 주어졌을 때:
[
a^* = \arg\max_a p(a | q, G)
]
즉, 그래프 G에서 질의 q에 가장 관련된 하위 그래프 G*를 찾아,
이를 기반으로 최적의 답변 a*를 생성합니다.
구성요소:
Graph RAG에서 사용하는 기본 데이터 구조는 Text-Attributed Graph(TAG) 입니다.
| 구성요소 | 설명 |
|---|---|
| V | 노드 집합 (예: 사람, 도시, 회사 등) |
| E | 엣지 집합 (예: 관계: LivesIn, WorksAt 등) |
| xᵥ | 노드의 텍스트 속성 |
| eᵢⱼ | 엣지의 텍스트 속성 |
| A | 인접 행렬 (Adjacency Matrix) |
예를 들어:
공개 지식 그래프(Wikidata, DBpedia 등)나 자체 구축 데이터(문서, 표, DB 등)로부터 그래프를 구성.
인덱싱 방식:
📘 [15쪽 도표]: 데이터 소스(문서, 위키, 표 등) → 그래프 데이터베이스로 인덱싱되는 전체 과정을 시각적으로 설명.
자연어 질의 q가 주어지면, 가장 관련성 높은 노드, 트리플렛, 경로, 서브그래프를 찾아냅니다.
목표 식:
[
G^* = \arg\max_{G⊆R(G)} \text{Sim}(q, G)
]
검색 범위 R(G) 를 점진적으로 좁혀 효율 향상.
검색 granularity(단위):
📘 [16쪽 도식]: 질의 입력 → 검색 단계별 구조(확장, 파싱, GNN 기반 검색, 지식 병합 및 가지치기)가 시각화됨.
| 유형 | 설명 | 장점 | 단점 |
|---|---|---|---|
| Non-parametric | 전통 그래프 탐색, PCST 알고리즘 등 | 빠름 | 정확도 낮음 |
| LM-based | LLM (RoBERTa, GPT 등)을 이용해 서브그래프 탐색 | 질의 해석력 높음 | 연산비용 큼 |
| GNN-based | GNN(Graph Neural Network)으로 노드 임베딩 | 구조 이해력 높음 | 학습비용 큼 |
📘 [19~23쪽]에서는 실제 예시로 “Justin Bieber의 형제는 누구인가?” 질의를 그래프에서 탐색하는 과정을 단계별로 도식화함.
| 유형 | 특징 | 장점 | 단점 |
|---|---|---|---|
| Once Retrieval | 한 번의 검색으로 결과 도출 | 빠름 | 깊은 추론 불가 |
| Iterative Retrieval | 이전 결과 기반으로 반복 검색 | 정확도 향상 | 느림 |
| Multi-Stage Retrieval | 서로 다른 검색기를 단계별로 결합 | 효율성과 정확도 균형 | 구조 복잡 |
→ 적응형(Adaptive) 접근에서는 LLM이 언제 검색을 종료할지 판단함.
| 단위 | 설명 |
|---|---|
| Nodes | 개별 엔티티 수준 검색 |
| Triplets | (주어-관계-목적어) 구조 |
| Paths | 엔티티 간 관계 경로 |
| Subgraphs | 주변 이웃을 포함한 전체 맥락 |
| Hybrid | 상황에 따라 여러 단위 혼합 |
효율성 vs 정확도:
그래뉼러리티 선택은 작업(Task) 의 성격에 따라 달라짐:
Graph RAG의 장점:
Graph RAG는
텍스트 기반 RAG의 한계를 넘어,
그래프 구조의 지식 표현과 LLM의 추론 능력을 결합한 차세대 지식 기반 생성 모델입니다.