<aside>
💡 code : https://github.com/microsoft/graphrag
</aside>
1. Introduction
1) About Author
2) 논문이 다루는 task
이 논문은 대규모 텍스트 모음(Corpus)에 대해 전체를 조망하는 질문에 답하는 '질의 중심 요약(Query-Focused Summarization, QFS)' 작업을 다룹니다.
- Input:
- 대규모의 비공개 또는 처음 보는 문서 모음
- 문서 원본을 가져온다면 단순한 RAG
- 이 논문에서 제안하는 것은 Community라고 하는 그래프의 요약문을 주로 사용하고 graph도 사용하긴 한다.
- "이 데이터셋의 주요 주제는 무엇인가?"와 같이 전체 데이터셋에 대한 이해를 요구하는 광범위한(global) 사용자 질문.
- Output: 사용자의 질문에 맞춰 전체 문서의 내용을 종합하여 생성된 포괄적인 요약 답변.
2) limitations of previous studies
- 벡터 기반 RAG (Retrieval-Augmented Generation): 기존의 일반적인 RAG 방식은 특정 정보를 찾는 '지역적(local)' 질문에는 효과적이지만, 문서 전체에 대한 종합적인 이해가 필요한 '전체적(global)' 질문에는 실패합니다. 이는 RAG가 본질적으로 검색 작업에 가깝기 때문입니다.
- 기존 질의 중심 요약 (QFS): 기존의 QFS 방법론들은 전체적인 내용을 요약하는 데는 강점이 있지만, 일반적인 RAG 시스템이 다루는 대규모 텍스트를 처리할 만큼 확장성이 좋지 않습니다.

