본문 바로가기

ML/LLM

[논문리뷰] KNOWLEDGE SOLVER: TEACHING LLMS TO SEARCH FORDOMAIN KNOWLEDGE FROM KNOWLEDGE GRAPHS

 

 

https://arxiv.org/pdf/2309.03118

 


나의 결론 : graph search를 통해 LLM의 성능을 향상 시킬수 있다 (파인튜닝시에도 유용하게 사용할 수 있다)


 

Abstract

ChatGPT 및 GPT-4와 같은 대규모 언어 모델(LLM)은 다양한 작업을 해결할 수 있습니다. 그러나 LLM은 때때로 작업을 수행하기 위한 도메인별 지식이 부족하여 추론 중 환각을 유발하기도 합니다. 이전 연구에서는 도메인별 지식 부족 문제를 완화하기 위해 외부 지식 기반에서 검색된 지식에 대해 그래프 신경망(GNN)과 같은 추가 모듈을 학습시켜 도메인별 지식 부족 문제를 완화했습니다.

하지만 추가 모듈을 통합하려면

1) 새로운 도메인을 접할 때 추가 모듈을 재학습

2) LLM의 강력한 능력을 충분히 활용하지 못해 병목 현상이 발생할 수 있습니다.

 

이 백서에서는 Knowledge Solver(KSL)라는 패러다임을 제안하여 LLM이 외부 지식 기반에서 필수 지식을 검색하도록 가르치기 위해 다음과 같은 방법을 제안합니다.


1. Introduction

지식 기반에서 관련 텍스트를 검색하는 것은 언어 모델의 성능을 강화하는 대표적인 방법입니다. 또한 일반적으로 검색 모듈은 가장 관련성이 높은 문서를 찾기 위해 사용되어 생성된 텍스트의 사실성을 개선하는 데도 도움이 될 수 있습니다.
먼저 검색 모듈을 사용하여 검색어와 유사도 점수가 가장 높은 문서를 찾습니다. 그런 다음 입력된 텍스트와 검색된 문서를 특정 방식으로 결합하여 모델에 input합니다. 이에 비슷하게 검색된 텍스트를 활용하여 LLM을 보강합니다. Ram 등(2023)은 검색된 문서를 입력에 직접 추가하여 LLM의 성능 향상을 얻었습니다.

외부 지식으로부터 증거를 검색하고 해당 내용을 병합할 수 있도록 설계했지만 임베딩 간의 유사성에 의존하면 모델이 의미를 이해하는 대신 얕은 기능만 학습하게 되어 모델이 유용한 지식을 검색하는 데 방해가 될 수 있습니다. 반대로 지식 그래프(Knowledge Graphs - KG)는 명확하고 논리적이며 우수한 지식의 매개체입니다. LLM에 KG를 효과적으로 활용하면 필요한 작업에서 LLM의 성능을 향상시킬 수 있습니다.

 

(a)의 순수 LLM과 (b)의 제로 샷 Knowledge Solver를 질문 답변 작업에 대해 비교한 예시. 우리의 접근 방식은 LLM 자체의 일반화 가능성을 활용하여 작업을 수행하는 데 필요한 지식을 검색하도록 돕습니다. 보라색은 LLM이 선택한 올바른 경로의 노드와 관계를 나타냅니다.


LLM의 예측을 돕기 위해 KG를 사용하는 일련의 작업이 있습니다. KagNet은 관계형 그래프를 모델링하기 위한  관계형 추론을 위한 그래프 신경망 모듈을 제안합니다. MHGRN은 경로 기반 추론 방법과 그래프 신경망을 통합하는 멀티 홉 관계 추론 모듈을 사전 학습된 언어 모델에 장착합니다.

추가 모듈 교육에는 두 가지 단점이 있습니다. 1) 새로운 도메인을 접할 때 재훈련이 필요, 2) LLM의 강력한 능력이 검색에 충분히 활용되지 않아 병목 현상이 발생할 수 있다는 점입니다.

 

