https://arxiv.org/abs/2308.11730?source=post_page-----ab5c4006a429--------------------------------
Concept
- 여러 Document들을 KG로 저장하는 방법에 대해서 제안하였다.
- KG traversal agent를 통한 On-Demand Retrieval방식을 제안하였다.
Problem
- 최신 Multi-Document 대상의 QA를 해결하기 위해 multi-hop retrieval을 채택해서 해결하려고 함.
- 이는 LLM모델에게 지속적인 질의를 해야하기 때문에 latency를 발생시킴
- 또한 Document간의 연관 관계를 LLM이 전부 해석해야함.
이를 해결하기 위해 Multi-Document를 바탕으로 KG를 구축하여 Retrieval과정에서 단순히 Embedding Vector에만 의존하는게 아니라 KG의 지식 구조를 이용하고자 함.
KG Construction
Node : 문서나 문서 구조를 나타낸다.
Edge : 문서 사이의 연관 관계를 나타내는 역할을 한다.
Node 추출 방식
- Document에 있는 passage, page, table등을 Node화 시킨다.
Edge 추출 방식
본 논문에서 Edge의 경우 2가지의 관계를 나타낸다.
1) lexical similarity : passage들 사이에서 공유되고 있는 단어들이 있다면 두 passage는 edge를 가지게 된다.
- TF-IDF : TF-IDF방식을 사용해서 passage의 keyword를 추출하고 문서의 제목과 함께 키워드 공간을 형성한다.
- TAGME : Wikipedia Entity를 기반으로 passage에서 Entity를 추출하고 keyword space를 제작한다.
이후 문서들간의 keyword space를 비교하여 lexical similarity에 대한 Edge를 연결한다.
2) semantic similarity : passage들이 가지는 의미가 유사한 경우 두 passage들은 edge를 가지게 된다.
- KNN-ST : passage를 sentence-transformer를 이용해서 embedding 한후 이를 knn을 통해 clustering하여 semantic similarity edge를 추가한다.
- 이는 domain-specific한 document의 의미를 충분히 반영하지 못한다.
- KNN-MDR : encoder모델을 passage들에 sentence와 next-sentence사이의 embedding vector가 유사하게끔 pre-training을 시키고 이를 이용해서 KNN-ST와 같은 방식으로 semantic similarity edge추가한다.
LLM-based KF Traversal Agent
Graph에서 유의미한 정보를 Retrieve하기 위해서 다음과 같은 과정을 거치게끔 만들었다.
1. LLM으로 하여금 사용자의 질문이 KG에 대한 Retrieve가 필요한지 판단하게끔 한다.
2. 만약 Retrieve가 필요하다면 질문에서 어떤 구조(page, table)가 필요한지 찾아낸다.
3. TF-IDF를 통해 초기 Node를 선정한다.
4. 해당 노드의 Neighbor Node를 추출하여 Queue에 넣어둔다.
5. Neighbor Node들에 대해서 LLM-basd graph traversal agent로 하여금 rank를 매기게 한다.
6. top-k passge를 가져와 해당 top-k에 대해서 4번부터 6번의 과정을 진행한다.
이 과정은 queue가 비게 되거나 prefixed budget을 넘게 되면 멈추게 된다.
여기서 Top-K passage를 고르기 위해서 이전까지 방문했던 passage들에 대한 embedding vector와 이번에 방문하게 되는 passage의 embedding vector간의 유사도를 이용해서 구하게 된다.
f와 g를 선택하는데 있어서 Encode based Model(Roberta-base)과 Encoder-Decoder based Model(T5)이 모두 고려되어졌다.
Result
1) KGP vs MD-QA Baseline
HotpotQA처럼 KG의 shortcut을 탐색하면서 정보를 추출하는 것만으로 답변이 가능한 경우 KG를 활용하는 방식이 더 좋은 성능을 보이지만 IIRC처럼 보다 복잡한 지식 관계를 요구하는 Task에서는 기존의 방식이 좀 더 좋은 성능을 보이는 것을 알 수 있다.
2) KG Construction
- KG Density의 증가는 F1/EM의 향상을 가져오지만 Latency는 증가시킨다
- KNN-MDR은 KNN-ST보다 promising neighbor간의 Relation을 더 많이 만들어준다..
- 이는 Encoder모델이 pretrain이 된 Space가 KNN-MDR이 더 Domain specific하기 때문이다.
- TAGME는 다른 방식 대비 KG의 Density를 증가시킨다.
3) LLM-Agent
- Llama보다 T5의 성능이 더 좋았다. 이는 논문저자 말을 빌리면 T5의 parameter수가 적어서 적은 데이터로 더 좋은 학습 효과를 냈기 때문이라고 이야기한다.
Conclusion
- 비정형 데이터에 대해서 KG를 구축하는 아이디어를 제안했다.
- KG traversal agent를 제안하였다.
Multi-Hop문제를 해결하기 위해 KG를 구축하고 traversal agent를 제안한 흥미로운 논문이다.
IIRC에서 MDR보다 안 좋은 성능을 내는 것은 아쉬운 사실이지만 현실에서 모두 MDR방식을 사용할 수 없을 수 있기에 해당 방향을 연구를 해보는 것도 유의미하다고 생각이 든다.
'인공지능 > LLM' 카테고리의 다른 글
[LLM] SELF-RAG: Learning to Retrieve, Generate and Critique through Self-reflect (1) | 2024.02.13 |
---|---|
[LLM] Seven Failure Points When Engineering a Retrieval AugmentedGeneration System (0) | 2024.01.29 |
[LLM] Paged Attention (1) | 2024.01.28 |
[LLM] Flash Attention (0) | 2024.01.22 |