랩터는 데이터를 구축하고 사용자 질의를 처리하는 방식에서 기존 RAG와 차별점을 두지만, 임베딩 차원 축소 과정에서 정보 손실이 발생할 수 있다는 의문이 제기됨 🤔
랩터는 고차원 임베딩을 저차원으로 축소하여 클러스터링을 수행하고, 클러스터 요약 정보를 활용해 계층적인 청크 임베딩을 구축하는 방식임. 사용자 질의는 추상적인 수준에 따라 요약된 정보 또는 원문 청크와 유사도를 비교하여 검색 결과를 도출함 🔎
랩터 사용 시 컨텍스트가 상이한 문서 청크들이 군집화되는 문제, 유사한 시멘틱 구조를 가진 문서들이 반복되어 군집화되는 문제 등이 발생할 수 있음에 유의해야 함 ⚠️
임베딩 모델은 코사인 유사도에 맞춰 학습되므로, 랩터에서 군집화 시 코사인 유사도를 활용한 HAC(Hierarchical Agglomerative Clustering) 알고리즘을 사용하는 것이 적합함. 하지만 유맵(UMAP)을 이용한 차원 축소는 정보 손실을 야기하고, 유클리드 거리 기반의 K-means 군집화는 임베딩 모델의 특성과 맞지 않아 부적절함 ❌
랩터 논문에서는 특정 데이터셋에 맞춰 검색 성능 향상을 보였지만, 실제 기업 데이터에서는 컨텍스트 불일치, 유사 시멘틱 등의 문제로 랩터가 잘 작동하지 않는 경우가 많음 😥
유맵(UMAP)은 데이터셋에 새로운 데이터가 추가될 때마다 전체 과정을 다시 수행해야 하므로, 실시간 데이터 업데이트가 잦은 환경에서는 비효율적임 🔄
랩터는 데이터 구조에 따라 유용할 수 있지만, 일반적인 기업 데이터에는 적합하지 않을 수 있으며, 클러스터링 자체의 유효성에 대한 근본적인 의문이 존재함 ❓