콘텐츠로 바로가기

Vector Database & Embedding Physics

Vector Database 및 Embedding 메커니즘의 정의, 범위, 선행 지식, 학습 주제, 참고 근거를 정리한 CS&E 학습 노드입니다.

목차 보기22

1. Overview

벡터 데이터베이스와 임베딩 물리 엔진(Vector Database & Embedding Physics)은 단순한 키워드 텍스트 매칭을 넘어, 데이터의 **'의미(Semantics)'**를 수학적 다차원 공간에 점으로 찍어 저장하고 검색하는 AI 시대의 핵심 스토리지 아키텍처를 해부합니다.

학습자는 텍스트, 이미지, 오디오 등 비정형 데이터를 신경망(Neural Network)을 거쳐 수백~수천 차원의 실수 배열(Embedding)로 압축하는 원리를 뜯어봅니다. 나아가 수백만 개의 벡터 사이에서 유클리드 거리나 코사인 유사도를 연산할 때 발생하는 치명적인 O(N)O(N) 병목을 해결하기 위해, 공간을 쪼개고 근사치를 찾아내는 ANN(Approximate Nearest Neighbor) 물리 엔진(HNSW, IVF-PQ)을 해부합니다. 마지막으로 밀집 벡터(Dense Vector)를 저장하고 CRUD를 수행하며 LangChain 등 LLM(대형 언어 모델)의 RAG(Retrieval-Augmented Generation) 뇌 역할을 수행하는 Vector DB(Milvus, Pinecone, Qdrant)의 실무 역량을 장악합니다.

2. Scope & Boundaries

In-Scope

  • 임베딩 이론 (Embedding Theory): 밀집 벡터(Dense Vector), 희소 벡터(Sparse Vector), 단어 임베딩(Word2Vec) 및 문장 임베딩(BERT/Sentence Transformers).
  • 유사도 수학 (Similarity Mathematics): 코사인 유사도(Cosine Similarity), 유클리드 거리(L2), 내적(Dot Product).
  • 근사 최근접 이웃 탐색 (ANN Algorithms): HNSW (Hierarchical Navigable Small World), IVF (Inverted File Index), PQ (Product Quantization).
  • Vector DB 아키텍처 (Vector DB Architecture): 메타데이터 필터링(Metadata Filtering), 스칼라 + 벡터 하이브리드 서치, RAG(검색 증강 생성) 파이프라인.

Out-of-Scope

  • 임베딩 모델 훈련 (Model Training): Transformer 모델 자체의 딥러닝 역전파 학습 과정 → 11-02 Deep Learning & Neural Networks 영역으로 위임.
  • 순수 텍스트 역인덱스 검색 (Lexical Search): Elasticsearch의 TF-IDF/BM25 엔진 깊이 파기 → 06-02-03 Search Engine 영역.

Boundaries

  • Exact Search(k-NN) vs Approximate Search(ANN): 수백만 개의 벡터가 있을 때, 쿼리 벡터와 '가장 가까운 K개'를 오차 0%로 완벽하게 찾으려면(k-NN) 수백만 번의 코사인 거리를 무식하게 다 계산해야 하므로 연산 시간이 폭발합니다. Vector DB는 100% 정확성을 버리고 95%의 정확성만 챙기되, 계산량을 수만 분의 1로 줄이는 '근사(Approximate)' 탐색 알고리즘(HNSW 등)을 사용합니다. AI 검색 인프라는 이 "정확성(Recall)과 속도(Latency)의 철저한 트레이드오프" 위에 세워진 타협의 예술임을 명심해야 합니다.

