일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- Rag
- 마이온컴퍼니
- parklab
- DFS
- ux·ui디자인
- 프로젝트
- Join
- folium
- tog
- 멋사
- 그리디
- DP
- graphrag
- 마이온
- Python
- likelion
- 멋재이사자처럼
- intern10
- likelionlikelion
- 파이썬
- paper review
- TiL
- 알고리즘
- SQL
- 시각화
- 멋쟁이사자처럼
- BFS
- GNN
- 인턴10
- seaborn
- Today
- Total
지금은마라톤중
[Paper Review] Retrieval-Augmented Generation with Hierarchical Knowledge 본문
[Paper Review] Retrieval-Augmented Generation with Hierarchical Knowledge
Ojungii 2025. 4. 8. 13:40Retrieval-Augmented Generation with Hierarchical Knowledge
0. Abstract
그래프 기반의 RAG 방식은 특정 도메인 태스크에서 LLMs의 엄청난 성능 향상을 가져왔습니다.
그러나, 기존 RAG 방법들은 인간 사고의 계층적 지식을 적절히 활용하지 못해 RAG 시스템의 능력을 제한했습니다. 해당 논문에서는, indexing과 retireval 단계에서의 의미적 이해와 구조를 캡처하여 계층적 지식을 활용하는 HiRAG를 제안합니다. 실험을 통해 HiRAG는 기존 베이스라인 모델 대비 SOTA 성능을 달성했습니다.
1. Introduction
Naive RAG는 관련된 청크를 통해 ‘Hallucination’ 문제를 줄이는데 도움을 줬습니다. 하지만 관련 청크 안에서의 엔티티간의 관계만을 본다는 한계가 존재했습니다.
이 한계를 해결하기 위해, input document를 지식 그래프로 구축하여 엔티티간의 관계를 파악하는 RAG 시스템이 제안되었습니다. 이 방법은 다양한 태스크에서 좋은 성능을 내지만 여전히 심각한 한계점들이 존재합니다. GraphRAG는 Leiden 알고리즘을 이용한 커뮤니티 인덱싱을 활용했지만, 이 커뮤니티가 오직 지식그래프 내의 구조적 유사성만 이용했습니다. KAG는 정보와 지식을 계층적으로 표현했지만, 일반적 태스크에 대한 확장성이 부족하며 전문가의 수동적 표기가 필요했습니다. LightRAG는 지역적과 전역적의 2가지 접근방식을 활용했지만, 로컬과 글로벌의 knoewledge gap을 무시했습니다.
기존 RAG 시스템이 가진 2가지 핵심 문제에 주목했습니다.
(1) 의미론적 유사성을 가진 엔티티들간의 구조적 거리
(2) 지역적 지식과 전역적 지식 간의 knowledge gap
이를 해결하기 위해 HiRAG(계층적 지식을 이용한 RAG)를 제안합니다.
HiRAG는 인덱싱과 검색 단계를 통해 계층적 지식을 통합합니다.
(1)번 문제를 해결하기 위한 Indexing with Hierarchical Kneowledge(HiIndex)를 소개합니다. 간단히 구축되는 평면의 KG와 달리, 층층마다 계층적으로 구성된 KG를 구축합니다. 더 높은 층일수록 아래 층의 엔티티들의 군집을 요약합니다.
(2)번 문제를 해결하기 위한 Retrieval with Hierarchical Knowledge(HiRetrieval)를 소개합니다. 지역적 지식의 엔티티 설명과 전역적 지식의 커뮤니티를 연결함으로써 지식층의 분산을 해결합니다. global level, bridge level, and local level의 3가지 레벨을 LLM에서 제공하여 좀 더 포괄적이고 정확한 응답을 돕습니다.
2. The HiRAG Framework
크게 2개의 모듈로 구성 : HiIndex와 HiRetireval
HiIndex는 각 층마다의 계층적 KG 구축
HiRetireval은 각 커뮤니티에서 가장 관련된 엔티티들을 찾고 이것들의 최단경로를 연결합니다.
이를 통해 LLM이 3가지 레벨의 지식을 통해 답변을 생성합니다.
2.1 Indexing with Hierarchical Knowledge
우선, 기본적인 KG를 만들기 위해 입력 문서에서 엔티티 중심 트리플을 추출합니다. 특히, 문서를 청크를 쪼갤 때 중복되는 부분이 존재하게 합니다. 그리고 LLM에게 잘 짜여진 프롬프트와 함께 전달합니다. LLM은 문서 청크를 통해 각 쌍간의 엣지(릴레이션)을 생성합니다.
이런 KG는 0번째 층 KG가 됩니다. 각 층의 임베딩을 가지고 와서 GMM(Gaussian Mixture Models)을 통해 의미론적 클러스터링을 취합니다.
GMM을 통한 클러스터링 후에, LLM에게 C_{i-1}을 주고 i번째 층의 요약 엔티티를 만듭니다. 그리고 L_{i-1}과 L_{i} 사이의 릴레이션을 입실론_i라고 표기합니다.
L_i번째 층의 요약 엔티티들을 생성하기 위해, 메타 요약 엔티티 집합 X를 같이 주어 요약 엔티티 생성합니다.
X 예시) “조직”, “사람”, “장소”, 사건”, “기술” 등
X 예시) 빅데이터나 AI를 요약할 때 “기술”을 활용
이런 X는 윗층에 더해지지만, 계층적 KG의 실제 일부는 아닙니다.
커뮤니티 P 집합을 계산할떄 Leiden 알고리즘을 사용합니다. 각 커뮤니티가 여러층의 엔티티를 포함하고 있을 수도 있고 엔티티가 여러 커뮤니티를 나타내고 있을 수도 있습니다.
각 커뮤니티 p에서, LLM을 통해 의미적 리포트를 생성합니다. 윗 층의 엔티티는 시멘틱 허브로써 연관된 엔티티들을 거리에 관계없이 함축합니다.
2.2 Retrieval with Hierarchical Knowledge
local-level knowledge를 검색하기 위해, top-n개의 가장 관련된 엔티티를 추출합니다. 유저 쿼리와 엔티티 사이의 의미적 유사성을 측정합니다. (n = 20, default)
global-level knowledge를 검색하기 위해, 검색된 엔티티와 연결된 커뮤니티를 찾습니다.
그런 다음 쿼리와 관련된 대략적인 지식을 나타내는 커뮤니티 리포트를 찾습니다.
찾은 지역적 지식과 전역적 지식의 knowledge gap을 연결하기 위해서는, 찾은 커뮤니티들을 연결하는 reasoning path R을 찾습니다. 각 커뮤니티로부터, top-m개의 연관된 중요 엔티티를 고릅니다. Reasoning path R 집합은 중요 엔티티들의 최단경로로 정의합니다. R을 기반으로, 우리는 서브그래프 R^을 만듭니다. 이런 서브그래프는 지역적 엔티티 지식과 전역적 커뮤니티 지식을 가지고 있습니다.
이렇게 3단계의 계층적 지식을 찾은 후에, LLM에게 이것들을 문맥으로 제공합여 포괄적인 답변을 생성합니다.
3. Experimental Evaluation
Baseline
- NaiveRAG, GraphRAG, LightRAG, FastGraphRAG, KAG
Datasets and Queries
- 4 datasets from UltraDomain benchmark
LLM
- DeepSeek-V3 → 정보추출, 엔티티 요약, 정답생성
- GLM-4-Plus → 벡터 검색 임베딩, 의미적 클러스터링
- 딥시크가 제공하지 않아서 사용
3.1 전반적인 성능 비교
- 평가지표 : win rate, LLM(GPT-4o)을 통해 다른 방법들보다 답변 품질이 높은지 비교하는 지표
- 4가지 차원에서 평가
- Comprehensiveness (포괄성)
- 질문을 얼마나 철저하게, 다양한 측면에서 다뤘는가?
- Empowerment (실행력 제공)
- 사용자가 실질적 행동을 취할 수 있도록 유용한 정보나 솔루션을 제시했는가?
- Diversity (다양성)
- 다양한 관점, 접근 방식, 해결책을 얼마나 잘 반영했는가?
- Overall (종합적 품질)
- 위 세 항목을 종합하여 전체적인 응답 품질은 어떤가?
- Comprehensiveness (포괄성)
- 평가결과
- HiRAG가 다른 베이스라인보다 4개의 데이터셋과 4개 차원의 지표에서 월등한 성능
3.2 계층적 KG vs Flat KG
-
w/o HiIndex의 거의 모든 케이스에서 성능이 떨어짐.
-
HiIndex가 답변 품질에 중요한 역할을 한다는 것을 시사
-
유사한 엔티티 사이를 의미론적 연결성을 강화.
-
w/o HiIndex가 다른 베이스라인들보다 성능이 좋은 것을 통해 HiRetrieval이 flat KG에서도 효과
- w/o Bridge : knowledge gap이 존재하여 win rate가 떨어짐.
3.4 Determining the Number of Layers
- HiIndex의 가장 중요한 것 중에 하나는 층의 개수를 결정하는 것.
- 이것에 따라 각 층에 클러스터의 품질이 달라지기 때문.
- cluster sparsity를 활용해 품질을 평가.
- 층 개수가 커질수록 cluster sparsity가 커지고 안정화.
3.5 효율성과 비용 분석
- 토큰수와 API calls를 분석
- 인덱스 단계에서는 오프라인이기 때문에 7.55USD 발생.
- 검색 단계에서는 쿼리당 평균 비용을 계산했는데, 다른 베이스라인과 달리 토큰이 들지 않음.
→ HiRAG의 온라인 검색방법이 더 효율적.
3.6 Ablation Study
다른 데이터셋 평가
4. Limitation
- 고품질의 계층적 KG을 구축하기 위해서는 상당한 토큰소비와 time overhead를 일으킴
- 최근 LLM의 발전으로 토큰 사용에 대한 부담을 점점 줄어들고 있음
- 그러므로 병렬적 인덱싱 과정을 통해 인덱싱 시간을 줄이는 것을 고려 필요
- 검색단계에서 더 정교한 query-aware ranking 메커니즘이 필요
- 현재 LLM이 생성하는 순위 가중치를 사용하고 있어 쿼리 관련성에 영향을 받음.
- 좀 더 효과적인 순위 메커니즘 필요
Insight
'STUDY > Paper Review' 카테고리의 다른 글
[Paper Review] Can LLMs be Good Graph Judger for KnowledgeGraph Construction? (2) | 2025.05.07 |
---|---|
[Paper Review] Graphusion (0) | 2025.03.26 |
[Paper Review] Think-on-Graph 2.0 (0) | 2025.03.02 |
[Paper review] GraphRAG 논문 비교 (0) | 2025.02.22 |
[Paper review] GNN-RAG: Graph Neural Retrieval for Large Language Model Reasoning (0) | 2025.02.03 |