머신러닝 & 딥러닝/LLM

[LLM] 임베딩 기반 검색과 벡터 데이터베이스(Vector Database)

Haru_29 2025. 3. 5. 00:07

1. 벡터 데이터베이스란?

임베딩 기반 검색에서는 문서를 벡터(Vector)로 변환하여 저장하고 검색합니다.

이때, 벡터를 저장하고 빠르게 검색할 수 있도록 벡터 데이터베이스(Vector Database)가 필요합니다.

📌 벡터 데이터베이스의 역할

✅ 문서를 임베딩 벡터로 변환하여 저장

✅ 쿼리를 임베딩한 후, 가장 유사한 벡터를 검색

✅ 코사인 유사도(Cosine Similarity)나 유클리디언 거리(Euclidean Distance) 같은 거리 기반 측정 활용

💡 왜 벡터 데이터베이스가 필요한가?

  • 일반적인 관계형 데이터베이스(RDBMS)는 벡터 기반 검색을 지원하지 않음
  • 벡터 간 유사도를 빠르게 계산하려면 전용 데이터 구조 및 알고리즘이 필요
  • 기존의 키워드 검색 방식보다 의미적으로 유사한 정보를 찾는 데 최적화됨

2. 벡터 검색(Vector Search)과 최근접 이웃(Nearest-Neighbor Search, k-NN)

벡터 검색은 일반적으로 k개의 가장 가까운 이웃(K-Nearest Neighbors, k-NN) 문제로 정의됩니다.

즉, 쿼리 벡터와 가장 유사한 K개의 문서를 검색하는 과정입니다.

📌 기본적인 k-NN 검색 과정

1️⃣ 쿼리를 임베딩 벡터로 변환

2️⃣ 데이터베이스에 저장된 모든 벡터와 유사도 계산 (예: 코사인 유사도)

3️⃣ 유사도가 가장 높은 K개의 벡터를 반환

🚨 문제점: 계산 비용이 높음

  • 모든 문서 벡터와 비교해야 하므로 데이터셋이 커질수록 속도가 느려짐
  • 대규모 데이터셋에서는 근사 최근접 이웃(Approximate Nearest Neighbors, ANN) 알고리즘이 필요

3. 근사 최근접 이웃(ANN) 알고리즘과 주요 기법

대규모 데이터셋에서 빠른 검색을 위해 ANN(Approximate Nearest Neighbors) 알고리즘이 사용됩니다.

📌 주요 ANN 검색 기법

1) FAISS (Facebook AI Similarity Search)

  • Facebook이 개발한 벡터 검색 라이브러리
  • 대규모 벡터 검색을 빠르게 수행하도록 최적화됨
  • 많은 AI 시스템에서 사용됨🔗 FAISS 논문

2) IVF (Inverted File Index, 2003)

  • K-Means 클러스터링을 활용하여 벡터를 그룹화
  • 쿼리 시, 가장 가까운 클러스터 내에서 검색하여 속도 향상
  • FAISS의 핵심 기법 중 하나

3) HNSW (Hierarchical Navigable Small World, 2016)

  • 그래프 기반 검색 방식
  • 벡터를 멀티 레이어 그래프 구조로 저장하여 빠르게 탐색
  • FAISS와 Annoy에서 구현됨🔗 HNSW 논문

4) PQ (Product Quantization, 2011)

  • 벡터의 차원을 줄여서 검색 속도를 향상
  • 검색 성능을 유지하면서도 계산 비용 절감🔗 PQ 논문

5) Annoy (Approximate Nearest Neighbors Oh Yeah, 2013)

  • 트리 기반 벡터 검색 알고리즘
  • Spotify에서 개발하여 오픈소스로 공개🔗 Annoy GitHub

📌 기타 ANN 알고리즘

  • SPTAG (Space Partition Tree And Graph, Microsoft)
  • FLANN (Fast Library for Approximate Nearest Neighbors)

이러한 ANN 기법들은 벡터 데이터베이스에서 빠른 검색을 가능하게 하며, RAG(Retrieval-Augmented Generation) 시스템에서 필수적으로 활용됨!


4. 벡터 데이터베이스와 RAG의 결합

벡터 데이터베이스는 RAG 시스템에서 중요한 역할을 합니다.

💡 RAG에서 벡터 데이터베이스의 역할

✅ 외부 문서를 벡터화하여 저장

✅ 질문(쿼리)을 벡터로 변환하여 유사한 문서를 검색

✅ 검색된 정보를 기반으로 AI 모델이 응답 생성

📌 RAG와 벡터 데이터베이스의 실제 적용 사례

AI 챗봇: 고객의 질문을 의미적으로 분석하여 적절한 답변 제공

추천 시스템: 사용자의 취향을 벡터로 변환하여 유사한 콘텐츠 추천

문서 검색 시스템: 대규모 문서에서 가장 관련성이 높은 정보 검색


5. 결론: 벡터 검색과 ANN 기법이 AI 검색의 미래다!

📌 정리

✔️ 벡터 데이터베이스는 임베딩 기반 검색을 지원하는 핵심 기술

✔️ 기본적인 k-NN 검색은 정확하지만 계산 비용이 높음

✔️ 대규모 데이터셋에서는 ANN(Approximate Nearest Neighbors) 기법이 필수적

✔️ FAISS, HNSW, Annoy, PQ 등 다양한 ANN 알고리즘이 활용됨

✔️ RAG 시스템에서 벡터 데이터베이스를 활용하면 AI 검색 성능이 극대화됨

향후 AI 검색 시스템은 키워드 검색을 넘어, 의미 기반 검색(Semantic Search)으로 발전할 것이다!