Vector Embedding (벡터 임베딩)
별칭: 임베딩 · Embedding · 벡터 표현 · 의미 좌표
Vector Embedding (벡터 임베딩)
정의
텍스트(단어·문장·문서)나 이미지·음성을 수백~수천 차원의 실수 벡터로 변환하는 기법. 의미가 비슷한 항목은 벡터 공간에서 가까이, 다른 항목은 멀리 위치한다. 의미를 수학적 좌표로 표현한다.
본문 — 기술 상세
작동 원리
"왕(king)"이라는 단어를 컴퓨터에게 어떻게 이해시킬까? 임베딩은 단어를 고정 길이 벡터(예: 768차원)로 변환:
king → [0.12, -0.45, 0.78, ..., 0.33]
queen → [0.13, -0.46, 0.81, ..., 0.34]
banana → [-0.91, 0.62, -0.05, ..., 0.18]
비슷한 의미는 비슷한 벡터:
king과queen의 거리 <king과banana의 거리- 유명한 예:
king - man + woman ≈ queen(의미 산술)
차원 수 (2026년 기준)
- OpenAI text-embedding-3-large: 3072차원
- Cohere embed-v3: 1024차원
- 한국어 특화: KLUE-RoBERTa, KR-SBERT (768차원)
거리 측정
- 코사인 유사도(Cosine Similarity) — 가장 일반적. 두 벡터의 각도. -1~1.
- 유클리드 거리 — 직선 거리
- 내적(Dot Product) — 정규화된 임베딩에서 코사인과 등가
활용
- 시맨틱 검색 — 키워드 일치가 아닌 의미 유사도로 검색
- RAG의 핵심 — term/rag-retrieval-augmented-generation에서 관련 문서 검색
- 클러스터링 — 비슷한 문서·고객 그룹화
- 추천 시스템 — 비슷한 항목 추천
사역 적용
본 LLMWiki는 임베딩을 옵션으로 다룬다 (concept/karpathy-llm-wiki-pattern). Karpathy 원전: "작은~중간 규모(~100 source, 수백 페이지)까지는 wikilink 기반 그래프만으로 충분하며, 임베딩 기반 RAG 인프라의 필요성을 없앤다." 본 프로젝트가 인프라 비용 0을 달성하는 핵심 이유.
다만 위키가 매우 커지거나 깊은 신학적 의미 검색이 필요할 때는 임베딩 도입 가능 — 예: "구원의 확신" 검색 시 정확히 그 단어가 없는 카드도 의미적으로 가까운 카드를 찾아냄.
4층 신학 검증에서 임베딩 활용 가능성:
- 사용자 질의 임베딩 vs 정통 교리 카드 임베딩 → 유사도가 낮으면 이단성 의심 신호
- AI 답변 임베딩 vs sources 카드 임베딩 → 환각(term/hallucination-환각) 자동 탐지
한계와 주의사항
- 임베딩은 학습 데이터의 편향을 그대로 반영 — 세속적 코퍼스로 학습된 임베딩은 신학 용어를 부정확하게 매핑할 수 있음
- 의미 산술은 직관적이지만 한계 —
Jesus - man + woman ≠ Mary(불경한 산술) - 임베딩 공간의 거리 ≠ 신학적 정통성 거리 — 영적 분별은 사람의 몫
관련
- term/llm-large-language-model (대부분 LLM이 임베딩 모델 동시 제공)
- term/rag-retrieval-augmented-generation (임베딩의 가장 큰 활용처)
- term/knowledge-graph (본 프로젝트는 wikilink로 대체)
- term/transformer-architecture (임베딩 모델도 트랜스포머 기반)