-
[논문리뷰] RAPTOR: Recursive Abstractive Processing for Tree-Organized Retrieval(2024)카테고리 없음 2024. 4. 17. 22:51
1. 요약
- 기존의 검색 증강 LM 방식은 연속된 짧은 청크만 검색하므로 전체 문서 컨텍스트에 대한 이해가 부족
- 청크를 재귀적으로 클러스터링, 요약하여 다양한 추상화 수준의 노드 트리를 구축
- RAPTOR는 노드 트리에서 정보를 검색하여 긴 문서의 정보 파악에 유리
- RAPTOR는 여러 Task에서 기존의 검색 증강 LM 보다 우수하며, QuALITY 벤치마크의 최고 성능을 20% 향상
2. 도입
- LLM을 도메인 질의응답에 활용하기 위해 텍스트를 청크(단락)로 분할 후 색인화 함
- 이러한 방식은 짧은 몇 개의 청크만을 검색하기 때문에 전체 맥락의 구조를 이해하는데 한계가 있음. 예를들어 "신데렐라는 어떻게 해피 엔딩에 도달했나요?" 라는 질문에 답하기 어려움
- RAPTOR는 트리 구조를 사용하여 텍스트의 상위 수준과 하위 수준의 정보를 모두 파악하는 색인/검색 시스템을 제안
- RAPTOR는 청크를 클러스터링하고, 클러스터의 요약을 생성한 다음, 다시 클러스터링하는 과정을 반복하여 아래에서 위로 점차 추상화된 노드 트리를 구축함
- RAPTOR는 현재의 검색 증강보다 성능이 뛰어남
- 3가지 QA 벤치마크(NarrativeQA, QASPER, QuALIT)에서 SOTA 달성
3. 제안
3.1 Overview
- RAPTOR는 청크를 재귀적 트리 구조로 구축하여 컨텍스트 전체 맥락의 이해와 세부 정보 파악의 균형을 유지
- 노드 트리의 구축은 아래 절차를 따름
① [청킹] 문서를 100 토큰 단위로 분할한 청크 생성
: 청킹시 문장을 보존하여 문맥적, 의미론적 정보 보존
② [임베딩] 청킹 임베딩. multi-qa-mpnet-base-cos-v1(SBERT)사용
: 최초 청크&임베딩은 트리 구조의 리프 노드가 됨
③ [클러스터링] 클러스터링 알고리즘을 사용하여 유사한 노드를 그룹화
④ [요약] 클러스터링이 완료되면 언어 모델을 사용하여 그룹화된 텍스트를 요약
⑤ [임베딩] 요약된 텍스트를 임베딩
이후 ③, ④, ⑤를 반복 실행하고 더이상 클러스터링이 불가능해지면 노드 트리 완성
- 노드 트리에서 사용자 질문에 대한 정보를 Retrieve 하기 위해 Tree traversa, Collapsed tree 두 가지 전략 수행
① Tree traversal : 트리를 계층별로 탐색하여 각 수준에서 가장 관련성이 높은 노드를 가지치기하고 선택
② Collapsed tree : 모든 계층에서 노드를 종합적으로 평가하여 가장 관련성이 높은 노드를 검색
3.2 Clustering Algorithm
- 클러스터링시 노드가 여러 클러스터에 속할 수 있는 소프트 클러스터링 적용
- 클러스터링 알고리즘은 유연성과 확률적 프레임워크를 모두 제공하는 접근 방식인 가우스 혼합 모델(GMM) 적용
3.3 Model-Based Summarization
- 가우스 혼합 모델을 사용하여 노드를 클러스터링한 후, 각 클러스터의 노드는 gpt-3.5-turbo로 요약
- 요약을 통해 검색된 대량의 정보를 관리 가능한 크기로 압축
3.4 Querying
- 노드 트리에서 사용자 질문에 대한 정보를 Retrieve 하기 위해 Tree traversal, Collapsed tree 두 가지 전략 수행
3.4.1 Tree traversal
① 노드 트리의 루트에서 시작. 코사인 유사도가 가장 높은 Top k의 루트 노드 집합 S1 생성
② S1 집합에 있는 노드들의 자식 노드중 유사도가 가장 높은 노드 집합 S2 생성
③ 이 프로세스를 d개의 레이어까지 재귀적으로 실행하여 생성된 S1~Sd를 컨텍스트 정보로 사용
- 각 계층에서 선택한 깊이 d와 노드 수 k를 조정함으로써 검색된 정보의 구체성과 폭을 제어할 수 있음
- 트리의 최상위의 전반적인 맥락 정보에서 하위 계층의 세밀한 정보까지 컨텍스트로 활용가능
3.4.2 Collapsed tree
- 노드 트리의 계층별 이동이 아니라, 모든 노드를 단일 계층으로 평평하게 만든 후 Retrieve
- 유사도가 높은 Top k 노드 선택시 LLM의 최대 토큰 수에 도달할 때까지 노드를 추가
- Tree traversal 대비 전반적으로 성능이 좋음 => 해당 방법을 Default로 사용
4. 평가
4.1 데이터 세트
- NarrativeQA, QASPER, QuALITY의 3가지 질문-답변 데이터셋에 대해 테스트
① NarrativeQA : 질문에 정확하게 답하기 위해 전체 내러티브에 대한 포괄적인 이해가 필요
② QASPER : 답변 유형이 답변 가능/불가능, 예/아니오, 추상적, 추출로 분류
③ QuALITY : 객관식 질문으로 구성되며, 질문당 약 5,000 토큰의 문맥 구절이 제공
4.2 평가1
- SBERT, BM25, DPR 세가지 Retrieve 모델에 대해 RAPTOR 적용 유무에 따른 성능을 비교
- RAPTOR 적용시 모든 데이터 세트에서 일관되게 우수한 성능을 발휘
- SBERT with RAPTOR가 가장 성능이 좋음
4.3 평가2
- 데이터셋별 기존 SOTA 모델과 비교
- QASPER, QuALITY 데이터셋에서 SOTA 달성
- NarrativeQA 데이터셋의 METHEOR 점수 SOTA 달성5. 결론
- LLM의 파라메트릭 지식을 다양한 추상화 수준의 문맥 정보로 보강하는 새로운 트리 기반 검색 시스템인 RAPTOR를 제안
- 재귀적 클러스터링 및 요약 기법을 사용하여 다양한 컨텍스트 정보를 종합할 수 있는 계층적 트리 구조를 생성하고 검색에 활용
- 기존 검색 방법보다 성능이 뛰어날 뿐만 아니라 여러 질문 답변 작업에서 새로운 성능 벤치마크를 달성
# 참고한 자료
https://arxiv.org/html/2401.18059v1
RAPTOR: Recursive Abstractive Processing for Tree-Organized Retrieval
Large Language Models (LLMs) have emerged as transformative tools showing impressive performance on many tasks. With the growing size of LLMs, they can serve standalone as very effective knowledge stores, with facts encoded within their parameters (Petroni
arxiv.org