이 논문에서는 이러한 단점을 해결하기 위해 Knowledge Solver라는 패러다임을 제안하는데, 이는 LLM 스스로 외부 지식 기반에서 지식을 검색하도록 가르치는 방식입니다. 구체적으로 설명하자면, 우리는 KG에서 필요한 지식을 검색하는 프로세스를 multi-hop 의사 결정 시퀀스로 단순화합니다. 각 단계에서는 그림 1과 같이 KG 내의 로컬 정보를 텍스트 프롬프트(LLM이 선택한 과거 경로 포함)로 변환하고, 이를 기반으로 LLM이 상황에 맞는 관련 지식을 선택해 작업을 수행합니다. 전체 과정은 사람이 어떤 목표를 달성하기 위해 인터넷을 통해 검색하는 것과 유사합니다.

 

세 가지 데이터 세트에 대해 세 가지 LLM(GPT-3.5, LLaMA(Touvron 외, 2023a), LLaMA 2(Touvron 외, 2023b))으로 접근 방식인 지식 솔버(KSL)를 평가합니다 지식 추론이 필요한 CommonsenseQA, OpenbookQA, MedQA-USMLE입니다.

 

각 질문 답변 선택 쌍에 대해 관련 지식 하위 그래프를 검색하고 이를 텍스트 프롬프트로 인코딩하여 LLM에 직접 주입하여 지식이 필요한 작업을 수행할 수 있도록 지원합니다. 질문-답변 시나리오에서 LLM은 제공된 외부 지식과 상호 작용하여 질문에 올바르게 답하기 위한 경로를 선택합니다.

 

 

2 Related Work

Knowledge Base Question Answering(KBQA)은 지식창고(KB)에서 검색된 관련 지식을 사용하여 기계가 질문에 답변할 수 있도록 하는 데 중점을 둡니다. 
KBQA의 접근 방식은 크게 (i) 텍스트 검색 기반 방법과 (ii) 지식 그래프 기반 방법의 두 가지 그룹으로 분류할 수 있습니다.

 

Knowledge Graph-based 방법은 질문 답변 영역에서도 널리 적용됩니다. KagNet은 질문과 답변 엔티티 간의 경로를 나타내는 스키마 그래프를 구성한 다음 GCN-LSTM-HPA 아키텍처로 인코딩합니다. 높은 정확도와 효과적인 모델 확장성을 모두 달성하기 위해 multi-hop 그래프 관계 네트워크(Multi-hop Graph Relation Network, Feng et al., 2020)는 경로 기반 추론 해석 가능성을 확장합니다. QA-GNN은 QA context vectors를 스키마 그래프의 토픽 엔티티에 연결합니다. DRAGON은 양방향을 위한 자기 지도 모델을 제안합니다. GreaseLM는 텍스트와 KG 통합을 위한 자기 지도 모델을 제안합니다. GNN과 같은 추가 모듈을 학습시키는 기존 작업과 달리, KSL은 LLM이 스스로 외부 지식 기반에서 필수 지식을 검색하도록 합니다.

 

 

 

3 Problem Definition

본 논문은 LLM이 도메인별 지식이 부족할 때 지식이 필요한 과제를 더 잘 수행할 수 있도록 돕는 것을 목표로 합니다. 지식 부족 문제를 완화하기 위해 LLM이 제공된 외부 지식과 상호 작용하고 정답을 도출할 수 있는 적절한 경로를 자발적으로 파악하도록 유도합니다. 

지식 그래프를 다관계 그래프 G = (V, E)로 정의합니다. 여기서 V는 KG의 엔티티 노드 집합이고, E ∈ V × R × V는 V의 노드를 연결하는 에지 집합이며, 여기서 R은 관계 유형 집합을 나타냅니다.

 

 

4 Method

KSL은 먼저 주어진 질문 답변 선택 쌍 [q, A]에 대해 KG에서 관련 하위 그래프 G(sub)를 검색합니다. 그런 다음 G(sub)를 텍스트 프롬프트 TK로 인코딩하여 LLM에 지식을 주입하고, 대화형 추론을 초기화하여 LLM이 스스로의 능력을 활용하여 필요한 지식을 검색하고 최종 목표를 달성하도록 유도합니다.

 

4.1 Knowledge Solver Zero-Shot Reasoning

질문 답변과 같이 도메인별 지식이 필요한 작업을 모델이 수행할 수 있도록 돕기 위해 외부 지식을 LLM에 주입합니다. 검색된 각 하위 그래프 G(sub)에 대해 LLM에 공급되는 텍스트 prompt TK로 변환하고, LLM의 일반화를 활용하여 필요한 정보를 스스로 검색하도록 합니다.

 

