본문 바로가기
ML & DL/논문리뷰

G-Retriever: Retrieval-Augmented Generation forTextual Graph Understanding andQuestion Answering

by 공부하는 무니 2024. 11. 3.
반응형

원문: https://arxiv.org/pdf/2402.07630

Abstract

연구의 핵심은 사람들이 그래프와 '대화'를 할 수 있게 만드는 것입니다. 
더 자세히 말하면, 사용자가 그래프에 대해 질문을 하면 -> 시스템이 텍스트로 답변을 하고 -> 그래프에서 관련된 부분을 하이라이트해서 보여줍니다.

기존 연구와의 차이점
- 기존 연구들은 주로 단순한 그래프나 작은 그래프만 다뤘습니다
- 이 연구는 실제 세상의 복잡한 그래프를 다룰 수 있습니다
- 다양한 분야(장면 이해, 상식 추론, 지식 그래프 등)에 적용 가능합니다

해결 방법 (G-Retriever)
- 대규모 언어 모델(LLM)을 사용합니다
- 그래프가 너무 커서 한 번에 처리하기 어려울 때를 대비해 '검색 증강 생성(RAG)' 방식을 도입했습니다
- 특히 'Prize-Collecting Steiner Tree' 라는 최적화 방법을 사용해서 환각(잘못된 정보 생성) 문제를 줄이고 큰 그래프도 효과적으로 처리할 수 있게 했습니다.

결과
- 여러 분야의 그래프 관련 작업에서 기존 방법들보다 더 좋은 성능을 보였습니다
- 큰 그래프에서도 잘 작동합니다
- 잘못된 정보를 생성하는 문제가 줄어들었습니다

1. Introduction

1. 연구 배경
- 대규모 언어 모델(LLM)이 AI 분야를 크게 변화시켰습니다
- 현실 세계의 많은 데이터가 그래프 구조를 가집니다
  - 예: 웹, 전자상거래, 추천 시스템, 지식 그래프 등
- 이런 그래프들은 주로 텍스트 속성을 포함하고 있어서 LLM과 잘 맞습니다

2. 기존 연구의 한계
- 대부분의 연구가 단순한 그래프 작업에만 집중했습니다
  - 노드 분류, 엣지 분류 등
- 작거나 인공적으로 만든 그래프만 다뤘습니다
- 복잡한 실제 그래프에는 적용하기 어려웠습니다

3. 새로운 접근방식: 'Chat with Your Graph'
- 사용자가 그래프와 대화하듯 질문할 수 있는 시스템입니다
- 실제 세상의 복잡한 그래프를 다룰 수 있습니다
- 통합된 대화형 인터페이스를 제공합니다



4. 주요 문제점과 해결 방법
   A. 환각(Hallucination) 문제
   - LLM이 잘못된 정보를 생성하는 문제가 있었습니다
   - 기존 방법은 전체 그래프 구조를 기억하지 못해 오류가 발생했습니다
   - G-Retriever는 실제 그래프에서 직접 정보를 검색해 이 문제를 해결했습니다


   B. 확장성 문제
   - 큰 그래프를 텍스트로 변환하면 LLM이 처리하기 힘들었습니다
   - G-Retriever는 필요한 부분만 선택적으로 검색해 이 문제를 해결했습니다


5. G-Retriever의 특징
- 그래프 신경망(GNN), LLM, RAG(검색 증강 생성)을 결합했습니다
- Prize-Collecting Steiner Tree 최적화를 사용해 그래프 검색을 수행합니다
- 질문과 가장 관련된 부분 그래프를 찾아 설명할 수 있습니다

6. 연구의 주요 기여
- 일반적인 텍스트 그래프를 위한 최초의 검색 방법을 개발
- 실제 그래프와 대화할 수 있는 유연한 질문-답변 프레임워크 제시
- 새로운 GraphQA 벤치마크 도입
- 여러 분야에서 G-Retriever의 효율성과 효과성을 입증

7. 응용 분야
- 상식 추론
- 장면 이해
- 지식 그래프 추론
- 기타 복잡한 그래프 관련 작업

2. Related Work

1. 그래프와 대규모 언어 모델(LLM)의 결합
  - 일반적인 그래프 모델 설계
  - 멀티모달 아키텍처 개발
  - 실제 응용 분야 연구


- 주요 응용 분야
  - 기본적인 그래프 추론
  - 노드 분류
  - 그래프 분류/회귀
  - 지식 그래프 관련 작업

2. 검색 증강 생성(RAG)
- Lewis 등이 처음 제안한 개념입니다
- 주요 장점
  - LLM의 환각 문제를 줄일 수 있음
  - 신뢰성을 높일 수 있음
  - 설명 가능성을 향상시킴
