AI

벡터 DB 분석

이-프 2024. 11. 20. 13:02

1. Vector DataBase란

벡터 데이터베이스는 고차원 데이터의 효율적인 저장, 검색, 및 관리에 특화된 데이터베이스입니다.

전통적인 데이터베이스가 정형화된 데이터처리에 초점을 맞춘 반면, 벡터 데이터베이스는 비정형 데이터(이미지, 텍스트, 음성 등)를 수치화한 벡터 데이터를 다룹니다.


2. Vector DataBase 특징

비정형 데이터를 벡터로 변환시, 데이터는 다차원 공간에서 좌표로 표현됩니다. 이러한 벡터는 데이터 간의 유사도를 측정하거나, 패턴을 분석하는 데 사용됩니다.

  • 최적화된 벡터 스토리지 : 벡터 데이터베이스는 고차원 벡터의 저장 및 검색을 위해 최적화 과정 진행, 이를 위해 특수한 데이터 구조와 알고리즘 구현
  • 능숙한 유사 검색 : 유사도 검색에 매우 탁월하며, ‘코사인 유사도’‘유클리드 거리’와 같은 사전에 정의된 공식을 바탕으로 쿼리 벡터에 근접하거나 유사한 벡터를 찾을 수 있음
  • 확장성 : ‘수평적 확장’이 가능하도록 설계되어 있으므로, 여러 노드에 부하를 분산함으로서 상당한 양의 데이터와 쿼리를 효율적으로 처리할 수 있음
  • 임베딩 지원 : ML 모델에서 생성된 벡터 임베딩을 저장할 때, 연속적이고 밀집된 공간 내에서 데이터를 표현하는 데 중요한 역할을 함 (자연어 처리, 이미지 분석에서 주로 활용)
  • 실시간 처리 : 실시간에 가까운 처리를 위해 ‘최적화’를 거치므로, 응답 저지연 성능이 필요한 애플리케이션에 벡터 DB 적용

3. Vector Database 작동 프로세스

1. 비정형 데이터 수집 및 변환

텍스트, 이미지, 오디오 등과 같은 구조화되지 않은 ‘비정형 데이터’ 수집

 

2. 임베딩 프로세스 (Embedding Model)

비정형 데이터를 벡터 공간에 표현하는 과정으로, 특수신경말 모델(Word2Vec, BERT, CNN 등)을 사용해서 데이터를 숫자

벡터로 변환

→ 이를 통해 알고리즘이 데이터 간의 연결성과 유사성을 이해할 수 있는 기반 마련

 

3. 벡터 데이터베이스에 저장

임베딩된 벡터 데이터는 벡터 데이터베이스에 저장

다차원 공간에서의 좌표로 표현되고, 해당 공간에서 데이터 간의 관계와 유사도를 표현

 

 

4. 근사 최인접 이웃 (ANN) 검색

ANN(Approximate Nearest Neighbor) 검색 기법을 사용해서, 정확히 일치하는 항목을 찾는 기존 데이터베이스와 달리, 입력 데이터와 가장 가까운 항목을 탐색

 

5. 유사성 측정 및 결과 반환

벡터 간의 거리(코사인 유사도, 유클리드 거리)를 계산하여 측정

→ 가장 가까운 벡터가 검색 결과로 반환되며, 이는 사용자의 입력 데이터와 가장 관련성이 높은 데이터


4. Vector DataBase 활용 분야

추천 시스템

정의 | 사용자 행동 패턴(데이터)를 벡터화 한 후, 이를 분석하여 개인화된 추천을 제공해주는 시스템

예시 | 스트리밍 플랫폼 (ex. Netflix)

  • 벡터화 할 데이터 : 사용자 행동 데이터 (시청 이력, 평가, 장르 선호도 등)
  • 벡터화 과정
    • 영화나 드라마를 특정 벡터(ex, 장르, 배우, 시청 시간 등) 로 표현
    • 사용자의 시청 이력을 벡터화하여 유사도를 계산

이미지 및 영상 검색

정의 | 이미지 및 영상 검색 시스템은 입력된 이미지 또는 영상 데이터와 유사한 데이터(사진, 영상 등)를 빠르게 찾아 제공하는 시스템

예시 |

  • 벡터화 할 데이터 : 이미지 또는 영상 데이터 (색상, 텍스처, 형상, 객체 정보 등)
  • 벡터화 과정
    • 이미지/영상의 특징을 딥러닝 모델(예: CNN)로 추출하여 벡터로 변환
    • 데이터베이스에 저장된 이미지/영상 벡터와 입력 데이터의 벡터 간 유사도를 계산

자연어 처리 (NLP)

정의 | 자연어 처리 기반 시스템은 텍스트 데이터를 벡터로 변환해 유사도를 분석하고, 사용자가 입력한 문장 또는 키워드와 관련 있는 정보를 제공

예시 |

  • 벡터화 할 데이터 : 텍스트 데이터 (단어, 문장, 문서 등)
  • 벡터화 과정
    • 단어를 임베딩 기법(예: Word2Vec, BERT)으로 벡터로 변환
    • 문장이나 문서를 벡터 형태로 표현하여 텍스트 간의 유사도를 계산

의료 시스템

정의 | 의료 및 바이오 분야에서는 유전자 데이터, 의료 영상, 또는 환자 기록을 벡터화하여 질병 진단, 치료법 추천, 또는 연구 분석에 활용

예시 |

  • 벡터화 할 데이터 : 의료 데이터 (CT/MRI 영상, 유전자 정보, 환자 기록 등)
  • 벡터화 과정
    • CT/MRI 영상 데이터를 딥러닝 모델을 사용해 벡터로 변환하여 병변 특징을 추출
    • 유전자 정보를 벡터로 변환해 질병 및 환자 데이터 간 유사성을 계산

참고문서

https://blog.kbanknow.com/66 

 

얼굴 탐색 속도 높이기 : 벡터 데이터베이스의 이해 및 활용 (feat. Chroma)

들어가며 안녕하세요! 케이뱅크 데이터서비스팀에서 AI 모델 개발을 하고 있는 김하영입니다. AI에 관심이 있는 분들이라면, 벡터 임베딩(Vector Embedding)에 대해 한 번쯤은 들어보셨을 겁니다. AI

blog.kbanknow.com

 

https://meetcody.ai/ko/blog/2024%EB%85%84%EC%97%90-%EC%8B%9C%EB%8F%84%ED%95%B4-%EB%B3%BC-%EB%A7%8C%ED%95%9C-%EC%83%81%EC%9C%84-5%EA%B0%80%EC%A7%80-%EB%B2%A1%ED%84%B0-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4/

 

2024년에 시도해 볼 만한 상위 5가지 벡터 데이터베이스

벡터 데이터베이스는 머신 러닝과 같은 영역을 포괄하는 광범위하고 복잡한 데이터 세트를 다루는 애플리케이션을 처리합니다. 상위권을 확인하세요!

meetcody.ai

 

'AI' 카테고리의 다른 글

한국어 임베딩 모델 SOTA 분석  (1) 2024.11.21
LoRA, QLoRA, LoRA-FA 분석  (0) 2024.11.18
Continue Extension을 활용한 AI Coding 평가  (2) 2024.10.21
Prompt란 ? (feat. LLM)  (0) 2024.08.28
Ollama / Embedding  (0) 2024.08.27