본문 바로가기

논문 리뷰/Language Model

GNN-RAG: Graph Neural Retrieval for Large Language Model Reasoning

Abstract

GNN의 그래프 검색 능력과 LLM의 언어 이해 능력을 결합하여 Knowledge Graph QA task에 이용 

 

경고: 저도 GNN 잘 몰라요

 

[Github]

[arXiv](2024/05/30 version v1)

 

 

 

Problem Statement & Background

Question Answering over KGs

KGQA 설명

Knowledge Graph 설명 << 이 분의 글이 제일 이해하기 쉬운 것 같다. GNN에 관심이 있다면 이 분의 GNN 시리즈를 다 읽어보는 것을 추천한다. 나는 안 봤지만 대충 슥 봤는데 설명도 잘하시고 정성 들여 쓰신 것 같다.

 

 

Knowledge Graph는 entity v, v'와 관계 r에 대한 (v, r, v') triplet으로 저장되며 KGQA의 목표는 주어진 G와 q에 대해 정확하게 대답하는 G의 entity set {a}를 찾는 것이다.

 

이 논문과 이것저것 찾아본 정보로 미루어 보건대 KGQA의 작동 방식을 요약하면 query에 나타난 entity를 기준으로 q와 가장 가까운 관계 임베딩 r을 찾아 답변을 산출하는 것 같다.

 

 

Landscape of KGQA methods

이전의 KGQA 방법들

 

LLM 기반 KGQA (RoG) 설명

 

 

 

GNN-RAG

1. 먼저 GNN을 통해 q에 대한 KG 하위 그래프 추론

2. 하위 KG 내 유용한 KG 추론 경로를 표시

3. 추출된 경로는 언어화되어 LLM에 입력

 


GNN

예를 들어 SBERT의 경우 q와 r의 유사성을 점수화하는데, 이 점수와 노드 간의 경로 길이를 고려하여 답변 후보를 반환한다. 이 후보는 LLM 기반 RAG의 입력으로 사용된다.


LLM

기성 모델(LLaMA2-Chat-7B)이 아래 그림과 같은 프롬프트를 이해할 수 있도록 fine-tuning 수행.


Retrieval Analysis: Why GNNs & Their Limitations

GNN 검색은 multi-hop KGQA에서 더 효과적이지만 심층 그래프 검색보다 정보 일치가 더 중요한 single-hop KGQA에서는 LLM 검색기가 더 좋다.


Retrieval Augmentation (RA)

두 검색기의 장단점을 보완하기 위해 두 검색기가 검색한 추론 경로를 결합한다. GNN-RAG + RA로 표기.

 

효율성이 떨어지는 LLM 기반 검색기 대신 서로 다른 두 GNN 모델의 출력을 결합하는 더 저렴한 대안을 사용할 수도 있다.

GNN-RAG + Ensemble로 표기.

 

 

 

Results