문제 q와 답안 집합 A = [a1, ..., aN ](여기서 N은 답안의 총 개수)이 주어지면 G(sub)를 검색하고 이를 외부 지식으로 간주합니다. G(sub)에는 모든 문제 개체 Vq, 모든 답안 선택 개체 Va, 중간 개체 및 개체 간의 해당 관계 R이 포함됩니다. 질문 답변을 위한 LLM의 추론 과정을 초기화하기 위해 먼저 LLM에 대해 질문 vq ∈ Vq를 무작위로 선택한 다음, 최종적으로 답변 실체 va ∈ Va 중 하나에 도달할 때까지 LLM이 자신의 판단에 따라 경로를 선택하도록 합니다. 

 

각 라운드 동안 현재 head entity vh와 연결된 모든 head entity Vt = [vt1, ..., vtN ] 및 해당 관계 Rht = [rht1, ..., rhtN ]를 text prompt에 넣어 외부 지식의 존재를 LLM에 알립니다. 

LLM은 매개변수에 암시적으로 저장된 사전 지식과 질문 답변을 위한 관계와 같은 text prompt 형태의 명시적 외부 지식을 바탕으로 다음 라운드의 head entity로 가장 가능성이 높은 tail entity를 선택하게 됩니다. 그런 다음, 이 엔티티 선택 프로세스는 answer entity v(a) 중 하나가 선택될 때까지 반복됩니다.

 

4.2 Knowledge Solver Finetuning

파인튜닝시 input에 추가적인 정보를 통해 추론을 높힐 수 있다

 

튜닝의 입력 및 응답 형식은 Knowledge Solver Zero-Shot Reasoning에서 설명한 것과 동일합니다.
검색된 각 하위 그래프 G(sub)를 질문 엔티티 v(q)에서 시작하여 여러 input-response 쌍으로 변환합니다.

 

 

5 Experiment

5.1 Datasets

세 가지 질문-답변 데이터 세트에 대한 지식 해결사 접근 방식을 평가합니다: CommonsenseQA, OpenbookQA, MedQA-USMLE.

  • CommonsenseQA → 상식
  • Open-BookQA → 상식
  • MedQA-USMLE → 의학

 

5.3 Implementation & training details

 

Knowledge Solver zero-shot reasoning. 표 1에서 볼 수 있듯이 knowledge solver(KSL)는 LLM 베이스라인과 LLaMA 2-7B를 비교적 큰 폭으로 향상시킬 수 있습니다,

이는 다음을 나타냅니다:
1) 지식이 필요한 작업을 수행하는 모델에 도움이 될 수 있습니다
2) LLM은 외부 지식이 제공될 때 필요한 정보를 스스로 검색할 수 있는 특정 능력을 보유하고 있습니다. 

도메인별 지식이 필요한 각 시나리오에 대해 adapter를 학습시키려면 많은 계산 및 시간 비용이 소요됩니다. 반면, Knowledge Solver zero-shot reasoning는 외부 지식만 제공하면 도메인 지식이 필요한 작업을 수행할 수 있는 LLM의 자체적인 능력을 활용할 수 있습니다. 이를 통해 LLM이 외부 지식과 상호 작용하여 최종 목표를 달성할 수 있습니다.

 

 

 

6 Conclusion

LLM이 도메인별 지식이 필요한 작업을 zero-shot and finetuning 방식으로 더 잘 수행할 수 있도록 지원하는 Knowledge Solver(KSL)를 제안합니다. 

외부 지식이 제공되면 LLM은 추가 교육이나 모듈 없이도 필요한 지식과 정보를 검색하여 관련 작업을 수행할 수 있는 자체적인 능력을 활용할 수 있습니다. 

대화형 추론 방식은 LLM에 지식을 명시적으로 주입할 수 있을 뿐만 아니라 LLM이 작업을 해결하도록 안내할 수도 있습니다. 

또한 instruction tuning 대신 특별히 설계된 inference method(제로 샷용)과 task(미세 튜닝용)를 통해 성능이 크게 향상됨을 입증했습니다.