3. Counterexample

  • 차원의 저주(Curse of Dimensionality)를 무시한 역인덱스 접근: 768차원짜리 실수 배열(벡터)을 기존 관계형 DB나 역인덱스(Elasticsearch)에 집어넣고 B-Tree로 찾으려 시도하는 경우. 다차원 공간에서는 모든 데이터가 서로 거의 비슷한 거리에 떨어져 있게 되어(거리의 분별력 상실), 공간을 절반으로 잘라가며 탐색하는 B-Tree나 K-D Tree 계열 구조가 완전히 붕괴되어 Full Scan과 다름없는 참담한 속도를 냅니다. 오직 다차원 전용 ANN 인덱스(HNSW)만이 이 병목을 뚫을 수 있습니다.
  • 필터링 시점 오류 (Post-filtering vs Pre-filtering): "가격이 5만원 이하이면서 나와 비슷한 취향의 상품 10개 검색". Vector DB가 벡터 유사도로 먼저 10개를 뽑은 뒤(Post-filtering) 5만원 이하인 것을 걸러내면 최종 결과가 1~2개밖에 남지 않는 낭패를 봅니다. 반대로 5만원 이하를 먼저 걸러내고(Pre-filtering) 남은 것에 벡터 검색을 돌리면, HNSW 그래프 구조 뼈대가 무너져서 성능이 폭락합니다. 메타데이터와 벡터를 동시에 고려하는 '하이브리드 엔진'의 필터링 기법(Single-Stage Filtering)을 정확히 통제해야 합니다.

4. Prerequisites

  • 선형대수학 (Basic): 벡터 공간, 내적(Dot Product), 코사인 거리 등 기하학적 연산 기초. (02-06-01 Linear Algebra)
  • 자료구조 트리와 그래프 (Basic): Tree 탐색과 Graph 탐색 메커니즘 개념. (04-02 Core Data Structures)

5. Learning Map

Sequence Core Cluster Objective & Description Evidence (BoK)
1 Embedding Space & Similarity 의미를 숫자의 좌표로 압축(Embedding)하고, 두 점 사이의 거리가 문맥적 유사도가 되는 기하학을 쥡니다. P1
2 The Curse & ANN Algorithms 다차원에서 B-Tree가 무너지는 물리적 한계를 인지하고, 속도를 위해 정확도를 깎는 ANN 타협을 해부합니다. P5
3 HNSW (Hierarchical Navigable Small World) 세계를 제패한 벡터 인덱스. 다층 그래프를 징검다리 널뛰듯 건너며 O(logN)O(\log N) 에 가까운 속도로 공간을 스캔하는 뼈대를 뜯어봅니다. Industry
4 Vector DB & RAG Architecture 단순 인덱스 라이브러리(FAISS)를 넘어, 메타데이터 필터링과 CRUD를 결합하여 LLM의 외부 기억장치를 구축하는 실무를 장악합니다. Industry

6. Learning Topics

Basic

Core Topic 01: 말귀를 알아듣는 수학, 임베딩 공간과 코사인 유사도 (Embedding & Similarity)

  • Why to Learn: "고양이"와 "야옹이"는 역인덱스(키워드)에서는 글자가 한 개도 겹치지 않아 매칭율 0%입니다. 이 둘이 '비슷한 의미'임을 기계에게 납득시키는 유일한 수단인 '벡터 공간(Vector Space)'의 마법을 꿰기 위함입니다.
  • What to Learn:
    • Concepts: Dense Vector, Embedding Layer, 문맥적 유사도(Semantic Similarity), 코사인 유사도(각도 기반), 유클리드 거리(L2, 절대 거리 거리), 내적(Dot Product).
    • Skills: OpenAI API나 Sentence Transformer를 이용한 텍스트의 벡터화.
  • How to Learn:
    • 1단계: 공간에 점 찍기: "사과"라는 단어를 3차원 축 (단맛, 둥근정도, 붉은정도)로 수치화하여 [0.9, 0.8, 0.9] 로 표현. "바나나"는 [0.9, 0.2, 0.1]. 인공지능이 텍스트를 768차원 배열로 인코딩하는 물리적 본질을 해부합니다.
    • 2단계: 거리와 내적: 두 단어 벡터 간의 각도(코사인)를 구하여, 각도가 0에 가까우면(코사인 값 1) 매우 유사한 의미로 판정하는 기하학적 연산 로직을 뜯어봅니다.
  • Implement: 파이썬 numpy 코사인 유사도 계산기. 3차원 임베딩 모사 벡터 A [1, 2, 3]과 B [2, 4, 6], C [-1, -2, -3] 설정. 직접 수식을 코딩하여 A와 B의 유사도는 1.0 (방향 완전 일치), A와 C의 유사도는 -1.0 (정반대)이 나오는 수학 연산 텍스트 렌더링.