- 현재까지의 한계
  - 대부분 지식 그래프에만 적용됨
  - 일반적인 그래프 작업에는 거의 적용되지 않음
- 이 연구의 의의
  - 일반 그래프 작업에 RAG를 적용한 최초의 연구
  - 언어 처리를 넘어선 RAG의 활용 가능성을 보여줌

3. 매개변수 효율적 미세조정(PEFT)
- LLM을 효율적으로 개선하는 다양한 기술들이 개발됨
- 주요 기술들
  - 프롬프트 튜닝 (Lester 등)
  - 접두사 튜닝 (Li와 Liang)
  - LoRA
  - LLaMA-adapter
- 이러한 PEFT 기술들의 영향
  - 정교한 멀티모달 모델 개발 가능
    - 예: MiniGPT-4, LLaVA, NExT-Chat
  - 그래프 LLM에도 적용되기 시작
    - GraphLLM: 기본 그래프 추론
    - GraphToken: 기본 그래프 추론
    - GNP: 지식 그래프의 객관식 질문 답변

이 연구 흐름은 다음과 같은 중요한 의미를 가집니다.
1. 통합적 발전
- 그래프 처리, 언어 모델, 검색 기술이 융합되고 있습니다
- 각 분야의 장점을 결합해 더 나은 성능을 얻고 있습니다
2. 실용성 향상
- 효율적인 학습 방법으로 실제 응용이 쉬워졌습니다
- 다양한 분야에 적용할 수 있게 되었습니다
3. 새로운 가능성
- RAG를 일반 그래프에 적용하는 것은 새로운 연구 방향을 제시합니다
- 더 복잡한 그래프 문제를 해결할 수 있는 가능성이 열렸습니다

3. Formalization

1. 텍스트 그래프 (Textual Graphs)
- 정의: 노드와 엣지가 텍스트 속성을 가진 그래프
- 수학적 표현: G = (V, E, {xn}n∈V, {xe}e∈E)
  - V: 노드들의 집합
  - E: 엣지들의 집합
  - xn: 노드의 텍스트
  - xe: 엣지의 텍스트
- 특징
  - D: 사용 가능한 단어들의 집합(어휘)
  - Ln: 노드 텍스트의 길이
  - Le: 엣지 텍스트의 길이

2. 텍스트 인코딩을 위한 언어 모델
- 목적: 노드와 엣지의 텍스트를 의미있는 형태로 변환
- 작동 방식
  - 입력: 노드나 엣지의 텍스트 (xn)
  - 출력: d차원의 벡터 (zn)
- 수학적 표현: zn = LM(xn) ∈ Rd


  - zn: 언어 모델이 만든 출력 벡터
  - d: 출력 벡터의 차원

3. 대규모 언어 모델과 프롬프트 튜닝
- 새로운 패러다임: "사전 학습, 프롬프트, 예측"
  - 기존: "사전 학습, 미세조정" 방식
  - 변화: 직접적인 미세조정 대신 프롬프트 사용
- 처리 과정
  1. 대량의 텍스트로 사전 학습
  2. 작업과 맥락을 설명하는 프롬프트 제공
  3. 입력과 프롬프트를 바탕으로 출력 생성
- 수학적 표현


  - 입력: 토큰 시퀀스 X와 프롬프트 P
  - 출력: 토큰 시퀀스 Y = {y1, y2, ..., yr}
  - 확률 분포: pθ(Y|[P; X])
    - θ: 모델의 매개변수
    - [P; X]: 프롬프트와 입력의 연결

이런 공식의 의미는 다음과 같습니다.
1. 통합적 표현
- 텍스트와 그래프 구조를 함께 다룰 수 있습니다
- 복잡한 정보를 수학적으로 정확하게 표현할 수 있습니다
2. 유연한 처리
- 다양한 길이의 텍스트를 처리할 수 있습니다
- 그래프의 구조적 특성을 유지하면서 텍스트 정보를 활용할 수 있습니다
3. 효율적인 학습
- 프롬프트를 통해 새로운 작업에 빠르게 적응할 수 있습니다
- 전체 모델을 다시 학습시킬 필요가 없습니다

4. Proposed GraphQA Benchmark

1. GraphQA 벤치마크의 개요
- 목적: 다양한 분야의 그래프 질문-답변 능력을 평가
- 특징: 포괄적이고 다양한 데이터셋 제공

2. 데이터 형식


A. 텍스트 그래프
- 그래프를 자연어 형식으로 변환
- CSV 파일과 비슷한 형태로 노드와 엣지 나열
- 특징
  - 단순하지만 효과적인 표현 방식 채택
  - 다양한 GraphQA 시나리오에 활용 가능
