1. 벡터 데이터베이스 (Vector Database)의 개념, 필요성
개념 | 필요성 |
---|---|
대량의 고차원 데이터 저장 및 조회 위해 컨텐츠 벡터 임베딩 및 쿼리 벡터 유사도 비교 기반 신속하게 인덱싱하는 데이터베이스 | – 고차원 데이터 저장 및 조회 수요 증가 – 데이터 내용 유사성에 따른 맥락 이해 – AI 서비스의 신속한 연산 처리 요구 – 대규모 언어 모델에 장기 기억 메모리 필요 |
- AI 어플리케이션은 Vector Embedding에 의존하고 다수 Attribute/Feature로 관리가 어렵기 때문에 임베딩 데이터 최적화 및 저장/조회 위해 특화된 벡터 데이터베이스 필요
- 벡터DB 기반 AI 서비스에 시맨틱 정보 검색, 장기 기억 메모리 등 고급 기능 구현 가능
2. 벡터 데이터베이스 동작 과정 및 RAG 동작 절차
(1) 벡터 데이터베이스 동작 과정
# | 주요 과정 | 세부 동작 |
---|---|---|
① | Indexing | – HNSW, LSH, IVF 등 알고리즘 사용하여 벡터 Indexing – 빠른 검색이 가능한 데이터 구조에 벡터 Mapping |
② | Querying | – 해당 index의 similarity metric을 통해 Query Vector와 Indexed Vector 간 유사도 계산 |
③ | Post Processing | – 다른 유사도 메트릭 기반 순위 재구성 등 검색 결과 후처리 |
(2) 벡터 데이터베이스 기반 검색 증강 생성(RAG) 동작 절차
- 문서 등 수집 데이터에 대해 임베딩 모델을 활용하여 문서 임베딩을 벡터DB에 저장 후 사용자 질의 발생 시 연관된 정보를 시맨틱 검색하여 획득된 정보를 바탕으로 질의 컨텍스트 개선 및 최적화
3. 벡터 데이터베이스의 기술 요소
구분 | 기술 요소 | 역할 |
---|---|---|
임베딩 | 워드 임베딩 | – 벡터 기반 의미적 유사 데이터를 근접 배치 – TF-IDF, CBOW, Skip-gram, Word2Vec |
사용자 질의 임베딩 | – 문서 임베딩과 같은 임베딩 모델 사용 – 단어 단위 Fast Text, 문장 단위 ELMo, BERT | |
인덱싱 | KNN 기반 인덱싱 | – 가까운 거리를 Class화하는 확률 밀도 추정 – 최소 거리 후보집합 생성, 클래스 맵핑 |
SPTAG 기반 인덱싱 | – 입력 쿼리를 벡터로 변환하여 신속한 검색 – 그래프 분할 기법, 빠른 이웃 검색 | |
유사도 비교 | 코사인 유사도 비교 | – 두 벡터 사이의 각도 기반 유사도 측정 – 각도가 작을수록 유사도 증가 |
유클리디안 거리 비교 | – 두 벡터 사이의 직선 거리 기반 유사도 측정 – 직선 거리가 가까울수록 유사도 증가 | |
LLM 프롬프트 | 프롬프트 엔지니어링 | – 생성형 AI 입력 프롬프트 설계 및 제작 – 퓨샷 러닝, 메트릭 러닝, GNN |
결과 추출 및 시각화 | – 결과 추출 데이터의 시각화 도구 연계 – Grafana, Tableau, Kibana, Metabase 등 | |
프레임워크 | 검색 증강 생성(RAG) | – 외부의 신뢰 가능한 지식 베이스 참조, 최적화 – 검색기, 생성기, 파인튜닝, 추론, 데이터 증강 |
랭체인(LangChain) | – LLM 서비스의 언어 모델, 콜백 등 기능 연결 – Callback, Data Connection, Chain, Model I/O |
- 기존 스칼라 기반 데이터베이스 및 Standalone 벡터 인덱스에 비해 고차원 데이터 접근성, 확장성 등 장점 보유하지만 대용량 스토리지가 요구되고 쿼리 및 데이터 최적화가 어려움
4. 벡터 데이터베이스의 한계점 및 대응 방안
한계점 | 대응 방안 |
---|---|
– 검색 정확도와 속도 간 Trade-off 관계 – 임베딩 관리용 대용량 스토리지 요구 – 전문 쿼리 및 데이터 최적화 어려움 | – KNN 기반 유사도 작업, SPTAG 활용 검색성능 향상 – 효율적인 임베딩 모델로 벡터 임베딩 개선, 최적화 – GPGPU, 뉴로모픽칩 등 AI 전용 컴퓨팅 반도체 활용 |
- 향후 벡터 데이터베이스 기반 대규모 언어 모델을 통해 장기 기억 메모리 및 데이터 내용 유사성에 따른 고품질 생성형 AI 서비스 가 제공될 것으로 예상
[참고]
- Pinecone, What is a Vector Database
- Smilegate, 벡터 임베딩을 저장하고 검색하는 가장 효율적인 방법