papers · 2026-03-22
From Local to Global A GraphRAG Approach to Query-Focused Summarization
1. Introduction
RA는 LLM이 처리할 수 없는 방대한 양의 데이터를 외부에서 검색하고 이를 context로 활용함으로써 질문에 응답할 수 있도록 지원하는 접근 방식. 이는 LLM의 context window 크기 제한으로 인해 전체 데이터를 한 번에 넣을 수 없을 때 유용하게 활용됨.
전통적인 vector RAG 방식은 전체 텍스트 코퍼스 중 쿼리와 의미적으로 유사한 **텍스트 조각(records)**을 선택하여, 이들이 LLM의 context window에 수용 가능한 범위 내에서만 선택되도록 제한함. 선택된 조각들과 쿼리를 함께 입력하여 LLM이 최종 응답을 생성함. 이러한 방식은 질의와 직접적으로 관련된 정보가 소수의 문서에 국한된 경우에 효율적인 정답 생성을 가능하게 함.
그러나 vector RAG는 "What are the key trends in how scientific discoveries are influenced by interdisciplinary research over the past decade?"와 같은 sensemaking 유형 질의에는 대응하지 못함. 이러한 질의는 국지적 정보가 아닌 전체 코퍼스에 대한 **전역적 이해(global understanding)**를 필요로 하며, 이는 단순한 fact retrieval로 해결될 수 없음.
Sensemaking이란 사람, 장소, 사건 간의 연결 관계를 이해하고 이들의 전개 양상을 예측하거나 의사결정에 활용하는 사고 과정이며, 이는 복잡한 도메인에서의 고차원적 추론을 포함함. GPT, LLaMA, Gemini 등의 최신 LLM은 과학적 발견, 첩보 분석 등 복잡한 영역에서 뛰어난 sensemaking 능력을 보여줌. 하지만 이런 LLM도 방대한 문서량 앞에서는 RAG 방식이 필요하며, 기존의 vector RAG는 이 문제를 해결하지 못함.
이를 해결하기 위해 본 논문은 GraphRAG라는 새로운 접근을 제안함. GraphRAG는 LLM 기반으로 Knowledge Graph를 생성하고, 이를 기반으로 hierarchical community 구조를 형성하며, 각 커뮤니티 단위로 요약을 생성하고 이를 활용하여 질의응답을 수행하는 graph 기반 RAG 방법론임.
GraphRAG의 작동 절차는 다음과 같이 구성됨:
Knowledge Graph 생성
LLM을 활용해 문서로부터 주요 entities와 그들 간의 relationships를 추출하여 노드(node) 및 엣지(edge) 형태의 graph index를 구성함.Community Detection 수행
생성된 그래프에서 서로 밀접하게 연결된 엔티티 그룹을 hierarchical community로 분할함. 대표적으로 Leiden algorithm과 같은 방법이 사용됨.Community Summarization 수행
각 커뮤니티마다 요약을 생성하며, 이는 하위 커뮤니티 요약을 상위 요약에 재귀적으로 포함하는 bottom-up 방식으로 이루어짐. 이를 통해 전역적 의미 구조를 보존함.Query-Focused Map-Reduce Summarization
- Map 단계: 모든 커뮤니티 요약에 대해 독립적으로 partial answer를 병렬 생성함.
- Reduce 단계: 생성된 partial answers를 도움도(0~100점) 기준으로 정렬하고, 가장 관련 있는 응답들을 집계하여 최종 global answer를 생성함.
GraphRAG의 핵심 기여는 단순한 정보 검색을 넘어서서 전체 코퍼스의 의미 구조를 요약하고, 그 위에서 질의응답을 가능하게 하는 능력에 있음. 특히, 전통적인 vector RAG가 불가능한 글로벌 질의응답을 수행할 수 있음.
이 기여를 실증하기 위해 본 논문은 LLM-as-a-Judge 방식 기반의 새로운 평가 체계를 도입함. 이 방식은 다음과 같이 구성됨:
- 첫 번째 LLM이 데이터셋의 실제 사용 시나리오에 기반하여 sensemaking 질의들을 생성하고,
- 두 번째 LLM이 두 RAG 시스템(GraphRAG vs. vector RAG)의 응답을 사전 정의된 평가 기준에 따라 비교 평가함 (자세한 기준은 Section 3.3에 기술됨).
본 실험에서는 두 개의 대표적인 실제 데이터셋에 대해 GraphRAG과 vector RAG을 비교하였으며, 평가 기준은 GPT-4 기반 LLM을 활용함. 실험 결과, GraphRAG이 comprehensiveness와 diversity 측면에서 vector RAG을 월등히 능가함을 확인함.
GraphRAG은 다음의 형태로 오픈소스로 공개되어 있으며, 누구나 사용할 수 있음:
GitHub 저장소:
https://github.com/microsoft/graphrag 통합 프레임워크:
- LangChain
- LlamaIndex
- NebulaGraph
- Neo4J
2. Background
2.1 RAG Approaches and Systems
RAG는 query에 따라 외부 데이터 소스에서 관련 정보를 검색한 후, 해당 정보를 LLM의 prompt template에 삽입하여 응답을 생성하는 방식. 이는 전체 데이터가 context window에 수용되지 못하는 상황에서 유용하게 작동함.
Canonical RAG 구조
- 데이터 소스가 너무 크기 때문에 직접 삽입 불가
- 질의와 의미적으로 유사한 텍스트 조각을 embedding 기반으로 검색
- 검색된 문서 조각만으로 응답을 생성
- 이러한 접근을 vector RAG로 통칭
Vector RAG의 한계
- 국지적 질의(localized question)에 적합하지만, 전체 문서에 대한 global sensemaking이 요구되는 복합 질의에 부적합
- 예: "최근 10년간의 연구 흐름에서 어떤 주제가 융합 연구를 주도했는가?" 같은 질문에는 대응 불가
GraphRAG의 구조적 차별성
GraphRAG은 기존 RAG의 한계를 극복하기 위해 요약 기반 memory 구조를 활용함. 다음의 세 가지 특징을 가짐:
- Self-memory 활용: 원문을 직접 indexing하지 않고, 문단 단위로 요약된 정보를 기억
- Hierarchical summarization 기반 구조화: 로컬 요약들을 재귀적으로 통합하여 전역 요약을 생성
- Graph-based thematic partitioning 적용: graph index를 생성하고 이를 community detection으로 나눔으로써, 주제별 의미 단위(partition)를 명시적 구성
2.2 Using Knowledge Graphs with LLMs and RAG
- 전통적 knowledge graph 추출 방법: Rule matching, statistical pattern recognition, clustering, embedding-based 추론 등의 방식 활용
- LLM 기반 knowledge graph 추출의 부상: LLM은 문서에서 entity, relationship, factual claims를 추출할 수 있음
Knowledge graph 기반 RAG 활용 방식
- Graph 요소 삽입형 prompting: graph의 일부 node, edge 또는 구조 자체를 prompt에 삽입
- Factual grounding 목적 활용: 응답이 KG 기반 사실과 일치하도록 제약
- Graph 탐색 기반 retrieval enhancement: 쿼리 시점에 LLM agent가 graph를 동적으로 순회하여 정보를 획득
GraphRAG의 차별성
- 기존 방식은 KG를 정보 보강 또는 retrieval enhancement 수단으로만 사용
- GraphRAG는 **그래프의 구조적 속성 자체(modularity)**를 활용
- Modularity: 그래프 내에서 내부 연결 밀도는 높고 외부 연결은 낮은 구조를 최적으로 나누는 성질
- Louvain 알고리즘과 Leiden 알고리즘은 이 modularity 최적화를 통해 계층적 커뮤니티 탐지(hierarchical community detection)를 수행
- GraphRAG은 이 커뮤니티 구조를 기반으로, bottom-up summarization을 재귀적으로 수행하여 **전역적 의미 구조(global semantics)**를 형성
2.3 Adaptive Benchmarking for RAG Evaluation
기존 평가 벤치마크의 한계
- HotPotQA, MultiHop-RAG, MT-Bench 등은 대부분 fact-level retrieval 성능에 중점
- sensemaking 유형의 질의 평가에는 부적절
제안된 adaptive benchmarking 절차
GraphRAG 논문에서는 adaptive benchmarking 개념을 적용하여, 실제 사용자 시나리오에 기반한 평가 질문을 자동 생성함.
Persona 생성: LLM이 데이터셋의 활용 시나리오에 기반해 K명의 가상 사용자 생성
Task 지정: 각 사용자에 대해 N개의 정보 탐색 목적 정의
Query 생성: 사용자 × 작업 쌍마다 M개의 질의 생성
- 단, 질의는 개별 fact를 요구하지 않고, 전체 문서에 대한 요약적 통찰력을 요구함
예: "데이터셋에서 건강 관련 주요 이슈는 무엇인가?"
→ 이는 retrieval이 아닌 global synthesis를 요구
(latent query & LLM persona generation 방식 차용)
2.4 RAG Evaluation Criteria
LLM-as-a-judge
- LLM은 자연어 응답의 평가자(evaluator)로서도 높은 신뢰도 확보
- 기존 연구들에서 human 평가자와 유사한 판단력을 보임
기존 평가 기준의 한계
- vector RAG에서는 context relevance, faithfulness, answer relevance와 같은 기준이 사용됨
- 그러나 이는 global sensemaking 질의에는 부적합
제안된 평가 기준
GraphRAG에서는 아래 3가지 core criteria와 1가지 control criterion을 제시
Comprehensiveness:질문의 각 측면을 얼마나 충실히 다루었는지
Diversity: 응답이 얼마나 다양한 관점, 주장, 인사이트를 포함하는지
Empowerment: 응답이 사용자의 이해력 향상과 판단 능력에 얼마나 기여하는지
Directness (Control)
- 응답이 질문에 얼마나 간결하고 직접적으로 대응하는지
- Comprehensiveness/Diversity와 대조적이며, 상대적 평가의 기준점 역할 수행
평가 방법
- LLM-as-a-judge 방식: 두 응답을 기준에 따라 비교하고 우수 응답을 판단
- 판단은 복수 회 수행하여 평균화
- 응답 내용에서 검증 가능한 factual claims를 자동 추출해, 별도의 통계적 평가 지표로도 활용함 (claim 기반 평가와 alignment 확인)
3. Methods
3.1 GraphRAG Workflow
3.1.1 Source Documents → Text Chunks
- Corpus는 text chunk 단위로 분할됨.
- 각 chunk는 이후 처리 과정에서 LLM의 입력으로 사용됨.
- chunk 크기는 성능과 비용을 결정짓는 중요한 설계 요소이며, 긴 chunk는 LLM 호출 횟수를 줄이는 이점이 있으나 초반 정보의 누락 가능성이 있음.
- 이와 관련된 recall–precision trade-off는 Section A.1에서 사례 중심으로 분석됨.
3.1.2 Text Chunks → Entities & Relationships
각 chunk에 대해 LLM은 다음의 정보를 추출함:
- 중요 entity와 이에 대한 설명
- entity 간 관계와 이에 대한 설명
- claim: 날짜, 이벤트, 상호작용 등 entity에 대한 fact-based 진술
예시 (NeoChip 관련 문서):
- Entity 추출: "NeoChip", "Quantum Systems"
- 관계 추출: "Quantum Systems owned NeoChip from 2016 until public offering"
- Claim 추출: 주가 상승, IPO, 인수 시점 등
도메인 특화된 corpus의 경우, in-context learning 기반의 few-shot prompt 예시를 사용하여 entity, 관계, claim의 정확도를 향상시킬 수 있음.
3.1.3 Entities & Relationships → Knowledge Graph
이 단계는 사실상 abstractive summarization에 해당되며, LLM이 여러 문서에서 동일 entity나 관계를 중복 추출할 수 있음.
Knowledge Graph 구성 절차:
- 추출된 entity/relationship/claim는 각각 node/edge로 변환됨.
- 중복 관계는 edge weight로 집계됨.
- Claim도 마찬가지로 집계됨.
Entity name reconciliation에는 기본적으로 exact string matching 사용되나, soft matching으로 확장 가능함.
중복된 entity가 이후 community summarization 단계에서 클러스터링되므로 시스템은 중복에 대해 robust한 특성을 가짐.
3.1.4 Knowledge Graph → Graph Communities
- Knowledge Graph가 생성된 후, Graph Partitioning을 통해 modular community 구조를 생성함.
- 사용된 알고리즘은 Leiden community detection.
- 재귀적 방식으로 community를 탐색하며, 더 이상 분할되지 않는 leaf community까지 계층적으로 구성됨.
- 각 계층은 mutually exclusive, collectively exhaustive하게 노드를 커버하여 divide-and-conquer summarization이 가능하게 함.
- 관련된 시각화 예시는 Appendix B에 수록됨.
3.1.5 Graph Communities → Community Summaries
- 각 graph community는 report 형식의 요약문으로 변환됨.
- 이 요약문은 매우 큰 dataset에서도 확장 가능한 방식으로 생성되며, 질문이 없는 상황에서도 유용한 전반적 구조 이해 도구로 활용 가능함.
- 사용자는 특정 수준의 community summary를 탐색하며 주제를 파악하고, 더 구체적인 하위 주제로 drill-down할 수 있음.
- 본 논문에서는 이러한 community summary를 global query 응답을 위한 그래프 기반 인덱스로서 사용함.
요약 생성 방식:
Leaf-level communities:
element summary (node, edge, claim)에 우선순위를 부여하고 context window가 가득 찰 때까지 순차적으로 포함.
우선순위 기준:
- node degree (source/target 노드의 중요도) 기준으로 정렬된 edge를 순차적으로 포함
- 각 edge의 source, target node 및 claim까지 포함
Higher-level communities:
모든 element summary가 context window 내에 수용 가능하면 그대로 요약
수용 불가능할 경우:
- sub-community summary로 대체
- 긴 element summary를 더 짧은 sub-summary로 교체하여 token 제한 내로 조정
3.1.6 Community Summaries → Community Answers → Global Answer
- 사용자 쿼리가 주어졌을 때, 상위 단계에서 생성된 community summary를 활용하여 최종 응답을 생성함.
- 계층 구조의 특성상, 다양한 community level에서 응답이 가능하며, 어느 level이 최적의 detail/scope trade-off를 제공하는지는 Section 4에서 평가됨.
응답 생성 단계:
Prepare community summaries:
- Summary를 무작위로 셔플하고, 사전 정의된 token 크기 단위로 분할
- 정보가 균등하게 분산되어, 특정 context window에 편중되지 않도록 방지
Map community answers:
- 각 chunk에 대해 병렬적으로 partial answer 생성
- 각 응답에 대해 LLM은 0~100 범위의 helpfulness score를 부여
- score가 0인 응답은 제거
Reduce to global answer:
- partial answers를 score 기준으로 정렬
- 높은 score 순서대로 context window에 추가
- token 제한에 도달할 때까지 반복 후, 해당 window를 기반으로 최종 global answer 생성
3.2 Global Sensemaking Question Generation
Global Sensemaking Question Generation은 GraphRAG의 성능을 평가하기 위해 설계된 코퍼스 기반 질의 생성 절차에 해당함.
이 절차는 단순한 fact retrieval이 아닌, 데이터셋 전반에 대한 고차원적 이해 능력을 측정하기 위해 설계되었으며, 다음과 같은 3단계 LLM 활용 전략으로 구성됨:
1단계: Persona 생성
- LLM은 특정 **코퍼스에 대한 개요 설명(corpus description)**과 해당 코퍼스의 **용도 설명(purpose)**을 입력으로 받아들임.
- 이를 바탕으로 LLM은 해당 코퍼스를 사용할 가상의 사용자 집합(hypothetical users), 즉 persona를 생성함.
- 각 persona는 특정 관심사, 배경 지식, 정보 요구를 지닌 사용자로 가정됨.
2단계: Task 정의
- 생성된 각 persona에 대해, LLM은 이 사용자가 **RAG 시스템을 통해 수행할 가능성이 있는 과업(task)**을 생성함.
- 이 과정은 persona의 정보 요구와 관심사에 기반하여 현실적인 정보 추출 목적을 반영함.
3단계: 질문 생성
- 각 (persona, task) 쌍에 대해, LLM은 **해당 코퍼스 전체에 대한 이해(global comprehension)**를 요구하는 질문을 생성함.
- 생성된 질문은 단일 문서나 세부 사실에 기반한 질의가 아닌, **다수 문서 및 정보 조각에 걸친 총체적 의미 추론(global sensemaking)**을 유도함.
3.3 Criteria for Evaluating Global Sensemaking
평가 방식: Head-to-Head Comparison
- **정답 레이블(gold standard answer)**이 존재하지 않는 global sensemaking question에 대한 평가를 위해 **LLM 기반 상대 평가 방식(head-to-head comparison)**을 채택함.
- 각 평가에서는 사용자 질문, 두 개의 RAG 시스템의 응답, 지정된 평가 기준이 LLM에 제공됨.
- LLM은 더 나은 응답을 선택하거나, 차이가 본질적으로 유사할 경우 무승부를 반환함.
- LLM 평가의 **확률적 변동성(stochasticity)**을 고려하여 복수 replicate 평가를 실행하고, 평균치를 산출하여 최종 판단을 도출함.
- 응답 비교 예시는 Appendix D에 수록됨.
평가 기준 정의
Comprehensiveness
- 질문에 포함된 모든 측면과 세부사항을 얼마나 충실하게 다루었는지를 평가.
- 정보 포괄성 중심 지표
Diversity
- 응답 내에 다양한 시각과 통찰이 존재하는 정도를 평가.
- 정보의 다양성 및 편향 회피 능력 반영
Empowerment
- 응답이 독자가 주제를 이해하고 합리적인 판단을 내리는 데 얼마나 도움을 주는지를 평가.
- 독립적 사고 촉진 능력 측정
Directness (Control Criterion)
- 질문에 대한 구체성과 명료성을 평가하는 기준.
- 일반적인 요약 응답 품질을 측정하며, 센스메이킹 특화 기준이 아님
- Comprehensiveness 및 Diversity와 상충될 수 있는 지표로 의도됨
평가 전략의 목적
- 세 가지 핵심 지표(Comprehensiveness, Diversity, Empowerment)는 global sensemaking의 품질을 총체적으로 평가함.
- Directness는 통제 변수(control criterion)로 설정되어, 다른 기준들과의 상대적 의미를 부각시키는 역할 수행.
- 따라서 모든 기준에서 한 시스템이 압도적인 결과를 내기는 어려운 구조이며, 기준 간 균형 분석이 핵심이 됨.
Prompt 설계 및 구현 정보
- LLM 평가를 위한 프롬프트 설계 세부사항은 Appendix F에 수록됨.
- 평가 프로세스의 재현성과 공정성 확보를 위해 모든 프롬프트 구조를 공개함.
4 Analysis
4.1 Experiment 1
4.1.1 Datasets
실험 대상 데이터셋 선택 기준은 현실 세계에서 사용자가 마주칠 수 있는 문서 유형을 반영하며, 총 토큰 수가 약 1백만 수준인 대규모 코퍼스를 기반으로 설정함.
Podcast transcripts
- 데이터 출처: Behind the Tech with Kevin Scott 팟캐스트의 공개 대본
- 구성 내용: Microsoft CTO Kevin Scott와 다양한 과학 및 기술 분야 리더들의 대화
- 분할 방식: 총 1669개의 600-token 단위 text chunk로 분할, 각 chunk는 100-token 오버랩 포함
- 총 규모: 약 100만 token
News articles
- 데이터 출처: 벤치마크 뉴스 기사 데이터셋
- 기간 범위: 2013년 9월 ~ 2023년 12월
- 분야: 엔터테인먼트, 비즈니스, 스포츠, 기술, 건강, 과학 등 다양한 주제 포함
- 분할 방식: 총 3197개의 600-token 단위 chunk로 분할, 100-token 오버랩 포함
- 총 규모: 약 170만 token
4.1.2 Conditions
비교 실험 조건 정의는 총 6가지 조건으로 구성되며, 이 중 4가지는 GraphRAG의 그래프 커뮤니티 수준, 나머지 2가지는 텍스트 기반 요약(Text Summarization, TS)과 **벡터 기반 RAG(Semantic Search, SS)**를 대표함.
C0
- 루트 수준 커뮤니티 요약 사용
- 가장 적은 수의 요약을 기반으로 응답 생성
C1
- 상위 수준 커뮤니티 요약 사용
- C0의 하위 커뮤니티 존재 시 해당 내용을 사용, 없을 경우 C0를 하향 변환
C2
- 중간 수준 커뮤니티 요약 사용
- C1의 하위 커뮤니티 존재 시 사용, 없을 경우 C1 하향 변환
C3
- 하위 수준 커뮤니티 요약 사용
- 가장 많은 수의 요약으로 구성되며, C2의 하위 커뮤니티 기준
TS (Text Summarization)
- Section 3.1.6에서 설명한 map-reduce summarization 방식을 source text에 직접 적용
- 커뮤니티 기반 요약이 아닌 텍스트 기반 직접 요약 방식
SS (Semantic Search)
- Vector RAG 방식 구현
- 쿼리와 유사한 텍스트 chunk들을 검색하여, 지정된 token 한도까지 context window에 삽입하여 응답 생성
통일된 조건 설정
모든 조건에서 context window 크기 및 응답 생성을 위한 프롬프트는 동일하게 유지됨
- 단, context type에 따른 참조 스타일 차이에 대해 사소한 수정이 적용됨
각 조건의 차이점은 context window의 생성 방식에만 존재
C0~C3 조건에 사용된 graph index는 Section 3.1.3에서 정의된 entity 및 relationship 추출 프롬프트를 기반으로 생성
- 데이터셋 도메인에 맞춰 entity type 및 few-shot 예시가 커스터마이징됨
4.1.3 Configuration
응답 생성 및 그래프 인덱싱을 위한 실행 환경 및 구성 조건 정의
Context window 설정
- 모든 단계(community summary, community answer, global answer)에 대해 Fixed 8,000 token context window 사용
- 구체적 구현 내용은 Appendix C에 설명
Graph indexing 소요 시간 및 환경
Token window 크기: 600 (자세한 설명은 Section A.2 참고)
Podcast dataset 기준, 전체 graph index 생성에 총 281분 소요
실행 환경:
- 16GB RAM
- Intel Xeon Platinum 8171M @ 2.60GHz
- gpt-4-turbo 사용 (OpenAI public endpoint, 2M TPM, 10k RPM 제약 포함)
Community detection 구현
- Leiden algorithm 기반
- graspologic library 사용
Prompt 정의
- Graph index 및 global answer 생성을 위한 prompt는 Appendix E 참고
- LLM 평가 기준에 따른 비교 평가 prompt는 Appendix F 참고
결과 분석
- 모든 결과에 대한 통계적 분석은 Appendix G에 포함
4.2 Experiment 2
Experiment 1에서 측정한 Comprehensiveness 및 Diversity의 정량적 검증을 위한 Claim-based 실험 수행
Factual Claim 정의
- "명시적으로 검증 가능한 사실을 진술하는 문장"
Claim 추출 도구
Claimify 사용
- LLM 기반 툴로, 응답 내의 문장을 식별한 뒤 이를 단순하고 독립적인 factual claim 단위로 분해
실험 대상
- Experiment 1의 모든 조건에 따른 응답에 Claimify 적용
- 중복 claim 제거 후, 총 47,075개의 unique claim 추출
- 응답 1개당 평균 31개의 claim 포함
성능 평가 지표
Comprehensiveness
- 정의: 각 조건에서 생성된 응답으로부터 추출된 claim의 평균 개수
- 해석: 높을수록 포괄성 높은 응답
Diversity
- 정의: 응답 내 claim들을 클러스터링하고 평균 클러스터 수를 계산
- 해석: 다양한 관점을 포괄하는 응답일수록 높은 클러스터 수
Clustering 방법
툴: Scikit-learn의 Agglomerative Clustering 사용
설정:
- Linkage 방법: Complete linkage
→ 두 클러스터 간 최대 거리 ≤ threshold일 경우 병합 - Distance metric: 1 - ROUGE-L
- Linkage 방법: Complete linkage
Threshold 설정 영향
- 클러스터 개수는 threshold 값에 따라 민감하게 변화
- 이에 따라 여러 threshold 값에 대해 결과를 병렬로 보고
5. Results
5.1 Experiment 1
Dataset별 Knowledge Graph 구성 결과
Podcast dataset
- Nodes: 8,564
- Edges: 20,691
News dataset
- Nodes: 15,754
- Edges: 19,520
Global Approaches vs. Vector RAG (SS)
Comprehensiveness
- Global approaches는 vector RAG(SS) 대비 월등한 성능을 보임
- Win rate (Podcast): 72–83% (p < .001)
- Win rate (News): 72–80% (p < .001)
Diversity
- Win rate (Podcast): 75–82% (p < .001)
- Win rate (News): 62–71% (p < .01)
Directness (Control Criterion)
- Vector RAG (SS)는 모든 비교에서 가장 direct한 응답을 생성
- 이는 directness와 comprehensiveness/diversity 간의 trade-off를 반영
Empowerment 평가 결과
- 결과의 일관성 부족: Global vs SS 및 GraphRAG vs TS 간 비교 모두에서 혼합된 결과
- LLM-based reasoning 분석 결과:
→ 예시, 인용, 구체적 인용문이 독자의 이해 및 판단에 핵심적인 기여 요소 - 제안:
→ GraphRAG index에서 이러한 정보를 더 잘 보존하기 위해 prompt 조정이 필요
Community Summaries vs Source Texts (GraphRAG vs TS)
Comprehensiveness
- Podcast (intermediate-level summaries): 57% win rate (p < .001)
- News (low-level summaries): 64% win rate (p < .001)
Diversity
- Podcast (intermediate-level summaries): 57% win rate (p = .036)
- News (low-level summaries): 60% win rate (p < .001)
Scalability 이점
- C3 (low-level summaries): 26–33% context token 절감
- C0 (root-level summaries): 97% 이상 context token 절감
- → 이는 iterative sensemaking 활동에서 매우 효율적인 질의응답 지원 가능성 시사
효율성과 성능의 균형
C0는 다른 global 방법 대비 일부 성능 손실 있음
그러나 여전히 vector RAG 대비:
- Comprehensiveness: 72% win rate
- Diversity: 62% win rate
- → 저비용 고효율 (cost-efficient yet performant) 전략으로 적합
5.2 Experiment 2
Comprehensiveness 평가 (Claim 기반 정량 분석)
측정 지표: 각 조건별 평균 claim 수
- 모든 global 조건 (C0–C3) 및 **TS (source text summarization)**는 **vector RAG (SS)**보다 더 많은 claim 추출
- 모든 비교에서 통계적으로 유의미한 차이 발생 (p < .05)
- → 이는 Experiment 1의 LLM 기반 win rate 결과와 일치
Diversity 평가 (Claim clustering 기반 정량 분석)
측정 지표: 각 조건별 claim cluster의 평균 개수
Podcast dataset:
- C0–C3는 모든 distance threshold에서 SS 대비 유의미한 성능 우위 (p < .05)
News dataset:
- C0만이 모든 threshold에서 SS보다 통계적으로 유의미한 우위 확보 (p < .05)
- C1–C3도 SS보다 평균적으로 높은 cluster 수 기록했으나, 일부 threshold에서만 유의성 확보
결론:
- Experiment 1에서는 모든 global 조건이 News dataset에서 SS를 유의하게 능가했으나,
- claim-based 평가에서는 그 차이가 작게 나타남
- → 측정 기준에 따른 sensitivity 존재
Global Search 간 비교 및 Global vs TS 비교
결과:
- C0–C3 간, 또는 global search vs TS 간에는 통계적으로 유의한 차이 없음
- → 모든 global 방식이 유사한 수준의 claim 수와 diversity 확보
LLM 판단과 Claim-based 평가 결과의 정합성 분석
목적: Experiment 1의 LLM 우위 판단 결과가 claim 기반 결과와 일치하는지 평가
집계 방식:
- Experiment 1은 각 비교마다 5회 반복 판단 → majority voting으로 최종 label 도출
- 예: C0이 3/5 회 승리 → C0 승자로 기록, 타이 많을 경우 → tie
결과:
Claim-based 평가에서는 exact tie 거의 없음
Threshold 기반 tie 정의도 가능하지만 민감도 높아 제외
LLM 판단 결과 중 tie가 아닌 경우 비율:
- Comprehensiveness: 33%
- Diversity: 39%
Claim 기반 정답과의 일치율:
- Comprehensiveness: 78% 일치
- Diversity: 69–70% 일치 (distance threshold 전반에서)
결론:
- LLM 판단 기준과 Claim 기반 측정 결과 간 중간 수준의 정합성 확보
6. Discussion
6.1 Limitations of evaluation approach
평가 범위의 한계성
- 현재 평가는 약 1M tokens 규모의 두 개 corpus에 한정됨
- 다양한 도메인과 다양한 use case에 대한 일반화 가능성 확보를 위해 추가 평가 필요
사실성 검증 부족
- fabrication rate (hallucination) 평가 부재
- 향후에는 SelfCheckGPT 와 같은 자동 사실성 평가 기법 활용 필요
6.2 Future work
Graph Index의 활용 가능성 확장
- 현 GraphRAG 구조: knowledge graph, rich text annotation, hierarchical community structure 기반
- 다양한 방식으로 확장 및 재활용 가능
하이브리드 RAG 구상
embedding-based query-graph 매칭 기반의 localized RAG 탐색 제안
hybrid 방식:
- user query와 graph annotation 간의 embedding 매칭
- 관련 community report의 즉시 생성 (just-in-time)
- 이후 map-reduce 기반 summarization 적용
Roll-up 및 Drill-down 전략
- Roll-up 방식: 하위 community에서 상위 community로 summary를 점진적으로 구성
- Drill-down 방식: 상위 summary를 따라 정보를 점진적으로 탐색
Sensemaking 리스크 및 책임성 확보
- AI 기반 answer가 부정확할 경우, 사용자에게 오해를 유발할 수 있는 리스크 존재
- AI 사용의 명확한 고지, 오류 가능성에 대한 경고 필요
- 단, vector RAG에 비해 GraphRAG는 이러한 global 질문에 대한 대응에서 위험을 줄이는 구조를 제공함
7. Conclusion
GraphRAG의 제안 및 구성
- GraphRAG: Knowledge Graph 기반의 RAG로, **Query-Focused Summarization (QFS)**을 결합하여 global sensemaking 지원
- 전체 corpus에 대한 질문 응답을 가능하게 하는 전역적 문맥 요약 구조 구현
성능 평가 결과
Vector RAG 대비: Comprehensiveness 및 Diversity 모두에서 큰 개선 효과
Global summarization 방식 (TS) 대비
- 성능이 대체로 유사하거나 우수
- 특히 root-level summary의 경우, token 사용량을 현저히 절감하면서도 우수한 성능 유지
효율성과 실용성의 균형
- 반복적인 global query 환경에서 GraphRAG는 요약 품질, 범용성, 효율성의 균형을 제공
- 특히 root-level community summaries는 vector RAG 대비 우수, 기타 global 방식과 견줄만한 성능, token cost는 훨씬 적음
A. Entity and Relationship Extraction Approach
GraphRAG의 Knowledge Graph 생성을 위한 초기화 파이프라인에서는 다음과 같은 LLM 기반 프롬프트 세트를 사용함:
A.1 Entity Extraction
엔티티 및 관계 추출 방식
Multipart LLM Prompt 구성을 활용하여 아래 항목을 단계적으로 추출:
- Entity: 이름(name), 유형(type), 설명(description)
- Relationship: 출발 엔티티(source), 도착 엔티티(target), 관계 설명
위 항목들은 하나의 응답 리스트로 추출되며, 각 항목은 **구분자(delimiter)**로 분리된 tuple 형식으로 구성됨
이 방식은 관계의 명시 여부와 무관하게 **추론 기반 관계(mapping-based relation inference)**도 포착 가능
A.2 Self-Reflection
Self-Reflection 기법의 도입 배경 및 절차
Prompt Engineering 품질의 영향력:
- Knowledge Graph 품질은 prompt 구성에 따라 현저히 달라짐 (Zhu et al., 2024)
- 비용 차이도 발생: token 소모량 및 생성량 차이
Self-Reflection 기법 정의:
- LLM이 초기에 응답 생성 → 그 응답을 평가(정확성, 명확성, 완전성 기준) → 개선된 재생성 수행
- ref: Huang et al. (2023), Madaan et al. (2024), Shinn et al. (2024), Wang et al. (2022)
Self-Reflection 기법의 적용 사례
문제: large chunk (예: 2400 tokens) 사용 시 entity recall 성능 저하
- 예: HotPotQA 데이터셋에서 GPT-4는 600-token chunk 대비 2400-token chunk에서 entity 추출 수가 절반 수준
해결: multi-step Self-Reflection 기반 추출 강화 프로세스
1단계: 초기 추출된 entity 리스트를 다시 LLM에 입력하여 누락 여부 판단
- logit bias 100 설정으로 forced yes/no 판단 유도
2단계: 누락 있다고 판단되면, 다음 프롬프트로 "MANY entities were missed" 메시지 삽입
- LLM이 놓친 entity를 다시 추출하게 유도
이점:
- chunk size 증가에도 불구하고 성능 유지 가능
- 노이즈 도입 없이 recall 향상
제어 변수: self-reflection 반복 횟수는 사전 정의된 최대 반복 수로 제한
B. Example Community Detection
C. Context Window Selection
목적
Context window size는 LLM 성능에 영향을 미치지만, 특히 GPT-4 Turbo와 같이 128k tokens까지 지원하는 모델에 대해서는 그 효과가 불명확함
장문 context 내 **중간 정보 손실 문제 ("lost in the middle")**가 보고된 바 있음 (Kuratov et al., 2024; Liu et al., 2023)
본 실험의 목적은 다음을 결정하는 것:
- **Baseline condition (SS)**에 대한 최적 context window 크기
- 이후 모든 query-time LLM 사용 시 고정 window size로 사용하기 위함
실험 설정
테스트한 context window 크기: 8k, 16k, 32k, 64k tokens
적용 범위:
- 두 개의 dataset
- 다양한 global sensemaking 질문
- 세 가지 평가 기준 (comprehensiveness, diversity, empowerment)
주요 결과
8k tokens context window가 가장 작은 크기임에도 불구하고 다음과 같은 결과 도출됨:
- Comprehensiveness: 모든 window size 중 가장 높은 성능 (평균 승률 58.1%)
- Diversity: 성능 유사 (평균 승률 52.4%)
- Empowerment: 성능 유사 (평균 승률 51.3%)
결론 및 선택 기준
- 더 큰 context window가 항상 유리한 것은 아님
- 오히려 **작은 context window (8k)**에서 정보 집중도와 응답 품질이 더 우수
- 따라서, 본 연구에서는 최종 평가 시 모든 LLM 호출에 대해 8k token window size를 고정값으로 설정
D Example Answer Comparsion
E System Prompts
E.1 Element Instance Generation
E.2 Community Summary Generation
E.3 Community Answer Generation
E.4 Global Answer Generation
F Evaluation Prompts
F.1 Relative Assessment Prompt
F.2 Relative Assessment Metrics
G Statistical Analysis