검색 시스템을 위한 Document Splitting
·
AI/검색 시스템
검색 시스템은 방대한 양의 데이터를 처리하여 사용자에게 적절한 정보를 제공하는 데 중점을 둡니다. 하지만 모든 데이터가 적절히 검색 가능한 형태로 저장되어 있지 않을 때, 검색 품질이 저하될 수 있습니다. 이를 해결하기 위한 핵심 기술 중 하나가 바로 Document Splitting입니다. 이 글에서는 Document Splitting의 개념, 필요성, 구현 사례를 다룹니다.  Document Splitting이란?Document Splitting은 큰 문서를 더 작은 단위로 나누는 프로세스를 의미합니다. 이 단위는 문장(Sentence), 문단(Paragraph), 또는 사용자가 정의한 특정 논리적 단위(예: 섹션, 챕터 등)일 수 있습니다.예를 들어, 10페이지에 걸쳐 있는 PDF 파일을 통째로 처..
ANN(Approximate Nearest Neighbor) 알고리즘의 이해 #3 DiskANN
·
AI/검색 시스템
Approximate Nearest Neighbor (ANN) 알고리즘은 고차원 데이터에서 가장 가까운 이웃을 빠르게 찾기 위한 중요한 기법입니다. ANN은 추천 시스템, 이미지 검색, 자연어 처리(NLP) 등 다양한 분야에서 사용됩니다. 이번 글에서는 DiskANN 알고리즘에 대해 살펴보고, 이 알고리즘이 대규모 데이터셋에서 효율적인 성능을 제공하는 이유를 설명하겠습니다. 왜 DiskANN인가?대부분의 주류 ANNS 알고리즘은 인덱스 구축 성능, 검색 성능 및 리콜 간에 일부 균형을 이룹니다. HNSW 및 NSG와 같은 그래프 기반 알고리즘은 현재 검색 성능 및 리콜 측면에서 최첨단 방법입니다. 메모리-resident 그래프 기반 인덱싱 방법은 메모리를 너무 많이 차지하므로, 제한된 메모리 리소스를 가..
ANN(Approximate Nearest Neighbor) 알고리즘의 이해 #2 Flat, LSH, IVF, HNSW + SQ, PQ, RPQ
·
AI/검색 시스템
벡터 검색과 ANN(Approximate Nearest Neighbor) 알고리즘은 대규모 데이터셋에서 유사한 항목을 빠르게 찾는 데 필수적인 기술입니다. 본 글에서는 다양한 벡터 검색 인덱스에 대해 소개합니다.  Flat Index모든 벡터를 직접 저장하며, Brute-Force 방식으로 검색합니다. 데이터셋 내의 모든 벡터를 비교하여 가장 가까운 결과를 반환하기 때문에 구현이 간단하며 정확도가 높습니다.인덱스 생성벡터의 차원을 설정합니다.모든 벡터를 데이터베이스에 추가하여 저장합니다.검색 방식쿼리 벡터를 입력합니다.저장된 모든 벡터와 비교하여 가장 가까운 이웃을 반환합니다.특징장점: 100% 정확한 결과를 반환. 모든 벡터를 비교하기 때문에 가장 가까운 이웃을 항상 정확히 찾습니다.단점: 대규모 데이..
ANN(Approximate Nearest Neighbor) 알고리즘의 이해 #1
·
AI/검색 시스템
새로운 영화를 고르거나 좋아하는 음악을 발견하는 과정은 이제 더 이상 어려운 일이 아닙니다. Netflix는 사용자가 선호할 만한 영화를 추천하고, Spotify는 개개인의 음악 취향을 분석해 알맞은 곡을 제안합니다. Google 이미지 검색은 비슷한 사진을 빠르게 찾아주며, 전자상거래 사이트에서는 구매 이력을 바탕으로 적합한 상품을 추천합니다. 이처럼 현대의 추천 및 검색 시스템은 우리의 삶을 편리하게 만들어 주고 있습니다.이 모든 기술의 중심에는 데이터를 분석하고 적합한 결과를 반환하는 Nearest Neighbor(NN) 알고리즘이 자리 잡고 있습니다. 하지만 NN 알고리즘은 데이터 양이 방대해질수록 모든 선택지를 하나하나 비교해야 하므로 속도가 급격히 느려지는 한계가 있습니다. 데이터를 효율적으로..
Retrieval 시스템을 위한 MTEB 벤치마크
·
AI/검색 시스템
정보 검색(IR) 시스템은 사용자의 쿼리에 응답하여 문서를 찾아주는 역할을 합니다. 이러한 시스템이 발전함에 따라, 기존 시스템을 분석하고 이해하기 위한 포괄적인 평가 방법의 필요성도 커졌습니다.텍스트 임베딩은 일반적으로 단일 작업에 대한 소수의 데이터셋을 기반으로 테스트되며, 이는 다른 작업에서의 성능을 충분히 보여주지 못합니다. 예를 들어, 의미적 텍스트 유사성(Semantic Textual Similarity, STS)에 최적화된 임베딩이 클러스터링이나 재정렬과 같은 작업에도 동일하게 효과적인지는 명확하지 않습니다. 이로 인해 새로운 모델과 임베딩 기법이 계속해서 제안되지만, 일관된 테스트가 이루어지지 않아 해당 분야에서의 발전을 평가하기 어렵습니다.이 문제를 해결하기 위해 연구자들은 Massive..
Retrieval 시스템을 위한 BEIR 벤치마크
·
AI/검색 시스템
정보 검색(IR) 시스템은 사용자의 쿼리에 응답하여 문서를 찾아주는 역할을 합니다. 이러한 시스템이 발전함에 따라, 기존 시스템을 분석하고 이해하기 위한 포괄적인 평가 방법의 필요성도 커졌습니다.BEIR(Benchmarking IR)는 다양한 작업과 정보 유형에 대해 검색 시스템의 성능을 평가하기 위한 도구입니다. 전통적인 벤치마크가 특정 작업이나 도메인에만 초점을 맞추는 것과 달리, BEIR는 여러 시나리오에서 다양한 정보 검색 모델을 테스트하는 이질적인 평가 프레임워크입니다. BEIR는 사실 확인, 질문 응답, 생물의학 정보 검색 등 다양한 작업을 위한 18개의 데이터셋을 포함하고 있고, 이러한 다양성 덕분에, BEIR는 현실 세계의 사용 사례에 가까운 방식으로 정보 검색 시스템의 범용성과 안정성을 ..
Retrieval을 위한 query generation 기반 Re-Ranker
·
AI/검색 시스템
최근 자연어 처리(NLP) 분야에서 대형 언어 모델(Large Language Models, 이하 LLM)의 성과가 눈부십니다. OpenAI의 GPT-4와 Google의 PaLM 2 같은 최신 LLM은 다양한 NLP 작업에서 뛰어난 제로샷(zero-shot) 성능을 입증하며 주목받고 있습니다. 이러한 성과는 단순한 질의응답을 넘어 텍스트 순위 매기기(text ranking)라는 새로운 응용 분야로 확장되고 있습니다.이전 포스트에서 LLM을 사용하여 도큐먼트의 ranking을 매기는 방법에 대해서 다루었으니, 관심 있으신 분들은 참고하시면 좋을 것 같습니다. Retrieval을 위한 zero-shot LLM Ranker앞서서최근 자연어 처리(NLP) 분야에서 대형 언어 모델(Large Language Mo..
Retrieval을 위한 zero-shot LLM Ranker
·
AI/검색 시스템
앞서서최근 자연어 처리(NLP) 분야에서 대형 언어 모델(Large Language Models, 이하 LLM)의 성과가 눈부십니다. OpenAI의 GPT-4와 Google의 PaLM 2 같은 최신 LLM은 다양한 NLP 작업에서 뛰어난 제로샷(zero-shot) 성능을 입증하며 주목받고 있습니다. 이러한 성과는 단순한 질의응답을 넘어 텍스트 순위 매기기(text ranking)라는 새로운 응용 분야로 확장되고 있습니다.특히, 초기의 제로샷 LLM 랭커는 주로 포인트와이즈(pointwise) 접근 방식을 따랐습니다. 이 방식은 하나의 질의(query)와 하나의 문서(document)에 대해 각각 점수를 계산한 후, 이를 바탕으로 문서를 순위별로 정렬합니다. Liang et al. (2023)와 Sacha..
Retrieval 시스템 평가 매트릭
·
AI/검색 시스템
정보 검색(Information Retrieval) 시스템의 성능은 다양한 메트릭으로 평가됩니다. 여기서는 주요 개념과 지표를 간단히 설명합니다.  들어가기 앞서@K검색 결과 상위 K개의 문서만 평가.예: @5는 상위 5개 문서만 반환.목적: 사용자가 주로 확인하는 상위 결과에 집중.활용: Precision@K, Recall@K, nDCG@K 등. Relevance란?사용자 쿼리와 검색 결과 간의 일치 정도. 높은 관련성은 사용자가 원하는 정보가 검색 결과에 포함되어 있음을 의미. 관련성은 주관적인 요소와 시스템의 매칭 알고리즘에 의해 평가.주요 요소:문맥적 적합성: 사용자 쿼리의 의미와 검색 결과의 내용 간의 적합성.사용자 의도: 사용자가 쿼리를 통해 무엇을 찾으려 하는지에 대한 정확한 이해.결과의 품..
Retrieval 시스템이란?
·
AI/검색 시스템
Retrieval 시스템은 대규모 데이터셋에서 관련 정보를 효율적으로 식별하는 데 필수적인 기술로, 다양한 AI 애플리케이션에서 핵심적인 역할을 합니다. 이러한 시스템은 다양한 데이터 형식을 처리할 수 있도록 설계되었습니다:비정형 텍스트(예: 문서)는 주로 벡터 스토어나 어휘 검색 색인(lexical search index)에 저장됩니다.구조화된 데이터는 관계형 데이터베이스나 그래프 데이터베이스와 같은 정의된 스키마를 가진 저장소에 보관됩니다.데이터 형식의 다양성이 증가하고 있음에도 불구하고, 현대 AI 애플리케이션은 모든 유형의 데이터를 자연어 인터페이스를 통해 접근 가능하게 만드는 것을 목표로 하고 있습니다. 모델은 자연어 쿼리를 검색 색인 또는 데이터베이스와 호환 가능한 형식으로 변환하는 데 중요한..