B. 질문과 답변
- 질문: 그래프의 특정 요소나 관계에 대해 묻음
- 답변: 노드나 엣지의 속성에서 찾을 수 있음
- 특징: 여러 단계의 추론이 필요한 경우가 많음


3. 포함된 데이터셋

A. ExplaGraphs
- 주제: 상식적 추론
- 목적: 토론에서의 입장 예측을 위한 설명 그래프 생성
- 특징
  - 명확한 상식 기반 그래프 제공
  - 찬성/반대 논거 평가
- 평가 방법: 정확도
B. SceneGraphs
- 규모: 100,000개의 장면 그래프
- 내용:
  - 이미지 속 객체
  - 객체의 속성
  - 객체 간의 관계
- 특징
  - 공간 이해력 필요
  - 다단계 추론 필요
- 평가 방법: 정확도
C. WebQSP
- 규모: 4,737개의 질문
- 특징: 
  - 다단계 추론이 필요한 지식 그래프 QA
  - Freebase의 일부 사용
  - 질문 관련 엔티티로부터 2-홉 이내의 사실들 포함
- 평가 방법: hit@1 (최상위 답변의 정확도)

4. 벤치마크의 중요한 특징
A. 표준화
- 다양한 데이터셋을 통일된 형식으로 변환
- GraphQA에 적합하도록 재구성
B. 다양성
- 여러 도메인의 데이터 포함
- 다양한 유형의 추론 능력 평가 가능
C. 실용성
- 실제 응용 가능한 문제들로 구성
- 명확한 평가 기준 제시

5. 의의
- 다양한 그래프 QA 시스템의 성능을 비교할 수 있는 기준 제공
- 실제 응용 분야의 문제들을 포함하여 실용성 높음
- 표준화된 형식으로 연구 재현성과 비교 가능성 향상

5. G-Retriever

1. G-Retriever의 기본 구조와 특징
G-Retriever는 그래프 질문-답변을 위한 새로운 아키텍처로, GNN, LLM, RAG를 통합했습니다. 

주요 특징은 다음과 같습니다.
- LLM은 동결(freeze)된 상태로 유지하며, GNN의 출력에 소프트 프롬프팅 방식을 사용합니다
- RAG 기반 설계로 환각 문제를 줄이고, LLM의 컨텍스트 윈도우 크기를 초과하는 그래프도 처리할 수 있습니다
- 하위 그래프 검색을 PCST(Prize-Collecting Steiner Tree) 최적화 문제로 공식화했습니다
- 검색된 하위 그래프를 반환함으로써 설명 가능성을 높였습니다

2. G-Retriever의 4단계 처리 과정


A. 인덱싱 단계
- 사전 학습된 언어 모델을 사용해 노드와 그래프의 임베딩을 생성합니다
- SentenceBert와 같은 사전 학습 모델을 사용해 텍스트 속성을 벡터로 변환합니다
- 생성된 임베딩은 최근접 이웃 데이터 구조에 저장됩니다
- 노드와 엣지 모두 동일한 전처리 과정을 거칩니다
B. 검색 단계
- 질문도 동일한 인코딩 전략을 사용해 벡터로 변환합니다
- k-최근접 이웃 검색 방법을 사용해 가장 관련성 높은 노드와 엣지를 찾습니다
- 코사인 유사도를 사용해 질문과 각 노드/엣지 간의 유사성을 측정합니다
- 유사도가 가장 높은 상위 k개의 노드와 엣지를 선택합니다
C. 하위 그래프 구성
- PCST 알고리즘을 사용해 최적의 하위 그래프를 구성합니다
- 주요 이점:
  1. 질문과 관련 없는 노드와 엣지를 필터링
  2. 그래프 크기를 관리 가능한 수준으로 유지
- PCST 작동 방식:
  - 노드와 엣지에 상대적 중요도에 따른 점수 부여
  - 그래프 크기와 관련된 비용을 고려
  - 총 점수에서 비용을 뺀 값을 최대화하는 연결된 하위 그래프 찾기
- 엣지 처리를 위한 특별한 수정:
  - 가상 노드를 도입해 엣지의 점수도 고려할 수 있게 함
  - 근선형 시간 알고리즘으로 최적화
D. 답변 생성
1. 그래프 인코더:
   - GAT(Graph Attention Network)를 사용해 하위 그래프의 구조를 모델링
   - 평균 풀링 연산으로 그래프 표현을 생성
2. 투영 계층:
   - 다층 퍼셉트론(MLP)을 사용해 그래프 토큰을 LLM의 벡터 공간에 맞게 조정
3. 텍스트 임베더:
   - 검색된 하위 그래프를 텍스트 형식으로 변환
   - 질문과 텍스트화된 그래프를 결합
   - 사전 학습된 LLM의 첫 번째 계층을 사용해 임베딩 생성
