안녕하세요! 이전에 GraphRAG와 LightRAG에 대해 함께 살펴보았는데요, 오늘은 그 흐름을 이어 GraphRAG 분야의 또 다른 흥미로운 아이디어를 소개해 드리려고 합니다. 바로 2025년 4월 15일에 올라온 'NodeRAG: Structuring Graph-based RAG with Heterogeneous Nodes' 라는 논문인데요, 다양한 정보 유형을 각기 다른 종류의 노드로 표현하는 '이종 그래프' 구조를 체계적으로 설계하고 활용하자는 핵심 아이디어를 제시하고 있습니다. 이 아이디어를 통해 기존 모델들(GraphRAG, LightRAG)과 어떻게 다르고 어떤 점을 개선했는지 논문 리뷰를 통해 전달드리고자 합니다.
0. Abstract
RAG 기술은 LLM(대규모 언어 모델)이 외부 또는 비공개 데이터베이스에 접근하여 특정 도메인에서 사실에 기반한 일관된 답변을 생성하도록 돕습니다. 특히 그래프 기반 RAG는 데이터의 내재된 구조를 활용하여 지식 그래프 인덱스를 구축하고 그래프의 구조적 특성을 이용해 RAG 프로세스를 더욱 풍부하게 만들죠.
하지만 기존의 그래프 기반 RAG 접근 방식들은 그래프 구조 자체의 설계에는 큰 중요성을 두지 않는 경향이 있었습니다. 잘 설계되지 않은 그래프 구조는 다양한 그래프 알고리즘의 원활한 통합을 방해할 뿐만 아니라, 작업 흐름의 불일치를 유발하고 성능 저하를 초래할 수 있습니다.
이러한 문제를 해결하고 그래프의 잠재력을 최대한 활용하기 위해, 이 논문은 NodeRAG라는 새로운 그래프 중심 프레임워크를 제안합니다. NodeRAG의 핵심은 이종 그래프(Heterogeneous Graph) 구조를 도입하여, 그래프 기반 방법론들을 RAG 작업 흐름에 원활하고 전체적으로 통합할 수 있도록 하는 것입니다. 이 프레임워크는 LLM의 능력과 긴밀하게 연계되어 완전히 일관되고 효율적인 엔드-투-엔드 프로세스를 보장합니다.
광범위한 실험을 통해 NodeRAG는 기존 방법들(GraphRAG, LightRAG 등) 대비 인덱싱 시간, 쿼리 시간, 저장 효율성뿐만 아니라, 멀티-홉(multi-hop) 벤치마크에서의 질의응답 성능과 개방형 직접 비교 평가(open-ended head-to-head evaluation)에서도 최소한의 검색 토큰으로 우수한 성능을 보임을 입증했습니다.
1. Introduction
1. RAG의 발전과 기존의 한계
서론에서는 먼저 RAG가 빠르게 변화하는 실제 지식 환경에 대응하기 위한 해결책으로 등장했음을 언급합니다. LLM과 외부 검색 메커니즘을 결합하여 사실적으로 일관되고 맥락에 맞는 정보 생성을 가능하게 하죠.
하지만 최근의 발전에도 불구하고, 현재 RAG 방법들은 데이터 구조 활용이 미흡하고 텍스트 자료에 대한 높은 수준의 이해가 부족하여 멀티-홉 추론(multi-hop reasoning)이나 요약 수준의 질문(summary-level queries)을 처리하는 데 여전히 어려움을 겪고 있습니다. 이러한 전통적인 RAG의 두 가지 주요 과제를 해결하기 위해 그래프 기반 RAG 방법들이 제안되었습니다. LLM을 사용하여 원시 데이터를 그래프 구조로 분해하고 구조적 정보를 활용하거나, LLM으로 요약 기반의 개선을 통해 원본 텍스트 이상의 통찰력을 도출하는 방식이 점차 주류가 되고 있습니다.
2. 기존 그래프 RAG의 핵심 문제: 그래프 구조 설계의 부재
그러나 이전의 그래프 기반 RAG 연구들은 어떤 형태의 그래프가 RAG를 더 잘 지원하는지, 즉 그래프 구조 자체의 중요성을 간과하는 경우가 많았습니다.
- 지식 그래프(Knowledge Graphs) 접근 방식은 삼중항(triples)을 추출하여 구조 정보는 담지만, 검색 맥락은 여전히 텍스트 청크(chunk)에 국한되어 의미론적 일관성이 부족하고 관련 없는 정보가 포함될 수 있습니다.
- 다른 최신 방법들(예: GraphRAG)은 더 많은 정보를 그래프에 통합하려 하지만, 부적절하게 설계된 구조 때문에 비효율성과 불일치 문제를 겪습니다. 예를 들어, GraphRAG는 엔티티(entity)와 이벤트(event)가 긴밀하게 연결된 동종 그래프(Homogeneous Graph) 구조를 사용하여 원본 컨텍스트나 요약 정보를 그래프에 통합하기 어렵습니다. 이는 검색 방식의 불일치(지역적 검색과 전역적 검색 분리)를 초래하고, 특정 엔티티를 검색할 때 관련 없는 이벤트까지 모두 포함하는 거친(coarse-grained) 검색 결과를 낳아 불필요한 정보를 추가하게 됩니다.
3. NodeRAG의 제안: 이종 그래프(Heterogeneous Graph) 기반 설계
이러한 한계를 극복하기 위해 NodeRAG는 잘 설계된 이종 그래프(Heterogeneous Graph) 를 중심으로 구축되었습니다. NodeRAG는 그래프 인덱싱과 검색의 전체 과정을 포괄적으로 고려하여 세밀한(fine-grained) 검색을 가능하게 합니다.
NodeRAG의 이종 그래프는 '펼치고 평탄화(unfolding and flattening)' 원칙에 따라 설계됩니다. 즉, 다양한 유형의 정보 (엔티티, 관계, 원본 텍스트 청크, 텍스트에서 독립적으로 분해된 이벤트, LLM이 추출한 요약 등)를 서로 다른 기능과 역할을 가진 노드(Node) 로 분해하여 그래프를 구성합니다. 이 이종 그래프는 원본 데이터의 정보를 포함할 뿐만 아니라, 핵심 노드 속성이나 높은 수준의 발견과 같은 풍부한 통찰력까지 통합합니다. 각 노드는 비정형 콘텐츠를 가지면서도 노드 간의 구조적 연결을 유지하여 구조적 무결성과 유연성 사이의 균형을 맞춥니다.
예를 들어 멀티-홉 질문에 대해 NodeRAG는 그래프 알고리즘을 사용하여 해리(Harry), 네빌(Neville), 머리 셋 달린 개(three-headed dog)와 같은 핵심 엔티티와 관련된 의미론적으로 일관된 독립 이벤트(semantic unit)와 높은 수준의 발견(high-level elements)을 검색할 수 있습니다. 이는 설명 가능하고 세밀한 검색 결과와 함께 높은 수준의 이해를 제공합니다.
4. NodeRAG의 핵심 기여
NodeRAG의 주요 기여는 세 가지로 요약됩니다.
- RAG를 위한 더 나은 그래프 구조: 그동안 간과되었던 그래프 구조의 중요성을 강조하고, RAG를 더 효과적으로 지원하는 새로운 그래프 구조(이종 그래프)를 도입했습니다.
- 세밀하고 설명 가능한 검색: 이종 그래프는 기능적으로 구별되는 노드를 가능하게 하여, 그래프 알고리즘이 핵심 멀티-홉 노드를 효과적이고 합리적으로 식별할 수 있게 합니다. 이는 최소한의 검색 컨텍스트로 더 관련성 높은 검색 결과를 제공하며, 정밀도와 상호 운용성을 향상시킵니다.
- 통합된 수준의 정보 검색: 문서에서 분해된 정보와 LLM에서 추출된 통찰력을 별도의 계층으로 취급하지 않고, 이종 그래프 내의 통합된 노드로 다룹니다. 이를 통해 다양한 수준의 정보 요구를 처리할 수 있는 일관된 프레임워크를 제공합니다.
결론적으로, NodeRAG는 멀티-홉 작업과 개방형 평가에서 기존 그래프 기반 RAG 방법을 능가할 뿐만 아니라, 시스템 수준의 효율성(인덱싱/쿼리 시간, 저장 공간)에서도 이점을 보여줍니다.
2. NodeRAG
NodeRAG의 작업 흐름은 크게 그래프 인덱싱(Graph Indexing)과 그래프 검색(Graph Searching)의 두 단계로 나뉩니다. 이 모든 과정의 기초에는 이종 그래프(Heterograph) 라는 특별한 데이터 구조가 있습니다.
1. NodeRAG의 기초: 이종 그래프 (Heterograph)
NodeRAG의 핵심은 정보를 완전히 노드화된 구조로 '펼치고 평탄화'하는 이종 그래프입니다. 이 그래프는 7가지 종류의 서로 다른 노드 타입을 통합하여 세분화된 정보 표현을 가능하게 합니다.
- 7가지 노드 타입(Types):
- N (Entity): 개체 (예: 사람 이름, 장소, 개념)
- R (Relationship): 관계 (개체 간의 관계를 나타내는 노드)
- S (Semantic Unit): 의미 단위 (독립적인 이벤트 단위, 텍스트 청크의 지역적 요약)
- A (Attribute): 속성 (중요 개체에 대한 요약된 속성 정보)
- H (High-level Elements): 상위 수준 요소 (커뮤니티(그룹)의 핵심 정보 요약, 감성 분석 등)
- O (High-level Overview): 상위 수준 개요 (H 노드의 제목이나 키워드)
- T (Text): 텍스트 (원본 텍스트 청크)
- 노드의 역할 구분:
- 검색 가능 노드 (Retrievable Nodes): 풍부한 정보를 담고 있어 실제 검색 결과로 반환될 수 있는 노드들입니다. (T, S, A, H, R*) *R은 연결 노드 역할도 하지만 부가적인 검색 가능 노드로 기여합니다.
- 연결 및 진입점 노드 (Linkage and Entry Points): 이름이나 제목 등을 나타내며 그래프 내에서 중요한 연결점이나 검색 시작점(entry point) 역할만 하고, 직접 검색 결과 내용에는 포함되지 않습니다. (N, O)
2. 지식 그래프 구축: 그래프 인덱싱 (Graph Indexing)
이 단계에서는 원본 텍스트 문서를 분석하여 앞서 설명한 풍부한 이종 그래프를 구축합니다. LLM과 그래프 알고리즘을 활용하여 3가지 세부 과정으로 진행됩니다. (Figure 2 참조)
- Step 1: 그래프 분해 (Graph Decomposition)
- LLM을 사용하여 원본 텍스트 청크를 의미 단위(S), 개체(N), 관계(R) 의 세 가지 기본 노드 타입으로 분해합니다.
- 이 노드들을 서로 연결하여 초기 이종 그래프(G1)를 구성합니다.
- 핵심: '의미 단위(S)' 노드는 텍스트 청크 내의 관련 없는 정보를 걸러내고, 의미론적으로 일관된 독립 이벤트 단위를 나타내므로 검색 품질 향상과 그래프 증강의 핵심 역할을 합니다. 개체(N)와 관계(R) 노드는 특정 이벤트와 분리되어 유연한 구조를 만듭니다.
- Step 2: 그래프 증강 (Graph Augmentation)
- 기본 그래프(G1)에 더 높은 수준의 구조와 맥락적 통찰력을 추가합니다.
- 노드 중요도 기반 증강: K-core, Betweenness Centrality 같은 그래프 알고리즘으로 중요 개체(N)* 를 식별합니다. LLM이 이 중요 개체와 연결된 S, R 노드들을 바탕으로 속성(A) 요약 정보를 생성하여 그래프에 추가합니다 (G2 생성).
- 커뮤니티 탐지 기반 집계: Leiden 알고리즘으로 그래프(G2) 내에서 밀접하게 연관된 커뮤니티(부분 구조) 를 찾습니다. 각 커뮤니티별로 LLM이 내용을 분석하여 상위 수준 요소(H) (핵심 요약, 감성 등)와 상위 수준 개요(O) (제목/키워드)를 추출하여 그래프에 추가합니다. H 노드는 의미론적 유사성을 기반으로 커뮤니티 내 다른 노드들과 연결됩니다 (G3 생성).
G2 공식화, G3 공식화
- Step 3: 그래프 강화 (Graph Enrichment)
- 거의 완성된 그래프(G3)에 추가적인 정보를 더해 최종 형태(G5)로 만듭니다.
- 원본 텍스트(T) 삽입: LLM 변환 과정에서 손실될 수 있는 세부 정보를 보존하기 위해, 원본 텍스트 청크(T) 노드를 다시 그래프에 추가하고 관련 의미 단위(S) 노드와 연결합니다 (G4 생성).
- 선별적 임베딩: 정보량이 많은 노드 타입(T, A, S, H)만 선별적으로 임베딩(벡터화) 합니다. 이는 저장 공간을 효율적으로 사용하면서 벡터 유사도 검색을 가능하게 합니다 (Dual Search 준비).
- HNSW 의미론적 엣지 추가: 임베딩된 노드들 간의 의미론적 유사성을 나타내는 HNSW 그래프의 기본 레이어(L0) 엣지를 이종 그래프에 통합합니다 (최종 G5 생성). 이는 그래프의 구조적 정보에 더해 의미적 유사성 정보까지 강화하여 검색 성능을 높입니다.
3. 정답 찾기: 그래프 검색 (Graph Searching)
잘 구축된 이종 그래프(G5)에서 사용자의 질문에 가장 관련성 높은 정보를 효율적으로 찾아내는 단계입니다. (Figure 3)
- Step 1: 이중 검색 (Dual Search)
- 사용자 질문(Query)이 들어오면, LLM이 질문에서 개체(Nq) 를 추출하고 질문 자체를 벡터(q) 로 임베딩합니다.
- 두 가지 방식으로 그래프에서 검색 시작점(Entry Points, Ventry)을 찾습니다:
- 정확한 매칭: 질문에서 추출된 개체(Nq)와 그래프 내의 이름/제목 노드(N, O 타입)를 문자열 기반으로 정확히 비교하여 일치하는 노드를 찾습니다.
- 벡터 유사도 검색: 질문 벡터(q)와 그래프 내 정보 노드(S, A, H 타입) 임베딩 간의 유사도를 계산하여 가장 유사한 상위 k개 노드를 찾습니다 (HNSW 알고리즘 활용).
- 핵심: 이름/제목 노드(N, O)는 검색 시작점으로만 사용되고 최종 결과에는 포함되지 않아, 부정확한 매칭으로 인한 노이즈 영향을 줄입니다.
- Step 2: 얕은 개인화 페이지랭크 (Shallow PPR)
- 찾아낸 검색 시작점(Ventry)들로부터 제한된 단계(t=2)만 개인화 페이지랭크(PPR) 알고리즘을 실행합니다.
- 이는 시작점 주변의 다중 홉(multi-hop) 관계에 있는 관련성 높은 노드들(Cross Nodes, Vcross)을 효율적으로 찾는 데 도움을 줍니다. 너무 멀리 떨어진 관련 없는 노드까지 탐색이 확산되는 것을 방지합니다.
- Step 3: 검색 노드 필터링 (Filter Retrieval Nodes)
- 이중 검색으로 찾은 시작점 노드(Ventry)와 PPR로 찾은 교차 노드(Vcross)를 합칩니다.
- 이 합쳐진 노드들 중에서 실제로 검색 결과로 반환될 수 있는 정보성 노드 타입(T, S, A, H, R)만 필터링합니다. (정보 내용이 없는 N, O 타입 노드는 제외)
- 최종적으로 필터링된 노드 집합(Vretrieval)이 사용자에게 제공될 검색 결과가 됩니다.
보시다시피 NodeRAG는 단순히 그래프를 사용하는 것을 넘어, 체계적으로 설계된 7가지 노드 타입의 이종 그래프를 기반으로 합니다. LLM과 다양한 그래프 알고리즘을 정교하게 결합하여 (1) 풍부한 지식 그래프를 구축(인덱싱) 하고, (2) 이중 검색과 PPR을 통해 정확하고 효율적으로 관련 정보를 찾아내는(검색) 과정을 거칩니다. 이러한 접근 방식이 NodeRAG가 기존 방법들보다 뛰어난 성능을 보이는 비결입니다.
3. Evaluation
NodeRAG가 다양한 벤치마크에서 기존의 RAG 모델들과 비교하여 어떤 성과를 거두었는지 자세히 살펴보겠습니다.
1. NodeRAG 평가 방법
NodeRAG의 성능은 다음과 같은 체계적인 방법으로 평가되었습니다.
- 평가 데이터셋 (벤치마크):
- 멀티-홉 질의응답: HotpotQA, MuSiQue, MultiHop-RAG (여러 단계를 거쳐 답을 찾아야 하는 복잡한 질문)
- 개방형 직접 비교: RAG-QA Arena (6개 도메인에 걸쳐 사용자가 어떤 답변을 더 선호하는지 직접 비교)
- 비교 대상 (베이스라인 모델):
- NaiveRAG (기본적인 RAG)
- HyDE (가상의 답변을 생성하여 검색하는 방식)
- LightRAG (이전 글에서 다룬 그래프 기반 RAG)
- GraphRAG (역시 이전 글에서 다룬 그래프 기반 RAG)
- 평가 지표:
- 정확도/점수 (Acc / Sco): 모델이 얼마나 정답을 잘 맞추는지 (HotpotQA, MuSiQue, MultiHop-RAG)
- 승률+무승부 비율 (W+T): RAG-QA Arena에서 표준 답변 대비 얼마나 우수한 답변을 생성하는지 (사용자 선호도 기반)
- 검색된 토큰 수 (#Token): 답변 생성을 위해 얼마나 많은 정보를 검색했는지 (효율성 지표, 낮을수록 좋음)
- 직접 비교 승률 (Pairwise Win rate): RAG-QA Arena에서 두 모델을 직접 비교했을 때 특정 모델이 더 우수하다는 평가를 받은 비율
- 공정한 실험 환경:
- 모든 RAG 모델은 기본적으로 GPT-4o-mini를 사용하여 답변을 생성하도록 통일했습니다 (temperature=0).
- 특히, 검색된 정보를 바탕으로 최종 답변을 생성할 때 사용하는 프롬프트를 모든 모델에 동일하게 표준화했습니다. 이는 공정한 비교를 위한 중요한 조치였으며, 이 덕분에 일부 베이스라인 모델(예: GraphRAG)의 성능이 기본 설정보다 향상되기도 했습니다.
2. NodeRAG 평가 결과
과연 NodeRAG의 성적표는 어땠을까요? 결과는 매우 인상적이었습니다. (Table 1 참조)
- 전반적인 성능 (General Comparison - Table 1, Part I):
- NodeRAG는 HotpotQA, MuSiQue, MultiHop-RAG 벤치마크에서 가장 높은 정확도(Acc) 또는 점수(Sco) 를 달성하면서도, 경쟁 모델들보다 현저히 적은 토큰을 검색했습니다.
- 예시 (MuSiQue): NodeRAG 정확도 46.29% > GraphRAG 41.71%, LightRAG 36.00%
- 예시 (HotpotQA): NodeRAG 정확도(89.50%)는 GraphRAG(89.00%)와 비슷했지만, 검색 토큰 수는 NodeRAG(5.0k)가 GraphRAG(6.6k)보다 1.6k개나 적었습니다.
- RAG-QA Arena 벤치마크에서도 그래프 기반 RAG 시스템들이 강세를 보였으며, 특히 NodeRAG는 평가된 6개 도메인 중 5개에서 가장 높은 승률+무승부 비율(W+T)을 기록했습니다. 이 역시 최소한의 검색 토큰으로 달성한 결과입니다.
- 예시 (Lifestyle 도메인): NodeRAG W+T 94.9% > GraphRAG 86.3%, LightRAG 81.7%. 심지어 NodeRAG는 다른 모델들 검색 토큰 수의 절반 이하만 사용했습니다.
- 전반적으로 그래프 기반 RAG 시스템(LightRAG, GraphRAG, NodeRAG)이 전통적인 RAG(NaiveRAG, HyDE)보다 적은 토큰을 사용하는 경향이 관찰되었습니다.
- 결론: NodeRAG의 효과성과 효율성이 입증되었으며, 이종 그래프(Heterograph) 구조가 다양한 작업에서 RAG 성능을 크게 향상시킬 수 있음을 보여줍니다.
- NodeRAG는 HotpotQA, MuSiQue, MultiHop-RAG 벤치마크에서 가장 높은 정확도(Acc) 또는 점수(Sco) 를 달성하면서도, 경쟁 모델들보다 현저히 적은 토큰을 검색했습니다.
- 직접 비교 결과 (Pairwise Comparison - Table 1, Part II):
- RAG-QA Arena의 6개 도메인 모두에서 NodeRAG는 GraphRAG, LightRAG, NaiveRAG, HyDE를 상대로 일관되게 더 높은 승률을 기록하며 압도적인 우위를 보였습니다.
- 예시 (Lifestyle 도메인): NodeRAG는 GraphRAG 상대로 64.0%, LightRAG 상대로 62.3%, NaiveRAG 상대로 80.0%, HyDE 상대로 52.6%의 승률을 기록했습니다.
- 다른 베이스라인 모델들은 서로 간에 일부 우세를 보이기도 했지만(예: Recreation 도메인에서 LightRAG > NaiveRAG), 전반적인 승률 면에서는 NodeRAG에 미치지 못했습니다.
- 이러한 경향은 다른 도메인(Writing, Recreation, Science, Tech 등)에서도 일관되게 나타나, NodeRAG가 선두 주자임을 명확히 보여주었습니다. (그 뒤를 LightRAG와 GraphRAG가 따르는 양상)
- RAG-QA Arena의 6개 도메인 모두에서 NodeRAG는 GraphRAG, LightRAG, NaiveRAG, HyDE를 상대로 일관되게 더 높은 승률을 기록하며 압도적인 우위를 보였습니다.
평가를 통해 NodeRAG는 단순히 새로운 아이디어를 제시하는 것을 넘어, 실제 성능 면에서도 기존의 강력한 RAG 모델들을 뛰어넘는 결과를 보여주었습니다.
- 표준 벤치마크에서 최고의 정확도/점수 달성
- 가장 적은 검색 토큰 사용으로 높은 효율성 입증
- 사용자 선호도 기반 직접 비교에서도 압도적 우위 확보
이러한 결과는 NodeRAG가 정확도와 계산 효율성 모두에서 탁월한 성능을 제공하며, 연구 환경부터 자원이 제한적인 실제 서비스 배포 환경까지 다양한 RAG 작업에 최적의 선택지가 될 수 있음을 시사합니다.
4. Ablation Experiments
4장에서는 NodeRAG를 구성하는 핵심 요소들이 각각 얼마나 중요한 역할을 하는지 살펴봅니다. '제거 실험'이란 시스템의 특정 부품을 하나씩 제거해보면서 그 부품의 중요도를 알아보는 실험입니다. NodeRAG에서는 MuSiQue 데이터셋을 사용하여 다음 4가지 핵심 기능의 영향을 분석했습니다.
1. 얕은 PPR(Shallow PPR)의 효과: '적은 것이 더 많다!'
- 무엇을 테스트했나요? 그래프 검색 시 개인화 페이지랭크(PPR) 알고리즘의 반복 횟수(iterations)를 다르게 설정해보았습니다. NodeRAG는 기본적으로 적은 횟수만 반복하는 '얕은(Shallow)' PPR을 사용합니다.
- 결과는? PPR 반복 횟수가 적을 때(얕은 PPR) 오히려 더 높은 정확도를 보였고, 반복 횟수가 늘어날수록 정확도는 약간 감소하거나 정체된 반면 평균 검색 시간과 토큰 수는 크게 증가했습니다. (Figure 4 참조)
- 왜 중요할까요? 얕은 PPR은 검색 시작점(entry point)에서 가까운 중요한 노드들을 효과적으로 강조합니다. 불필요하게 멀리까지 탐색하지 않아 계산 비용(시간, 토큰)을 절약하고 검색 효율성을 높입니다. 즉, NodeRAG의 효율성과 정확성에는 '얕은' PPR 전략이 핵심적입니다.
2. 교차 노드(Cross Nodes)의 필요성: 그래프 탐색은 필수!
- 무엇을 테스트했나요? PPR을 통해 그래프 구조를 탐색하여 '교차 노드'를 찾는 과정을 생략하고, 단순히 모든 노드 데이터에 대해 상위 k개의 벡터 유사도 검색 결과만 사용하는 경우를 비교했습니다.
- 결과는? PPR 기반의 교차 노드 탐색을 제거하자 정확도가 눈에 띄게 하락했습니다. (Table 2 'w/o Cross Node' 항목 참조)
- 왜 중요할까요? 이는 단순히 벡터 유사도만으로는 찾기 어려운, 여러 단계를 거쳐야(multi-hop) 도달할 수 있는 중요한 노드들을 식별하는 데 PPR과 같은 그래프 탐색(이를 통해 얻는 것이 교차 노드)이 필수적임을 보여줍니다. 그래프 구조를 활용한 탐색이 NodeRAG 성능의 핵심 요소인 것입니다.
- (부가 결과: 그래프 노드 데이터에 벡터 유사도를 적용하는 것만으로도, 원본 텍스트 청크에 직접 유사도를 적용하는 Naive RAG 방식보다는 꾸준히 더 나은 성능을 보여, 그래프 기반 데이터 증강 자체의 이점을 확인했습니다.)
3. 이중 검색(Dual Search) 메커니즘의 중요성: 균형 잡힌 시작점 확보!
- 무엇을 테스트했나요? NodeRAG의 이중 검색(Dual Search) 중 '정확한 검색(accurate search)' 부분, 즉 개체(N)/개요(O) 노드에 대한 문자열 매칭 부분을 제거하고, 벡터 유사도 검색만으로 시작점을 찾는 경우를 테스트했습니다.
- 결과는? 정확한 검색을 제거하자 정확도가 46.29%에서 44.57%로 하락했고, 특히 검색 토큰 수가 5.96k에서 9.70k로 크게 증가했습니다. (Table 2 'w/o Dual Search' 항목 참조)
- 왜 중요할까요? 정확한 검색으로 찾는 N, O 노드는 주로 중요한 정보 요약 노드(S, A, H)와 연결되어 있고, 벡터 검색으로 찾는 노드는 상대적으로 긴 텍스트 노드(T)와 연결되는 경향이 있습니다. 정확한 검색을 제거하면 이 균형이 깨져, 덜 중요한 긴 텍스트 노드들이 PPR 후 더 높은 가중치를 받게 되어 검색 결과의 질이 떨어지고 불필요한 정보(토큰 증가)를 많이 가져오게 됩니다. 따라서 두 가지 방식을 조합한 '이중 검색'은 검색의 정확성과 효율성을 위한 핵심 장치입니다.
4. HNSW 의미론적 엣지(Semantic Edges)의 기여도: 의미 연결 강화!
- 무엇을 테스트했나요? 그래프 강화 단계에서 추가했던 HNSW 기반의 의미론적 유사도 엣지(L0 layer)를 제거하고 성능을 측정했습니다.
- 결과는? HNSW 엣지를 제거하자 정확도가 46.29%에서 41.71%로 하락했습니다. (Table 2 'w/o HNSW' 항목 참조)
- 왜 중요할까요? HNSW 엣지는 의미론적으로 관련된 노드들 사이의 연결성을 강화하여, 그래프가 구조적 정보뿐만 아니라 의미적 유사성 정보까지 포함하도록 합니다. 이 연결성 덕분에 더 효율적이고 의미 있는 정보 검색이 가능해집니다. HNSW 엣지 통합이 NodeRAG 성능 향상에 직접적으로 기여하는 것입니다.
이상의 제거 실험 결과는 NodeRAG의 핵심 구성 요소들, 즉 얕은 PPR, 교차 노드 탐색, 이중 검색, HNSW 의미론적 엣지 통합 이 네 가지 모두가 각자의 위치에서 NodeRAG의 뛰어난 성능과 효율성에 필수적으로 기여하고 있음을 명확히 보여줍니다. 어느 하나라도 빠지면 성능이 저하되는, 잘 설계된 시스템임을 시사합니다.
5장 Related Works
5장에서는 NodeRAG가 어떤 기술적 배경 속에서 등장했고, 기존 연구들과 비교했을 때 어떤 차별점을 가지는지 알아보겠습니다. 크게 전통적인 RAG와 계층적/그래프 기반의 진보된 RAG 연구 흐름으로 나누어 볼 수 있습니다.
1. 전통적인 검색 증강 생성 (Traditional RAG)
- 기본 개념: RAG는 LLM이 외부 문서를 검색하여 관련 정보를 찾고, 이를 바탕으로 답변을 생성함으로써 특정 도메인 지식에 기반한 정확한 응답을 하도록 돕는 기술입니다.
- 작동 방식: 보통 사용자 질문(쿼리)과 문서들을 벡터 공간에 임베딩하고, 질문 벡터와 가장 유사한 문서 벡터 K개를 찾아 그 내용을 LLM에게 제공합니다.
- 한계와 발전: 초기 RAG는 효과적이었지만 여러 한계에 직면했습니다. 이를 개선하기 위해 다양한 연구들이 진행되었습니다.
- 여러 답변 후보 중 좋은 것을 고르거나(JPR), 단계별 추론(Chain-of-Thought)을 결합하거나(IR-CoT), 모호한 질문을 명확히 하거나(Tree of Clarifications), 가상의 문서를 만들어 검색 성능을 높이는(HyDE) 등의 방법들이 제안되었습니다.
- 문서 종류가 RAG 성능에 미치는 영향에 대한 연구도 있었습니다.
- 남아있는 과제: 하지만 전통적인 RAG는 여전히 LLM의 컨텍스트 창(context window) 제한으로 방대한 외부 문서를 전체적으로 이해하기 어렵고, 여러 문서에 걸친 정보를 종합해야 하는 요약 같은 작업에는 어려움을 겪습니다. (의료 분야 등 특정 도메인 적용 연구는 활발히 진행 중입니다.)
2. 계층적/그래프 기반의 진보된 RAG (RAG over Hierarchical Index / Graph-based RAG)
전통적인 RAG의 한계를 극복하기 위해, 문서의 계층적 구조(예: 요약 정보 활용)나 그래프 구조를 활용하는 더 진보된 RAG 연구들이 등장했습니다.
- 계층적 인덱싱 활용: 문서 전체의 의미와 세부 구절 정보를 결합하거나(DHR), 희소(sparse) 및 밀집(dense) 검색 기법을 함께 사용하는(HHR) 등의 방식으로 검색 정확도를 높이려 했습니다. RAPTOR 같은 연구는 트리 구조를 사용하여 긴 문서의 정보를 다양한 추상화 수준에서 통합하기도 했습니다.
- 그래프 기반 RAG: 여기서 더 나아가, 인덱싱 단계에서 지식 그래프(Knowledge Graph, KG) 를 구축하고, 검색(쿼리) 단계에서 그래프 알고리즘을 활용하는 방식이 주목받았습니다.
- 주요 사례: HippoRAG, KAPING 등은 지식 구성과 검색 효율성을 개선했습니다. 특히 GraphRAG는 LLM을 사용하여 그래프 기반 텍스트 인덱싱을 수행하고 커뮤니티 기반 요약을 생성하는 방식으로 후속 연구들에 영감을 주었습니다. 이를 바탕으로 LightRAG는 상위 수준 정보와 하위 수준 정보를 통합하면서 인덱싱 비용을 최적화하는 방식을 제안했습니다.
3. NodeRAG는 어디에 위치하는가? (NodeRAG's Position)
NodeRAG는 바로 이 그래프 기반 RAG 연구의 최신 흐름에 속합니다. 논문은 앞서 언급된 GraphRAG, LightRAG 등 기존의 계층적/그래프 기반 접근 방식들이 효과적이긴 하지만, LLM과 그래프 기반 방법론 간의 시너지를 완전히 활용하지는 못했다고 지적합니다.
NodeRAG는 이러한 간극을 메우기 위해 다음 두 가지에 집중합니다:
- 더욱 정교화된 그래프 구조 설계: 단순히 그래프를 사용하는 것을 넘어, 이종 그래프(Heterogeneous Graph) 라는 구체적이고 체계적인 구조를 설계하여 정보 표현 능력을 극대화했습니다. (이전 글에서 설명한 7가지 노드 타입 활용)
- 고급 그래프 알고리즘의 적극적인 통합: 그래프 분해, 증강, 강화, 검색의 전 과정에 걸쳐 다양한 그래프 알고리즘(K-core, Betweenness Centrality, Leiden Algorithm, PPR 등)을 효과적으로 통합하여 사용합니다.
이를 통해 NodeRAG는 기존 방법들보다 더 뛰어난 검색 정확도와 효율성을 달성할 수 있었다고 주장합니다.
6. Conclusion and Discussion
이 논문은 NodeRAG라는 새로운 프레임워크를 소개했습니다. NodeRAG의 핵심 목표는 인덱싱 단계에서 그래프 구조를 최적화하여, 더 효과적이고 세밀한(fine-grained) 정보 검색을 통해 RAG 성능을 향상시키는 것입니다.
이를 위해 NodeRAG는 기능적으로 구별되는 노드들로 구성된 잘 정의된 이종 그래프(heterograph) 를 구축합니다. 이 구조 덕분에 NodeRAG는 정보의 세부적인 내용을 깊이 이해하는 동시에, 전체 지식 말뭉치(corpus)에 대한 거시적인 관점(global perspective)까지 균형 있게 파악할 수 있습니다.
실험 결과는 NodeRAG가 여러 단계를 거쳐 답을 찾아야 하는 멀티-홉 추론 벤치마크와 정답이 정해지지 않은 개방형 검색 작업 모두에서 기존의 여러 RAG 방법들보다 뛰어난 성능을 보임을 명확히 입증했습니다.
논문은 "튼튼한 기초가 높은 구조물을 지탱한다 (A strong foundation supports a higher structure)"는 격언을 인용합니다. 그래프 기반 RAG의 영역에서, 바로 이 '그래프 구조'가 핵심적인 기초 역할을 한다는 것입니다.
NodeRAG의 등장은 그동안 상대적으로 덜 주목받았던 그래프 구조 자체의 중요성을 다시 한번 강력하게 강조합니다.
결론적으로, NodeRAG는 단순히 성능 좋은 모델 하나를 제시하는 것을 넘어, 앞으로 그래프 기반 RAG 연구가 나아가야 할 방향에 중요한 메시지를 던집니다. 즉, RAG 시스템을 설계할 때 그래프 구조의 설계와 최적화에 더 많은 관심과 노력을 기울여야 한다는 점을 상기시키는 것이죠. NodeRAG는 이러한 접근 방식이 얼마나 효과적일 수 있는지를 보여주는 성공적인 사례라고 할 수 있습니다.
마치며...
이렇게 NodeRAG 논문의 처음부터 끝까지 상세하게 살펴보았습니다. 정교하게 설계된 '이종 그래프'를 통해 복잡한 멀티-홉 질문에서도 높은 정확도와 뛰어난 효율성(적은 토큰 사용!)을 보여준 점은 정말 인상적이었습니다. NodeRAG는 확실히 그래프 기반 RAG의 새로운 가능성을 제시하며, 특히 성능과 효율성이 중요한 까다로운 작업에서 강력한 힘을 발휘할 것으로 기대됩니다.
하지만 이전에 Naive RAG, LightRAG, GraphRAG 등을 리뷰하며 함께 이야기 나눴듯이, RAG 기술에는 역시 정답은 없습니다. NodeRAG가 보여준 정교함과 강력한 성능은 매우 매력적이지만, 그만큼 시스템을 구축하고 최적화하는 데 더 많은 고민과 노력이 필요할 수도 있습니다.
우리가 만들고자 하는 서비스의 복잡성, 요구되는 답변의 깊이, 사용 가능한 자원 등을 고려했을 때, 어떤 경우에는 가장 단순한 Naive RAG가 여전히 가장 빠르고 합리적인 선택일 수 있다는 점을 기억하는 것이 중요합니다. NodeRAG와 같은 최첨단 기술의 등장은 RAG라는 도구 상자에 더욱 강력하고 전문화된 도구가 추가되었음을 의미합니다.
결국 중요한 것은 각 RAG 아키텍처(Naive, Light, Graph, Node 등)의 장단점을 이해하고, 우리가 해결하려는 문제의 특성에 가장 적합한 도구를 현명하게 선택하고 활용하는 능력일 것입니다. AI분야가 빠르게 발전하는 만큼 팔로우하며 필요한 기술만 쏙쏙 뽑아내서 적용하는 것이 갖춰야 할 역량이라고 생각합니다. 그럼 다음에 더 유익한 정보로 찾아뵙겠습니다.
'RAG' 카테고리의 다른 글
[RAG] 논문 리뷰 - LightRAG : Simple and fast retreval-augmented generation (2) | 2025.04.30 |
---|---|
[RAG] Vector RAG vs Graph RAG 비교 (2) (2) | 2025.04.30 |
[RAG] Vector RAG vs Graph RAG 비교 (1) (1) | 2025.04.30 |
[RAG] PDF 테이블 추출 시 선 인식 문제 해결 방법(커스터마이징 feat. Pdfplumber) (0) | 2025.04.21 |
[RAG]외부 지식을 LLM에 통합하는 KBLaM - Knowledge Base Augmented Language Models (0) | 2025.04.14 |