:)
[RAG] From Local to Global: A Graph RAG Approach to Query-Focused Summarization 본문
Paper Review
[RAG] From Local to Global: A Graph RAG Approach to Query-Focused Summarization
andre99 2025. 4. 13. 23:15Abstract
배경
- 기존의 RAG 방식은 특정 정보 검색에는 유용하지만 global 질문에는 취약함.
- 이는 질의 중심 요약(Query-Focused Summarization, QFS)의 성격을 띠지만 기존 QFS 기법은 대규모 문서를 다루기엔 확장성의 한계가 있음.
제안 방법: Graph RAG
- RAG의 검색력과 QFS의 요약력을 결합하여 확장 가능하면서도 의미 있는 응답을 생성하는 방법.
- 2단계 그래프 기반 인덱싱을 사용:
- Entity Knowledge Graph 생성: LLM을 이용해 문서에서 엔티티 간의 관계를 추출해 지식 그래프 구축.
- Community Summary 생성: 연관된 엔티티들을 커뮤니티 단위로 묶고 각각에 대해 요약을 사전에 생성.
- 사용자 질문 처리 방식: 각 커뮤니티 요약을 기반으로 부분 응답 생성 → 이 부분 응답들을 최종 요약으로 통합
성능 향상
- 약 100만 토큰 규모의 데이터셋에 대해 실험 ⇒ 기존 naive RAG 대비 포괄성 & 다양성 향상
1. Introduction
기존 방식의 한계
- 기존 RAG: 특정 질문에 관련된 지역적 정보 검색에는 뛰어나지만, 전체를 아우르는 질문에는 약함.
- 기존 QFS: 효과적이지만 대규모 문서를 다루기에는 확장성 부족.
- LLM Context Window 한계: 아무리 커져도 정보가 중간에서 사라지는 현상(“lost in the middle”) 존재.
- 그래프는 엔티티, 엣지, 속성으로 구성됨.
- 커뮤니티 요약을 통해 병렬 처리 및 확장 가능성 확보.
- 결국 사용자의 글로벌 질문에 대한 응답은 각 커뮤니티의 부분 응답 → 최종 요약 순으로 생성됨.
2. Background
2.1 RAG Approaches and Systems
- RAG: LLM의 context window를 초과하는 대규모 데이터에서 임베딩 기반 검색 후 생성 → 벡터 RAG라고도 불림.
- 한계: 로컬 정보에는 강하지만 데이터셋 전체를 아우르는 질문엔 부적합.
2.2 Using Knowledge Graphs with LLMs and RAG
- 지식 그래프 생성은 전통적으로 rule-based / 통계 기반이었지만 최근에는 LLM을 활용한 지식 그래프 생성이 연구 중.
- 기존 RAG 연구들도 그래프 일부나 구조를 prompt에 넣거나 탐색에 활용하는 경우가 있음.
- GraphRAG의 핵심 차별
- 문서 전체에서 요약을 생성하고 이를 병렬적으로 구성해 일종의 Self-Memory처럼 활용.
- 그래프 기반 커뮤니티 탐지를 통해 데이터셋을 주제별로 구조화하고 요약함.
- 그래프의 "모듈성(Modularity)"에 집중
- Louvain / Leiden 같은 알고리즘으로 주제별 소그룹으로 분할 → 계층적 요약 가능
2.3 Adaptive benchmarking for RAG Evaluation
- 기존 벤치마크는 대부분 사실 기반 QA에 초점 → 전역 요약 성능 측정에는 한계
- GraphRAG는 LLM을 이용해 평가용 질문도 생성
- 사용자의 페르소나를 LLM이 생성
- 해당 페르소나가 실제 사용할 법한 글로벌 요약 질문 자동 생성
⇒ 도메인 적합성 & 다양성 & 실제성을 반영한 맞춤형 벤치마킹 적용
2.4 RAG evaluation criteria
- 정답 데이터가 없기 때문에 LLM이 직접 평가자 역할 수행
- 평가 기준:
- Comprehensiveness (얼마나 잘 포괄했는가)
- Diversity (다양한 관점을 반영했는가)
- Empowerment (사용자의 사고를 돕는가)
3. Methods
3.1 GraphRAG Workflow
3.1.1 Source Documents → Text Chunks
- 문서를 텍스트 청크 단위로 나눔 (청크 크기: 비용 ↔ 정보 손실 간 트레이드오프)
- LLM이 각 청크에서 요약을 위한 정보 추출
3.1.2 Text Chunks → Entities & Relationships
- LLM을 통해 각 청크에서 엔티티, 관계, 주장 추출
- 예: NeoChip(기업), Quantum Systems(관계), 주가 상승(주장)
- 도메인에 따라 few-shot 예시로 추출 품질 향상
3.1.3 Entities & Relationships → Knowledge Graph
- 추출된 엔티티/관계를 노드와 엣지로 구성된 지식 그래프로 전환
- 중복 엔티티는 병합되며, 관계는 엣지 가중치로 누적
3.1.4 Knowledge Graph → Graph Communities
- Leiden 알고리즘 등을 통해 그래프를 주제별 하위 그룹으로 분할
- 계층적으로 하위 그룹까지 재귀적으로 탐지
3.1.5 Graph Communities → Community Summaries
- 각 커뮤니티에 대해 보고서 형태의 요약 생성
- 요약 우선순위:
- 하위 그룹: 엣지의 노드 연결도 기준으로 중요도 판단
- 상위 그룹: 토큰 초과 시 → 세부 요소 대신 하위 커뮤니티 요약으로 대체
3.1.6 Community Summaries → Community Answers → Global Answer
사용자 질문이 들어오면 다음 절차로 응답 생성:
- 커뮤니티 요약을 무작위 셔플 후, 여러 청크로 나눔
- 각 청크로 부분 응답 생성 + 도움 점수(0~100점) 부여
- 상위 점수부터 최종 응답 context에 추가 → 최종 글로벌 응답 생성
3.2 Global Sensemaking Question Generation
- LLM 기반 자동 질문 생성 알고리즘 제안
- K명의 가상 사용자 페르소나 생성
- 각 사용자에 대해 N개의 사용 task 설정
- 사용자×작업 조합당 M개의 글로벌 질문 생성
- 실제 실험: K=N=M=5 → 총 125개 질문 생성
3.3 Criteria for Evaluating Global Sensemaking
주요 평가 기준
- Comprehensiveness: 얼마나 폭넓고 풍부한 정보를 담았는가?
- Diversity: 다양한 관점과 통찰을 제공하는가?
- Empowerment: 사용자가 더 잘 이해하고 판단할 수 있도록 돕는가?
4. Analysis & 5. Results
실험 설정
SS | 벡터 기반 RAG (Semantic Search) |
TS | 소스 텍스트를 직접 map-reduce 방식으로 요약 |
C0~C3 | GraphRAG 방식, 그래프 커뮤니티 요약의 수준별 응답 (Root → Low) |
결론
GraphRAG vs SS (Vector RAG) | 모든 측정 기준에서 GraphRAG가 월등히 우수 |
GraphRAG vs TS (텍스트 직접 요약) | 약간의 성능 우위, 특히 C1~C3에서 좋은 성능 |
C0 수준의 장점 | 성능은 살짝 낮지만 토큰 비용 97%↓ → 반복질문 시 효율적 |
Claim 기반 평가와 LLM 평가 결과 일치율 | Comprehensiveness: 78% 일치, Diversity: 69~70% 일치 |
6. Discussion
6.1 Limitations of evaluation approach
- 데이터셋 제한
- 실험은 오직 두 개의 약 100만 토큰 규모 코퍼스에 국한됨
- 다양한 도메인, 목적에 대한 일반화 가능성은 아직 검증되지 않음
- 환각(fabrication) 검증 부족
- 답변이 소스에 없는 허위 정보를 생성할 가능성은 아직 정량적으로 평가되지 않음
6.2 Future work
- 하이브리드 RAG 확장 가능성
- 기존 그래프 기반 방식에 임베딩 기반 질의 매칭 추가
- 계층 활용
- “Roll-up”: 하위 → 상위 요약 통합
- “Drill-down”: 상위 요약에서 세부 정보로 탐색하는 방식도 연구 가능
7. Conclusion
- 기존 RAG는 local 정보 검색엔 좋지만 global 요약 질문에는 약함. 그래서 QFS을 결합한 새로운 RAG 방식이 필요.
- GraphRAG는 문서에서 LLM으로 지식 그래프를 만들고 관련 엔티티들을 커뮤니티로 묶어 요약함. 질문에 대해 각 커뮤니티 요약으로 부분 응답을 만들고 이를 다시 요약해 최종 응답 생성. ⇒ 더 포괄적이고 다양한 답변을 제공하면서도 기존 방법보다 토큰 비용 낮음 (효율적).