3) Solution approaches
이 논문은 위 두 가지 방법의 장점을 결합한 GraphRAG를 제안합니다.
- LLM을 사용하여 소스 문서로부터 개체(entity) 지식 그래프를 구축합니다.
- 그래프 커뮤니티 탐지 알고리즘을 통해 밀접하게 관련된 개체 그룹을 나누고, 각 그룹에 대한 커뮤니티 요약본을 미리 생성하여 계층적 인덱스를 만듭니다.
- 사용자 질문이 들어오면, 이 커뮤니티 요약본들을 활용하여 부분적인 답변들을 만들고(Map), 이를 다시 종합하여 최종적인 전체 답변을 생성하는(Reduce) 방식을 사용합니다.
2. Related Work
논문은 크게 세 가지 관련 연구 분야를 언급합니다.
- RAG 접근법: 외부 데이터 소스에서 관련 정보를 검색하여 LLM의 답변 생성을 보강하는 일반적인 RAG 시스템을 소개하며, 대부분이 벡터 기반 검색에 의존하고 있어 전체적 이해(global sensemaking)가 필요한 질의에 한계가 있음을 지적합니다.
- LLM과 지식 그래프: 텍스트에서 지식 그래프를 추출하는 연구들과, RAG의 인덱스로 지식 그래프를 활용하는 최신 연구들을 소개합니다. GraphRAG는 그래프의 '모듈성(modularity)'을 활용하여 커뮤니티 단위로 계층적 요약을 생성한다는 점에서 기존 연구들과 차별화됩니다.
- 적응형 벤치마킹 및 평가: 정답이 없는 '전체적 이해' 질문의 성능을 평가하기 위해, LLM을 활용하여 특정 데이터셋에 맞는 평가 질문을 동적으로 생성하고(적응형 벤치마킹), 생성된 답변들을 특정 기준에 따라 LLM이 직접 비교 평가하는 'LLM-as-a-judge' 기법을 사용합니다.
3. 제안 방법론
1) Main Idea
GraphRAG의 핵심 아이디어는 '지역적(local) 검색(RAG)에서 전체적(global) 요약으로'의 전환입니다. 방대한 텍스트 전체를 미리 지식 그래프와 계층적 커뮤니티 요약본이라는 구조화된 인덱스로 구축해 둡니다. 이를 통해 단순히 키워드와 의미적으로 유사한 몇 개의 문서를 찾는 것을 넘어, 문서 전체의 관계와 맥락을 이해하고 종합적인 답변을 생성할 수 있게 됩니다.
2) Contribution
- 새로운 GraphRAG 프레임워크 제안: RAG의 확장성과 QFS의 깊이 있는 이해를 결합하여, 대규모 문서에 대한 '전체적 이해(global sensemaking)' 질의를 효과적으로 처리하는 새로운 방법을 제안했습니다.
- 새로운 평가 방법론 개발: 정답이 없는 광범위한 질문에 대해 답변의 **포괄성(Comprehensiveness)**과 **다양성(Diversity)**을 측정할 수 있는 새로운 LLM 기반 평가 기법을 개발하고 적용했습니다.
- 성능 입증 및 공개: 실제 데이터셋을 통해 기존 벡터 RAG 방식보다 답변의 포괄성과 다양성 측면에서 월등히 뛰어남을 실험적으로 증명했으며 , 관련 코드를 오픈소스로 공개하여 접근성을 높였습니다.
4. 모델 구조
Steps (GPT-4-turbo 사용)
- 1. Source Documents
- 2. Text Chunks
- 3. Entities & Relationships
- 4. Knowledge Graph
- 5. Graph Communities
- 6. Community Summaries
- 7. Community Answers
- 8. Global Answers
5. 실험 및 결과
<aside>
💡
저자는 기존의 RAG 평가 데이터셋으로 활용되던 multi-hop 데이터셋 등에서 전역적인 질문을 평가하기 위한 질문 및 평가 방식이 적절하지 않다고 비판하였다. 그래서 평가용 query 및 평가 방식을 제시한다.
</aside>
1) Dataset
- 팟캐스트 대본: Microsoft CTO 케빈 스콧의 'Behind the Tech' 팟캐스트 대본 (약 100만 토큰).
- 뉴스 기사: 엔터테인먼트, 비즈니스, 스포츠 등 다양한 카테고리의 뉴스 기사 벤치마크 데이터셋 (약 170만 토큰)
- 평가용 Query 생성 방식
- 평가기준
2) Baseline
실험 1 : RAG vs GraphRAG
아래의 경우의 수로 응답 결과물들을 생성하여 비교
- C0 : 가장 적은 수의 최상위(루트) 커뮤니티 요약을 사용하여 사용자 질의에 답한다.
- C1 : 상위 수준 커뮤니티 요약을 사용하여 질의에 답한다. 이는 C0의 하위 커뮤니티가 존재하는 경우 해당 하위 커뮤니티를 사용하고, 그렇지 않은 경우에는 C0 커뮤니티를 하위 수준으로 투영(project)한 것이다.
- C2 : 중간 수준 커뮤니티 요약을 사용하여 질의에 답한다. 이는 C1의 하위 커뮤니티가 존재하는 경우 해당 하위 커뮤니티를 사용하고, 그렇지 않은 경우에는 C1 커뮤니티를 하위 수준으로 투영한 것이다.
- C3 : 가장 많은 수의 하위(저수준) 커뮤니티 요약을 사용하여 질의에 답한다. 이는 C2의 하위 커뮤니티가 존재하는 경우 해당 하위 커뮤니티를 사용하고, 그렇지 않은 경우에는 C2 커뮤니티를 하위 수준으로 투영한 것이다.
- TS (Text Summarization) : 커뮤니티 요약 대신 원문 텍스트를 무작위로 섞고 청킹하여 map-reduce 요약 단계를 수행한다.
- SS (Semantic Search) : 텍스트 청크를 벡터 기반으로 검색한 뒤, 지정된 토큰 한도에 도달할 때까지 해당 청크들을 컨텍스트 윈도우에 추가하는 벡터 RAG 구현 방식이다.
→ RAG 결과물과 GRAPHRAG 결과물을 1대1로 대결하여 비교
- LLM as a Judge Prompt
- 평가 예시
실험 2 : claim을 이용한 평가
실험 1에서 얻은 포괄성과 다양성 결과를 검증하기 위해서 claim을 추출하여 그 갯수로 평가를 진행
실험 1의 LLM의 응답 결과물들을 input으로 LLM에게 사실적 클레임을 포함하는 문장을 식별하고 그 문장을 단순하고 독립적인 사실적인 클레임으로 분해
- 포괄성 : 클레임의 평균 갯수
- 다양성 : 답변들을 클러스터링하여 클러스터링의 평균 갯수로 평가
- 병합적 클러스터링(agglomerative clustering)을 사용하여 완전 연결(complete linkage) 방식으로 병합 (가장 멀리있는 지점의 거리가 임계치를 넘지 않을 경우에만 병합)
- 거리 척도 : 1 - ROUGE-L
3) 결과
실험 1

- 행이 GraphRAG, 열이 RAG
- Comprehensiveness, Diversity에서 GraphRAG가 성능이 좋음
- Directness는 RAG가 근소하게 우위

실험 2
- claim 갯수 : 전반적으로 GraphRAG가 더 높은 포괄성을 보여줌

- 클러스터링 갯수 : GraphRAG가 더 높은 다양성을 보임

4) 배운점 + 의문점
Reference
https://www.youtube.com/watch?v=mlsZIThxQcQ
https://www.microsoft.com/en-us/research/blog/graphrag-unlocking-llm-discovery-on-narrative-private-data/