RAG 검색 연산의 실행 특성 분석을 통한 최적화 가능성 연구

A Study on Optimization Possibilities through Analysis of Execution Characteristics of RAG Retrieval Operations

  • 박기현 (한양대학교 컴퓨터소프트웨어학과) ;
  • 이제운 (한양대학교 컴퓨터소프트웨어학과) ;
  • 서지원 (한양대학교 컴퓨터소프트웨어학과)
  • Gihyun Park (Dept. of Computer Science, Hanyang University) ;
  • Jewoon Lee (Dept. of Computer Science, Hanyang University) ;
  • Jiwon Seo (Dept. of Computer Science, Hanyang University)
  • 발행 : 2024.10.31

초록

본 연구는 Retrieval-Augmented Generation (RAG) 시스템에서 검색 연산의 실행 성능을 관측/분석하고, 추가적인 실행 성능 최적화 가능성을 탐구한다. RAG 는 대규모 언어 모델(LLM)의 한계를 보완하기 위해 외부 데이터베이스에서 관련 정보를 검색하여 모델의 답변 품질을 향상시키는 기술이며, RAG 시스템에서 가장 많이 사용되는 연산은 검색 연산이다. 본 연구에서는 대표적인 벡터 데이터베이스 중 FAISS 와 Chroma 두 개를 선택하여, 여러 실행 조건들의 변화에 따른 지연 시간 변화를 분석하였다. 두 벡터 데이터베이스의 다른 최적화 방식이 대규모 벡터 데이터베이스에서 각각 다른 특성을 가지는데, FAISS 의 경우 데이터베이스의 크기 변화에 덜 민감하고, Chroma 는 특정 구간 안에서는 지연 시간이 증가하다 임계치를 넘어가면 감소하고 다시 증가하는 패턴을 보인다. 본 연구에서는 이에 대한 원인을 분석하여 RAG 시스템의 검색 연산의 더 세밀한 최적화 가능성을 제시한다.

키워드

과제정보

본 연구는 과학기술정보통신부 및 정보통신기획평가원의 대학 ICT 연구센터사업의 연구결과로 수행되었음(IITP-No.2024-2021-0-01817, No.RS-2020-II201373, No.2022-0-00498)

참고문헌

  1. Brown, Tom B, "Language models are few-shot learners.", arXiv preprint arXiv:2005.14165, 2020.
  2. Devlin, Jacob, "Bert: Pre-training of deep bidirectional transformers for language understanding.", arXiv preprint arXiv:1810.04805, 2018.
  3. Dubey, Abhimanyu, et al, "The llama 3 herd of models.", arXiv preprint arXiv:2407.21783, 2024.
  4. Lewis, Patrick, et al, "Retrieval-augmented generation for knowledge-intensive nlp tasks.", Advances in Neural Information Processing Systems 33, (2020): 9459-9474.
  5. Douze, Matthijs, et al. "The faiss library." arXiv preprint arXiv:2401.08281, 2024.
  6. Chroma is the open-source AI application database. Batteries included., https://www.trychroma.com/
  7. Almeida, Felipe, and Geraldo Xexeo, "Word embeddings: A survey.", arXiv preprint arXiv:1901.09069, 2019.
  8. Chroma Technical Report, https://research.trychroma.com/evaluating-chunking
  9. Faiss indexes, https://github.com/facebookresearch/faiss/wiki/Faiss-indexes