Core Topic 02: K-NN의 붕괴와 근사 알고리즘의 탄생 (ANN & The Curse)

  • Why to Learn: 데이터가 1,000만 개일 때마다 1,000만 번의 코사인 거리를 일일이 계산하면 CPU가 타버립니다. K-NN(정확도 100%)을 포기하고 ANN(정확도 95%)으로 타협하는 하드웨어적 한계를 장악하기 위함입니다.
  • What to Learn:
    • Concepts: K-NN(K-Nearest Neighbors, Exact Search), 차원의 저주(Curse of Dimensionality), ANN(Approximate Nearest Neighbor), 인버티드 파일 인덱스(IVF, Inverted File Index), 양자화(PQ, Product Quantization).
    • Skills: 인덱스 트레이드오프 분석 (Recall vs Latency vs Memory).
  • How to Learn:
    • 1단계: 공간의 분할(IVF): 1,000만 개의 벡터를 K-Means 클러스터링으로 10,000개의 '마을(Cluster)'로 쪼갭니다. 검색할 때 쿼리 벡터가 속한 '마을' 1~2개만 뒤집니다. 연산량을 100배 줄이면서도 꽤 높은 정확도를 확보하는 물리적 군집화 원리를 해부합니다.
    • 2단계: 벡터 압축(PQ): 768차원 float32(약 3KB) 데이터 1억 개는 RAM 300GB를 먹어 치웁니다. 이를 1/32 크기로 압축(Quantization)하여 해상도는 떨어지지만 메모리 비용을 극적으로 낮추는 용량 최적화를 뜯어봅니다.
  • Implement: 파이썬 무식한 KNN vs IVF 시뮬레이션. 10만 개의 2차원 랜덤 포인트 배열(가상 벡터). 1) 타겟 점 하나를 주고 모든 점과 거리를 구하는 Full Scan 수행 속도 측정. 2) 공간을 10개 구역(Grid)으로 나누고, 타겟 점이 포함된 1개 구역(1만 개) 안에서만 거리를 구하는 IVF 축소판 속도 측정. 10배 빠른 속도 차이와, 어쩌다 경계선에 걸려 진짜 정답을 놓치는 에러율(Recall 저하) 콘솔 출력 데모.

Practical

