오늘 끝나면
벡터 DB·임베딩
- ✓벡터 DB·임베딩의 핵심 문제를 한 문장으로 설명한다
- ✓오른쪽 실습에서 벡터이 어떻게 움직이는지 관찰한다
- ✓다음 강의와 이어지는 한계를 말할 수 있다
실습 미션
사내 지식을 의미로 인덱싱 이 문장이 실제로 무슨 뜻인지 실습에서 한 번 손으로 확인한다.
성공 조건
- □실습의 기본값을 먼저 관찰
- □입력값이나 모드를 한 번 이상 바꿔 결과 비교
- □왜 결과가 바뀌었는지 한 문장으로 설명
Enterprise LLM · 07
벡터 DB·
임베딩
문서를 의미 벡터로 바꿔 저장함.
질문도 벡터로 바꿔 의미가 가까운 문서를 찾음.
단어가 달라도 뜻이 닿으면 검색됨.
임베딩 = 의미를 좌표로 바꾸기
6강 RAG의 검색은 임베딩 위에서 돎. 임베딩이 뭔지부터 정확히 잡고 감.
임베딩은 단어·문장·문서를 고정 길이 숫자 배열로 바꾸는 일임.
“연차 신청” → [0.12, -0.84, 0.05, …] 같은 벡터가 됨.
OpenAI text-embedding-3는 1536·3072차원, 오픈소스 BGE-M3는 1024차원처럼 모델마다 길이가 정해져 있음.
핵심은 의미가 비슷하면 벡터가 가까이 놓인다는 점임.
“휴가 내는 법”과 “연차 신청 절차”는 단어가 달라도 좌표가 붙음.
반대로 “연차 결산”처럼 글자는 비슷해도 뜻이 다르면 멀어짐.
벡터 DB — 가까운 점을 빨리 찾는 창고
벡터를 그냥 배열에 쌓아두면 질문 하나에 전 문서를 다 비교해야 함. 수백만 건이면 못 버팀.
벡터 DB는 벡터에 특화된 저장소임.
HNSW·IVF 같은 인덱스로 비슷한 점끼리 미리 그래프를 엮어둠.
그래서 전수 비교(brute force) 대신 근사 최근접(ANN)으로 상위 K개를 밀리초 안에 뽑음.
선택지는 갈래가 있음.
전용 엔진은 Pinecone(관리형)·Weaviate·Qdrant·Milvus.
기존 DB 확장은 pgvector(Postgres)·OpenSearch·Elastic.
이미 Postgres 쓰는 사내라면 pgvector로 시작해 운영 부담을 줄이는 게 현실적임.
pgvector · Pinecone · Qdrant · Weaviate · Milvus
의미 검색을 손으로 굴려보기
말로 들으면 추상적임. 오른쪽에서 직접 굴려봄.
문서들이 2D 공간의 점으로 흩어져 있음. 슬라이더로 질문 점을 옮기면 각 문서까지의 거리를 재서 가까운 순으로 정렬함.
실제 시스템도 똑같음. 차원만 2개가 아니라 1024·1536개일 뿐, 거리 재서 상위 K개 뽑는 원리는 동일함.
질문을 “휴가” 쪽으로 옮기면 단어가 다른 “연차 신청 문서”가 위로 올라옴.
이게 임베딩 검색이 키워드 매칭보다 똑똑한 이유를 손으로 보여주는 칸임.
실제 시스템은 차원이 1024·1536개일 뿐, 거리 재서 상위 K개 뽑는 원리는 똑같음.
키워드 검색 vs 의미 검색
기존 사내 검색은 대부분 키워드 매칭임. 글자가 겹쳐야 걸림.
“노트북 반납 어디서 함”이라 물으면 키워드 검색은 ‘노트북’·‘반납’ 글자를 가진 문서만 찾음.
정작 답이 든 ‘IT 자산 회수 절차’ 문서는 단어가 안 겹쳐서 놓침.
의미 검색은 뜻이 가까운 문서를 잡음. ‘자산 회수’가 ‘반납’과 의미상 붙어 있으니 찾아냄.
실무에선 둘을 섞은 하이브리드 검색이 정석임. 키워드(BM25)로 정확한 용어를 잡고, 벡터로 의미를 보강한 뒤 re-ranking으로 최종 순위를 매김.
글자 안 겹치면 놓침
뜻이 가까우면 잡음
사내 도입에서 챙길 것
개념은 단순한데, 운영에서 갈리는 디테일이 몇 개 있음.
첫째, 청킹. 긴 문서는 통째로 임베딩하지 않고 문단·페이지 단위로 잘라 넣음. 너무 크면 핵심이 희석되고, 너무 잘면 맥락이 끊김.
둘째, 모델 일관성. 저장할 때와 검색할 때는 반드시 같은 임베딩 모델을 써야 함. 모델을 바꾸면 전체 문서를 다시 임베딩(re-index)해야 함.
셋째, 보안·비용. 사내 기밀이면 임베딩 API로 외부에 텍스트가 나가도 되는지 따져야 함. 민감 데이터는 오픈소스 임베딩을 VPC 안에서 돌리거나 Bedrock·Azure 내부 엔드포인트를 씀.
비용은 임베딩 1회 + 저장 + 검색으로 나뉘는데, 큰 부담은 보통 최초 대량 인덱싱과 벡터 DB 호스팅임.
Q. 임베딩 검색이 키워드 검색보다 나은 점은? (글자가 겹쳐야 함 · 뜻이 가까우면 찾음 · 항상 빠름 · 모델이 필요 없음)
정답은 뜻이 가까우면 찾음임.단어가 달라도 의미가 가까운 벡터로 놓이면 검색됨. ‘반납’을 물어도 ‘자산 회수’ 문서를 잡는 식임.
키워드 검색은 글자가 겹쳐야만 걸리고, 의미가 같아도 표현이 다르면 놓침.
| 청킹 | 문단·페이지 단위로 자름크면 희석 · 잘면 끊김 |
| 모델 일관성 | 저장=검색 같은 모델바꾸면 전체 재색인 |
| 보안 | 민감 데이터는 내부 임베딩VPC · Bedrock · Azure |
| 비용 | 최초 인덱싱 + 호스팅검색 비용은 소액 |