계층형 엔터티 트리를 활용한 고속 RAG 알고리즘

계층형 엔터티 트리를 활용한 고속 RAG 알고리즘
안내: 본 포스트의 한글 요약 및 분석 리포트는 AI 기술을 통해 자동 생성되었습니다. 정보의 정확성을 위해 하단의 [원본 논문 뷰어] 또는 ArXiv 원문을 반드시 참조하시기 바랍니다.

초록

**
본 논문은 트리 구조 기반의 Retrieval‑Augmented Generation(T‑RAG)에서 발생하는 검색 비용을 크게 감소시키기 위해 Cuckoo Filter를 변형한 CFT‑RAG를 제안한다. 엔터티를 지문(fingerprint) 형태로 저장하고, 온도 변수와 블록 연결 리스트를 도입해 자주 조회되는 엔터티를 버킷 앞쪽에 배치함으로써 O(1) 시간 복잡도를 달성한다. 실험 결과, 대규모 트리 환경에서 기존 Naïve T‑RAG 대비 수백 배 빠른 검색 속도를 보이며, 생성 품질은 유지한다.

**

상세 분석

**
CFT‑RAG는 기존 Tree‑RAG가 직면한 “엔터티 위치 탐색” 병목을 데이터 구조 차원에서 해결한다. 핵심 아이디어는 Cuckoo Filter의 고속 멤버십 검사와 동적 삽입/삭제 특성을 활용해 엔터티 트리의 노드 주소를 압축 저장하는 것이다. 논문은 먼저 엔터티를 12비트 지문으로 변환하고, 두 개의 해시 함수 h(x)와 h(f(x))를 이용해 후보 버킷(i₁, i₂)을 산출한다. 기존 Cuckoo Filter와 동일하게 빈 슬롯이 있으면 바로 삽입하고, 없을 경우 최대 MaxNumKick 번까지 킥‑아웃을 수행한다. 여기서 차별화된 설계가 두 가지 있다. 첫째, 각 엔터티에 ‘온도(temperature)’ 변수를 부여해 접근 빈도를 기록한다. 삽입 시 온도가 높은 엔터티는 버킷 내 앞쪽에 배치되도록 정렬하며, 이는 선형 탐색 시 평균 조회 횟수를 크게 감소시킨다. 둘째, 엔터티가 트리 내 여러 위치에 존재할 경우 이를 블록 연결 리스트(block linked list) 형태로 저장한다. 블록 리스트는 주소 블록을 연속 메모리 조각에 묶어 메모리 단편화를 최소화하고, 랜덤 접근 시 필요한 포인터 이동 횟수를 줄인다. 이러한 설계는 공간 효율성도 높인다. 12비트 지문과 온도, 포인터를 한 엔트리에 압축함으로써 기존 Bloom Filter 대비 낮은 false‑positive 비율과 삭제 가능성을 동시에 제공한다.

성능 분석에서는 시간 복잡도를 O(1)로 명시하고, 실험에서는 트리 수가 수천에서 수만에 달하는 대규모 데이터셋에서 Naïve Tree‑RAG 대비 100배 이상, 최악의 경우 300배 이상 가속을 기록한다. 품질 측면에서는 Retrieval‑Augmented Generation 파이프라인에 동일한 프롬프트와 LLM을 사용했을 때 ROUGE‑L, BLEU 점수가 거의 차이가 없으며, 일부 도메인에서는 온도 기반 캐싱 효과로 미세하게 향상된 결과를 보였다.

또한, 논문은 Cuckoo Filter의 로드 팩터가 임계값을 초과하면 자동으로 두 배 확장하는 메커니즘을 활용해 메모리 사용률을 70~85% 수준으로 유지한다. 이는 대규모 트리 환경에서 메모리 부족 문제를 완화한다. 한계점으로는 온도 변수 업데이트가 빈번한 경우 추가적인 원자적 연산이 필요해 멀티스레드 환경에서 잠재적 경쟁이 발생할 수 있다는 점을 언급한다. 향후 연구에서는 lock‑free 설계와 온도 값의 지수적 감쇠 기법을 도입해 이러한 문제를 해결하고, 그래프‑RAG와의 비교 실험을 확대할 계획이다.

**


댓글 및 학술 토론

Loading comments...

의견 남기기