Core Topic 03: 허공에 거미줄 치기, 다층 탐색 그래프 HNSW (Hierarchical Navigable Small World)

  • Why to Learn: Vector DB 성능 벤치마크를 싹쓸이하며 현재 업계 사실상의 표준(De Facto Standard)으로 자리 잡은 최강의 인덱스 알고리즘 HNSW의 뼈대와 고속 탐색 원리를 장악하기 위함입니다.
  • What to Learn:
    • Concepts: Skip List (다층 연결 리스트), Navigable Small World (NSW, 이웃 연결 그래프), HNSW 다층 그래프 구조, 엔트리 포인트(Entry Point).
    • Skills: HNSW의 생성 파라미터 M (노드당 간선 수)과 efConstruction (검색 노드 풀 크기) 튜닝.
  • How to Learn:
    • 1단계: 스몰 월드(Small World): 벡터들을 노드로 삼고, 거리가 가까운 노드끼리 거미줄처럼 엣지(Edge)를 이어 그래프를 만듭니다. 탐색 시 무작위 노드에서 시작해, 내 이웃 중 타겟에 가장 가까운 놈으로 건너뛰는(Greedy Routing) 로컬 탐색법을 해부합니다.
    • 2단계: 고속도로 뚫기(Hierarchy): 맨 밑바닥 그래프는 노드가 100만 개라 몇 번 건너뛰어도 한 세월. Skip List처럼 층(Layer)을 여러 개 만듭니다. 최상위 층(노드 10개)에서 큼직하게 점프하여 대략적 위치를 잡고, 층을 내려오며 점점 세밀하게 좁혀 들어가는 O(logN)O(\log N) 매직 그래프 구조를 뜯어봅니다.
  • Implement: 1차원 Skip List 파이썬 장난감 모델 구현. [1, 10, 25, 40, 55, 90] 리스트가 Layer 0. Layer 1은 [1, 40, 90]. 타겟 25를 찾을 때, Layer 1에서 1 → 40(너무 멀다) 판단 후 Layer 0으로 떨어져서 10 → 25를 찾아가는 홉핑(Hopping) 경로를 print()로 남기는 계층적 탐색 튜토리얼 스크립트.

Advanced

Core Topic 04: LLM의 두뇌를 지탱하다, Vector DB와 하이브리드 RAG (Vector DB & RAG Architecture)

  • Why to Learn: 단순한 '유사도 계산 라이브러리(FAISS)'를 넘어, 업데이트, 삭제, 영속성, 분산 처리, 메타데이터 필터링이 모두 가능한 독립된 데이터베이스 소프트웨어인 Vector DB의 실무 연동 아키텍처를 세우기 위해서입니다.
  • What to Learn:
    • Concepts: Vector DB (Milvus, Pinecone, Qdrant 등), RAG (Retrieval-Augmented Generation), 하이브리드 서치(Dense Vector + Sparse BM25 결합), Pre-filtering vs Post-filtering.
    • Skills: LLM 연동 파이프라인(문서 쪼개기 Chunking → Embedding → DB Insert → 검색 → 프롬프트 주입).
  • How to Learn:
    • 1단계: 하이브리드 필터링 딜레마: "2023년 발간된 문서(Metadata)" 중 "우주론(Vector)" 관련 탑 3. HNSW 그래프를 탈 때 메타데이터 필터를 적용해버리면 그래프 단절(Broken Link)이 일어납니다. Vector DB가 이 제약조건을 물리적으로 어떻게 영리하게 조합(Single-stage filtering)하는지 아키텍처를 해부합니다.
    • 2단계: RAG 파이프라인: 챗봇(LLM)은 자체 기억력이 없습니다. 유저가 질문하면 질문을 벡터화 → Vector DB 쿼리 → 가장 유사한 문서 텍스트 발췌 → LLM 프롬프트에 "이 문서 참고해서 대답해"라고 던져주는 검색 증강 생성(RAG)의 정보 역학을 뜯어봅니다.
  • Implement: 파이썬 로컬 Vector DB(ChromaDB 모방) RAG 미니 봇. 임의의 텍스트 조각(Chunk) 5개 리스트. sentence-transformers를 써서 임베딩 후 메모리 저장. 사용자 질문 입력 시 거리 상 가장 가까운 텍스트 조각을 뽑아 f"주어진 문맥: {chunk}\n질문: {question}" 포맷의 프롬프트를 조립하여 출력하는 RAG 뇌 척수액 로직 데모.

7. Terminology

