-
Vector DataBase, 너 누군데 ..공부 !/Data 2025. 1. 21. 20:06반응형
직장에서 교육세미나를 진행해야하는 일이 생겼다 .. 하하 !
어떤 주제를 잡을지부터 많이 고민했던 것 같다
나는 벡터 DB 를 선정해서 발표했고 그 기록을 남기고자 글을 쓴다 !
Vector Database 너 누군데 .. ..
텍스트인 정형데이터뿐 아니라 이미지 등 비정형 데이터
더나아가 LLM까지 앞으로는 벡터DB를 빼놓을 수 없는 시대가 되어 벡터DB를 주제로 선정했다
벡터 데이터베이스는 수학적 표현으로 저장된 데이터의 모음이라고 이해하면 쉽다
수학적으로 표현된 데이터로 머신러닝 모델에서도 입력을 더 쉽게 활용할 수 있고검색, 추천, 텍스트 생성 사용 사례에 머신 러닝을 사용할 수 있습니다 ???
이미 우리도 모르는 사이에 우리 일상에서는 이미 벡터 디비를 사용하고 있으며
벡터 간의 유사도 검색은 다양한 서비스에 적용되어있다 !
Embedding
비정형데이터를 벡터로 변환하는 작업을 임베딩이라고 한다
간단하게 데이터를 숫자로 벡터화 하는 작업을 의미한다
One-Hot 인코딩 방식으로 벡터화하는 경우 단어 개수가 늘어날수록 벡터를 저장하기 위한 공간이 계속 늘어
공간활용에 비효율적이고 각 단어의 존재를 쉽게 확인할 수 있지만 각 단어의 관계성도 파악하기 어렵다
위 단점을 보완하기 위해 단어간의 의미적 유사성을 벡터화 하는 방식이 워드 임베딩이고이렇게 표현된 벡터는 임베딩 벡터라 부른다 !!
비슷한 내용의 단어를 벡터화 시켜서 그 벡터들은 유사한 값을 가지게 되고
단어의 의미를 여러 차원에 분산표현하므로 공간활용도 제약이 덜하고
유의미한 유사도 계산이 가능해서 관계성도 파악이 가능하게 된다 !!
임베딩과 인코딩 차이 ?
인코딩과 임베딩의 차이를 잠깐 언급하자면 둘다 데이터를 다른 형식으로 변환하는 과정은 동일하나
인코딩은 정보 분별의 상대성을 파악하는 것이 주목적이고 임베딩은 수치벡터화가 주목적이다 ㅎㅎ
Vector DB
이러한 임베딩 벡터 결과를 저장하고 쿼리하기 위한 데이터베이스가 바로 벡터 DB 다 !!!
'임베딩 벡터'를 저장하고 조회하기 위한 데이터 베이스로쿼리와 정확히 일치하는 행을 찾아내는 기존 관계형 데이터베이스와는
달리 벡터간의 거리나 유사도를 기반으로 가장 유사한 벡터를 찾는다
정리하면 벡터 데이터베이스는 정형 외 다양한 비정형 데이터까지도
고차원 벡터를 저장하고 검색하는 시스템이고 유연한 데이터 검색이 가능하다 !!!
Vector DB 유사성 검색이 쓰이는곳 !
입력으로 주어지는 미디어랑 비슷한 이미지나 노래 같은 거들을 검색하거나
검색한 상품과 평점과 특징이 비슷한 상품을 검색할때 등 이미 일상에 많은 곳에서 쓰이고 있다
상용 서비스에 사용되기 위해서는 대규모 벡터 데이터에 대한 빠른 쿼리가 가능해야하고
벡터데이터의 입력, 삭제, 변경이 용이해야한다 !!
또한 단순 유사도 검색이 아닌 속성 필터링, 멀티 벡터 쿼리 등 고급 쿼리를 지원하여
유연하게 기능을 구현할 수 있다
마치며 .. ..
사실 뭐 대단한 내용으로 발표한 건 아니라서 ..
블로그 포스팅하기도 내용이 많이 짧지만 그래도 공부했던 흔적이니까 남겼다 ㅎㅎ
세미나 진행할때도 다들 생소해서인지 질문도 없고 잘 들어주셨다 ㅎㅎ
세미나 .. 준비하면서 주제 선정부터 어떤 내용을 발표할지
트랜드나 주제에 대해 다시 한번 그래도 찾아보고 공부해보는 시간이었던 것 같다
유익한 팀 세미나 !!! ^0^ ^^^^^^^ !!!!!!
반응형'공부 ! > Data' 카테고리의 다른 글
SQLD 01_01 데이터 모델링의 이해 요약 (0) 2022.03.07 SQLD 01_02 데이터 모델과 성능 요약 (0) 2022.03.07 SQLD 02_01 SQL 기본 요약 (0) 2022.03.06 SQLD 02_03 SQL 최적화 기본 원리 요약 (0) 2022.03.04 SQLD 02_02 SQL 활용 요약 (0) 2022.03.02