4. LLM을 이용한 생성:
   - 그래프 토큰을 소프트 프롬프트로 사용
   - 텍스트 임베더의 출력과 함께 LLM의 자기 주의 계층에 입력
   - 최종 답변 생성

3. G-Retriever의 장점
- 대규모 그래프 처리 가능
- 환각 문제 감소
- 설명 가능한 결과 제공
- 효율적인 처리 과정
- 유연한 구조로 다양한 그래프 작업에 적용 가능

 

6. Experiments

1. 실험 설정
- 인덱싱 단계: SentenceBert 사용해 노드와 엣지 속성 인코딩
- 생성 단계: 
  - LLM: Llama2-7b 사용
  - 그래프 인코더: Graph Transformer 사용

2. 주요 실험 결과



세 가지 모델 구성을 비교 실험:
1. 추론 전용
   - 동결된 LLM으로 직접 질문 답변
2. 동결 LLM + 프롬프트 튜닝(PT)
   - LLM은 동결 상태 유지
   - 프롬프트만 조정
3. 튜닝된 LLM
   - LoRA를 사용해 LLM 미세조정

3. 효율성 평가



그래프 기반 검색의 효율성이 크게 향상됨
SceneGraphs 데이터셋
- 토큰 수: 83% 감소
- 노드 수: 74% 감소
- 학습 시간: 29% 감소
WebQSP 데이터셋
- 토큰 수: 99% 감소
- 노드 수: 99% 감소
- 학습 시간: 67% 감소

 

4. 환각 문제 개선


실험 방법
- 100개의 응답을 수동으로 검토
- 모델이 언급한 노드와 엣지가 실제 그래프에 존재하는지 확인
결과
- G-Retriever가 기준 모델보다 환각을 54% 감소
- 실제 그래프에서 직접 데이터를 가져오는 검색 방식이 효과적

5. 요소별 영향 분석 (Ablation Study)


주요 구성 요소를 제거했을 때의 성능 저하
- 그래프 인코더 제거: 22.51% 성능 감소
- 텍스트화된 그래프 제거: 19.19% 성능 감소
- 이는 텍스트와 임베딩 형식이 서로 보완적임을 보여줌
- 그래프 검색도 전체 성능에 중요한 영향을 미침

6. 추가 연구 결과
1. 그래프 인코더 선택
- 다양한 그래프 인코더에도 안정적인 성능 유지
2. LLM 규모의 영향
- LLM 규모가 커질수록 성능 향상
3. 기존 검색 방법과의 비교
- 다른 검색 방법들과 상세 비교 수행
4. 복잡성 분석
- 시스템의 계산 복잡성 검토
5. 실제 사용 사례
- '그래프와의 대화' 시연 예시 포함

7. 연구의 의의
1. 효율성 입증
- 대규모 그래프 처리의 효율성 크게 향상
- 학습 시간과 리소스 사용 감소
2. 품질 향상
- 환각 문제 대폭 감소
- 더 정확한 답변 생성
3. 유연성
- 다양한 그래프 인코더와 호환
- 다양한 규모의 LLM에 적용 가능
4. 실용성
- 실제 응용 가능한 성능 입증
- 다양한 사용 사례 제시

7. Conclusion

1. 연구의 주요 성과
1. 새로운 벤치마크 도입
- GraphQA: 실제 세계의 그래프 질문-답변을 위한 새로운 벤치마크
- 다양한 도메인의 복잡한 질문들을 포함
- 실제 응용 가능한 형태로 구성
2. G-Retriever 아키텍처 개발
- 복잡하고 창의적인 질문 처리 가능
- 다양한 도메인의 텍스트 그래프 작업에서 우수한 성능
- 기존 기준 모델들보다 더 나은 결과 달성
3. 주요 장점
- 확장성: 큰 규모의 그래프도 효과적으로 처리
- 안정성: 환각(hallucination) 문제에 대한 저항성
- 실용성: 실제 응용 가능한 성능 입증


2. 현재의 한계점
정적 검색 구성요소
- 현재 G-Retriever는 고정된(static) 검색 컴포넌트를 사용
- 검색 과정이 학습 불가능한 형태로 구현됨
- 더 유연한 검색 방법의 필요성 존재

3. 향후 연구 방향
1. 검색 기능 개선
- 학습 가능한(trainable) RAG 시스템 개발
- 더 정교한 검색 메커니즘 연구
- 동적이고 적응적인 검색 방법 도입
2. 잠재적 개선 영역
- 검색 컴포넌트의 동적 조정 능력
- 상황에 따른 적응적 검색 전략
- 더 효율적인 학습 방법 개발

반응형

댓글