추천시스템의 ReRank, Vector DB 등 다양한 방법을 식별하고 탐색
1. 서론
대규모 언어모델(Large Language Models, LLMs)은 최신 정보 부족이나 사실을 날조하는 경향이 있습니다. 이런 문제를 해결하기 위해 Retrieval-augmented Generation (RAG) 기술을 사용하여 사전 학습 및 검색 기반 모델의 장점을 결합하고 있습니다. RAG는 특정 조직과 도메인에 빠르게 적용 가능하며, 문서가 제공되는 한 모델 파라미터의 업데이트 없이도 사용할 수 있습니다.
2. 관련 연구
LLMs의 정확성 확보는 필수적이지만, 모델 크기를 확장하는 것만으로는 지식 집약적 작업에서 발생하는 환각(hallucinations) 문제를 근본적으로 해결하지 못합니다. 이에 RAG는 외부 지식베이스에서 문서를 검색하여 LLMs에 정확하고 실시간, 도메인 특화된 맥락을 제공합니다. 이전 연구들은 검색과 생성 프로세스의 상호 작용을 개선하기 위해 RAG 파이프라인을 최적화했습니다.
3. RAG 워크플로
RAG 워크플로는 다음과 같은 여러 단계로 구성됩니다.
3.1 쿼리 분류
3.2 문서 분할(Chuncking)
문서를 더 작은 세그먼트로 청킹하는 것은 검색 정확도를 향상시키고 LLM에서 문서 길이로 인한 문제를 방지하는 데 필수적입니다. 이 과정은 토큰, 문장, 의미론적 수준에서 다양한 세밀도로 적용될 수 있습니다.
이 프로세스는 토큰, 문장 및 의미 수준과 같은 다양한 수준의 세분성에 적용될 수 있습니다.
이 연구에서 문장 수준 청킹, 단순성과 의미 보존의 균형을 이루며, 4차원에서 청킹을 조사합니다.
3.2.1 청크(Chunk) 크기
청크 크기는 성능에 상당한 영향을 미칩니다. 큰 청크는 맥락을 제공하여 이해를 돕지만 처리 시간을 증가시킵니다. 반면, 작은 청크는 검색 Recall을 향상시키고 시간을 줄일 수 있으나 충분한 맥락을 제공하지 못할 수 있습니다.
Faithfulness
\[\text{Faithfulness} = \frac{\text{Matched Responses}}{\text{Total Responses}} \times 100\%\]Relevancy
\[\text{Relevancy} = \frac{\text{Matched Texts}}{\text{Total Retrieved Texts}} \times 100\%\]3.2.2 청크 테크닉
청크 테크닉은 작은 청크로 쿼리를 매칭시키고, 이 작은 청크를 포함한 더 큰 청크를 맥락 정보와 함께 반환하여 검색 품질을 향상시킵니다. 이는 맥락을 유지하고 관련 정보를 검색하는 데 도움이 됩니다.
3.2.3 임베딩 모델 선택
적절한 임베딩 모델을 선택하는 것은 쿼리와 청크 블록 간의 의미론적 매칭에 중요합니다. FlagEmbedding5 평가 모듈을 사용하여 적절한 오픈 소스 임베딩 모델을 선택했습니다.
3.2.4 메타데이터 추가
메타데이터를 청크 블록에 추가하는 것은 검색을 향상시키고, 검색된 텍스트의 후처리 방법을 더욱 다양화하며, LLM이 검색된 정보를 더 잘 이해할 수 있도록 도움을 줍니다.
3.3 벡터 데이터베이스
벡터 데이터베이스는 임베딩 벡터와 메타데이터를 저장하며, 다양한 인덱싱 방식과 근접 이웃 검색(ANN)을 통해 관련 문서를 효율적으로 찾습니다. 연구에서는 인덱스 유형 다양성, 수십억 규모의 벡터 처리 능력, 하이브리드 검색 지원, 클라우드 네이티브 기능을 중점 기준으로 하여 여러 벡터 데이터베이스를 평가했습니다. 평가 결과, Milvus가 가장 포괄적인 솔루션으로 나타났으며, 모든 필수 기준을 만족시키고 다른 옵션보다 우수한 성능을 보였습니다. 이 기준은 클라우드 기반 인프라에서의 유연성, 확장성, 배포 용이성에 중점을 두고 선정되었습니다.
RAG 구현의 핵심적인 수학적 문제는 쿼리와 문서 간의 의미적 일치를 최대화하는 임베딩 벡터를 생성하는 것입니다. 이를 위해 다음과 같은 최적화 문제를 고려할 수 있습니다.
\[\text{maximize} \quad \text{similarity}(\text{embedding}(query), \text{embedding}(document))\]$\text{similarity}$는 코사인 유사도나 다른 유사도 측정 기준을 사용할 수 있습니다.
이 최적화 과정에서 임베딩 모델의 선택과 파인튜닝이 중요한 역할을 하며, 이 최적화가 검색된 문서의 품질과 생성된 응답의 정확성이 직접적인 영향을 주는 것으로 알려져있습니다.
벡터 데이터베이스는 메타데이터와 함께 임베딩 벡터를 저장하여, 다양한 인덱싱 및 근사 최근접 이웃(ANN) 방법을 통해 쿼리에 관련된 문서를 효율적으로 검색할 수 있게 합니다.
연구를 위한 적절한 벡터 데이터베이스 선택
여러 벡터 데이터베이스를 다음 네 가지 주요 기준에 따라 평가하였습니다. 다양한 인덱스 유형, 수십억 규모의 벡터 지원, 하이브리드 검색, 클라우드 네이티브. 이 기준들은 데이터베이스의 유연성, 확장성 및 클라우드 환경에서의 통합 용이성을 평가하는 데 중요합니다.
벡터 데이터베이스 비교 (표 5)
3.4 검색 방법
사용자 쿼리에 기반하여 검색 모듈은 사전 구축된 코퍼스에서 상위-k개의 관련 문서를 선택합니다. 이때, 쿼리와 문서 간의 유사성에 따라 문서를 선택합니다. 그러나 원래의 쿼리는 종종 표현의 부족이나 의미 정보의 결여로 인해 성능이 저하됩니다. 이 문제를 해결하기 위해 다음 세 가지 쿼리 변환 방법을 평가하였습니다.
3.4.1 검색 방법의 결과
3.4.2 HyDE with Different Concatenation of Documents and Query
섹션 3.4.2에서는 HyDE를 이용한 다양한 문서 연결 및 쿼리 전략에 대한 연구 결과를 다룹니다. 표 7은 여러 가상 문서를 원래 쿼리에 연결했을 때 검색 성능이 향상되지만, 이로 인해 대기 시간도 증가하는 것을 보여줍니다. 이는 검색의 효과와 효율성 사이에 상충 관계가 있음을 시사합니다. 또한, 가상 문서의 수를 무차별적으로 늘릴 경우, 이점이 크지 않고 오히려 대기 시간이 길어지므로, 단일 가상 문서의 사용이 충분하다는 결론을 제시합니다. 이 연구는 가상 문서와 쿼리의 연결 전략을 최적화하는 데 중요한 통찰을 제공합니다.
3.4.3 하이브리드 검색의 가중치 조정
하이브리드 검색에서의 가중치 $\alpha$는 스파스 검색과 밀집 검색의 비율을 조절합니다.
\[S_h = \alpha \cdot S_s + S_d\]$\alpha = 0.3$에서 최적의 성능을 달성했습니다.
3.5 재순위 방법
초기 검색 이후에는 재순위 단계가 진행됩니다. 이 단계에서는 더 정밀하고 시간이 많이 소요되는 방법을 사용하여 문서를 효과적으로 재정렬합니다. DLM 재순위와 TILDE 재순위 두 가지 접근 방식을 고려하였습니다.
각 섹션은 해당 분야의 기술적 세부사항과 논리적 흐름을 유지하면서 구성되어 있습니다. 이런 구조는 각 방법이 어떻게 상호 작용하고 성능에 영향을 미치는지 명확하게 이해하는 데 도움을 줍니다.
3.6 Document Repacking
Document repacking은 재순위화 단계 후 문서의 순서를 재조정하여 LLM의 응답 생성에 미치는 영향을 최소화하는 기법입니다. 세 가지 주요 방법이 제안되었습니다.
3.7 Summarization
요약은 중복이나 불필요한 정보를 제거하고, 문서에서 가장 중요한 정보만을 추출하거나 재구성하여 LLM에 제공하는 과정입니다. 이 과정은 다음 두 가지 주요 방법으로 이루어집니다.
3.8 Generator Fine-tuning
생성기의 fine-tuning은 특정 쿼리에 대한 반응을 최적화하기 위해 관련 컨텍스트 또는 무관한 컨텍스트를 사용하여 이루어집니다. 이 과정은 다음과 같이 정의됩니다.
컨텍스트 \(\mathcal{D}\)는 다음 네 가지 유형으로 구성될 수 있습니다.
이런 다양한 구성을 통해 모델이 관련 및 무관한 정보에 어떻게 반응하는지 테스트하고, 결과적으로 생성기의 견고성과 관련 컨텍스트의 효율적 활용을 증진할 수 있습니다.
4 최적의 RAG 실행 방법 탐색
이 섹션에서는 RAG(검색-증강 생성) 시스템을 위한 최적의 실행 전략을 탐구합니다. 초기 설정에 따라 각 모듈을 세밀하게 조정하고 평가하면서 구조화된 반복적 접근 방식을 사용합니다. 이 과정은 모듈별로 순차적 최적화를 포함하며, 시스템 전체 성능에 미치는 영향을 평가하여 요약 모듈에 대한 가장 효과적인 설정을 확정하는 것을 목표로 합니다.
4.1 종합 평가
데이터 및 벤치마킹
다양한 자연어 처리(NLP) 작업 및 데이터셋을 통해 실험이 수행되었습니다.
실험은 일련의 NLP 작업을 대상으로 실시되며, 각 작업의 세부사항은 Appendix A.6에서 확인할 수 있습니다. 작업은 다음과 같습니다.
이 데이터셋에서 추출된 하위 집합에 대한 RAG 기능은 RAGAs [51]에서 권장하는 메트릭을 사용하여 평가되었습니다. 이 메트릭에는 충실도, 맥락 적합성, 답변 적합성, 답변 정확성이 포함됩니다. 또한, 검색된 문서와 골드 문서 사이의 코사인 유사도를 계산하여 검색 유사성을 측정했습니다.
평가 지표
4.2 Results and Analysis
분석 절차와 수학적 정의
이 섹션은 RAG 시스템의 각 모듈별 성능을 평가하고, 수학적 모델을 통해 성능 개선을 측정합니다.
성능 개선: 전체 점수는 \(0.428\)에서 \(0.443\)으로 향상되었으며, 지연 시간은 \(16.41\)초에서 \(11.58\)초로 감소
\[\Delta \text{Score} = 0.443 - 0.428, \quad \Delta \text{Latency} = 16.41s - 11.58s\]효율성 증가 원인: 쿼리를 보다 효과적으로 분류하여 검색 및 재순위화 과정을 최적화함.
Hybrid with HyDE 방법
\[\text{RAG Score} = 0.58\]MonoT5의 효과
\[\text{Average Score} = \text{highest among tested methods}\]중요성: 문서의 관련성을 강화하여 응답의 질을 향상시키는 데 필수적임을 강조.
Reverse 구성
\[\text{RAG Score} = 0.560\]쿼리와 관련성이 높은 문서를 가까이 배치하는 것이 최적의 결과를 가져옴을 시사
Recomp의 성능
\[\text{Comparative Performance} = \text{superior}\]시간 대비 성능: 시간에 민감한 상황에서 요약 모듈을 생략할 수 있으나, Recomp는 제한된 길이를 효과적으로 처리할 수 있는 능력 때문에 선호됨.
5 Discussion
5.1 Best Practices for Implementing RAG
5.2 Multimodal Extension
6. 향후 계획