Term (EN / ko, abbr) 1문장 정의 단계(기본/권장/실무/심화) 역할/맥락 관련 개념 유사/대비/함께 사용 오해 포인트 Evidence(Primary/Secondary/Industry) Flags(core)
Dense Vector 단어나 문장의 의미를 768차원 등 빼곡한 연속된 실수값 배열로 압축하여, 공간적 거리(유사도)를 계산할 수 있게 만든 데이터입니다. 기본 의미의 수치화 Word Embedding Sparse Vector 사람이 읽고 직관적으로 이해할 수 있는 숫자가 아님 P1:CS2023 core
ANN (Approximate Nearest Neighbor) 모든 점과의 거리를 계산하는 완벽한 100% 검색을 포기하고, 공간을 쪼개어 가장 가까울 '확률이 높은' 이웃들을 쾌속으로 찾아내는 근사 알고리즘입니다. 권장 검색 엔진 코어 K-NN / HNSW Exact Match 정확도를 희생하여 속도를 수만 배 끌어올리는 철저한 타협임 P5:SFIA core
HNSW (Hierarchical Navigable Small World) 벡터들을 연결한 그래프를 다층(계층) 구조로 쌓아올려, 고속도로를 타듯 먼 거리를 점프한 뒤 세밀하게 좁혀 들어가는 최고 성능의 ANN 알고리즘입니다. 심화 인덱싱 구조 Skip List / NSW B-Tree 공간 분할 트리가 아니라 각 노드가 선으로 연결된 거미줄 그래프임 Industry core
RAG (Retrieval-Augmented Generation) 대형 언어 모델(LLM)이 환각(Hallucination)을 일으키지 않도록, Vector DB에서 정확한 팩트(문서)를 먼저 검색(Retrieval)해 답변 뼈대에 주입해 주는 아키텍처입니다. 실무 생성형 AI 융합 Prompt Engineering Fine-Tuning LLM을 다시 학습(Fine-Tuning)시키는 것이 아니라 문맥(Context)을 꽂아주는 것임 Industry core

8. References

Primary

  • [P1] CS2023 - Artificial Intelligence (AI) - Natural Language Processing & Vector Space
  • [P5] SFIA - Data Science (DATS) - Machine Learning Implementation

Secondary

  • [Efficient and robust approximate nearest neighbor search using Hierarchical Navigable Small World graphs] Y. Malkov et al. - HNSW Research Paper
  • [Speech and Language Processing] Dan Jurafsky - Vector Semantics and Embeddings

Industry

  • [Milvus Documentation] - Vector Database Architecture & ANN Indexes
  • [Pinecone Learning Center] - Introduction to Vector Embeddings and RAG

9. Final Checklist

Primary

  • 단어를 1차원 키워드가 아닌 고차원 벡터로 변환했을 때, 유클리드 거리나 코사인 유사도가 두 데이터의 '의미적 친밀도'를 산출하는 수학적 원리를 설명할 수 있는가?
  • 차원의 저주(Curse of Dimensionality)가 발생하면 왜 B-Tree나 K-D Tree 등 기존의 이진 탐색 기법이 무너지고 풀스캔(Full Scan)으로 전락하는지 증명할 수 있는가?

Secondary

  • K-NN 방식의 무차별 대입(Brute Force)이 가지는 100% 정확도를 포기하고 ANN(근사 탐색)을 선택해야만 하는 대용량 시스템의 물리적 한계를 논증할 수 있는가?
  • HNSW 알고리즘이 Skip List 계층화 기법을 사용하여, 수백만 개의 노드 숲을 O(logN)O(\log N) 에 가까운 시간 복잡도로 타고 넘어가는 메커니즘을 해부할 수 있는가?

Industry

  • Vector DB에서 메타데이터 필터링 시 Post-filtering 기법이 HNSW 그래프 결과물을 날려버려 최종 결과가 0건이 되는(Recall 붕괴) 장애 상황을 묘사할 수 있는가?
  • 환각(Hallucination)이 잦은 LLM 백엔드에 RAG 파이프라인을 구축하여, Vector DB의 검색 결과가 LLM의 프롬프트에 안전하게 주입되는 엔지니어링 과정을 설계할 수 있는가?

Data & Databases · NoSQL & Specialized Stores

5 / 7