실시간
뉴스

e비즈*솔루션

[데이터이노베이션] "마음 따뜻해지는 영화 찾아줘" 몽고DB 벡터서치로 AI 검색효율↑

이규현 몽고DB 상무

[디지털데일리 김보민기자] 생성형 인공지능(AI) 열풍이 불기 시작하면서 검색 시장에도 변화의 바람이 불고 있다. 기존에는 키워드 기반 검색이 대세였다면, 이제는 의미론적 검색을 뜻하는 '시멘틱 서치(semantic search)'가 부상 중이다.

데이터 플랫폼 전문기업 몽고DB는 벡터 임베딩을 통해 고객사들이 자사 사업에 AI 기반 시멘틱 서치를 운용할 수 있도록 지원하고 있다. 검색 속도와 효율을 높인 결괏값이 나올 수 있도록 돕는 셈이다. 뿐만 아니라 검색증강생성(RAG) 기술을 활용해 생성형 AI에서 발생할 수 있는 미흡한 부분도 보충하고 있다.

이규현 몽고DB 상무는 22일 <디지털데일리> 웨비나 플랫폼 DD튜브에서 열린 '데이터 이노베이션'에 참가해 '몽고DB 벡터 서치로 생성형 AI 제대로 활용하기'를 주제로 발표했다.

이 상무는 "벡터 서치는 사용자가 무엇을 찾는지 정확히 모르는 경우에도 관련성 있는 결과를 제공한다"라며 "머신러닝(ML) 모델을 사용해 가장 유사한 결과를 찾는 것이 특징"이라고 말했다. 이어 "검색 대상은 오디오일 수 있고 이미지, 비디오, 프로그램 코드, 심지어 치료용 단백질이 될 수도 있다"라고 강조했다.

벡터는 시멘틱 서치가 가능하도록 맥락적(컨텍스트) 검색 내용을 수치로 변환한 형태를 뜻한다. '추운 날씨에 마음이 따뜻해질 수 있는 영화' 등의 시멘틱 컨텍스트를 '-0.0070006293'과 같은 수치로 변환해, 데이터 간 유사 접점 값을 찾을 수 있도록 돕는 기술이다. 몽고DB 벡터 서치는 데이터 플랫폼 아틀라스를 기반으로 운영된다.

이 상무는 영화 데이터 분야에서 벡터를 활용한 예시를 들었다. 그는 "영화 데이터베이스를 보유한 회사의 경우 작품 줄거리, 배우, 줄거리, 상영 시간 등에 대한 정보를 많이 갖고 있을 것"이라며 "이러한 정형 혹은 비정형 정보는 몽고DB 데이터베이스에 담기게 된다"라고 말했다. 이어 "정보를 기계가 이해할 수 있는 방식으로 검색을 하려면 벡터로 저장 및 변하는 작업이 필요하다"라고 덧붙였다. 이러한 과정은 벡터 임베딩이라고 불린다. 사용자는 기계 학습용 인코더 모델을 활용해 데이터를 벡터로 바꿀 수 있다.

몽고DB의 경우 KNN 알고리즘을 통해 유사한 벡터를 식별하고 있다. KNN 알고리즘은 검색 벡터와 가장 유사한 K개의 벡터를 찾을 수 있다. '남자'와 '여자', '왕'과 '여왕' 등의 키워드를 벡터로 변환하면 알고리즘을 통해 유사성을 확인하는 방식이다.

이 상무는 뱀파이어와 인간의 사랑을 다룬 영화 '트와일라잇'을 벡터 서치로 검색하는 방법을 시연했다. 그는 몽고DB 샘플 데이터베이스를 예시로 들며 "'10대 소녀가 위험을 무릅쓰고 뱀파이어와 사랑에 빠진다'라는 텍스트 줄거리를 1536개 벡터로 임베딩할 수 있다"라며 "몽고DB 아틀라스 샘플 데이터베이스에는 이 약 4000개 영화 데이터를 벡터가 생성이 돼 있다"라고 말했다. 이어 "고객 환경에 있는 데이터베이스에 검색 대상이 되는 데이터를 미리 벡터로 만들어 놓은 상태"라고 설명했다.

그렇다면 이러한 벡터 임베딩 방식은 기업에 어떤 도움을 줄까. 이 상무는 "데이터베이스는 효율적으로 데이터를 저장할 수 있지만, 검색 속도를 높이는 데 도움이 된다"라며 "검색을 빠르게 하기 위해서는 벡터 인덱스가 필요하다"라고 말했다. 몽고DB는 벡터를 저장한 뒤, 인덱스를 통해 적합한 데이터를 만들어낼 수 있다. 차원(dimension), 알고리즘, 벡터 종류 등을 인덱스 형태로 생성해두면, 검색이 들어왔을 때 빠르게 결괏값을 내놓을 수 있다.

일례로 '소년이 소녀를 좋아하지만 슬픈 결말로 끝나는 영화'라는 내용의 검색어를 1536개 벡터로 결괏값으로 변환하면, 이를 몽고DB를 통해 검색을 진행하고 결과를 볼 수 있게 된다. '트와일라잇', '비트' 등의 영화가 결값으로 나올 수 있다는 의미다. 이 상무는 "일반적인 검색 기능이나 자연어 프로세싱에 의한 형태소 검색으로 영화 데이터베이스를 검색할 경우, 문장을 이해하지 못하기 때문에 키워드만 활용할 수 있다"라며 "제한적인 검색 결과만 나온다는 의미"라고 설명했다. 고도화된 방식으로 AI 검색을 가능하게 할 수 있다는 것이다.

몽고DB는 생성형 AI 시장에서 화제로 떠오른 RAG 방식도 운영하고 있다. RAG는 AI 모델과 별도로 데이터 기반 검색 엔진을 구축해, 거대언어모델(LLM) 답변을 교차 검증할 수 있는 기술이다. 주로 환각현상(할루시네이션) 등을 완화하기 위해 활용된다. 방대한 데이터 중 사용자가 원하는 것을 찾아주는 데 쓰이기도 한다. 이 상무는 "별도 데이터베이스를 구축하지 않고 몽고DB 데이터에 벡터 임베딩만 완료하면, 몽고DB는 (사용자에 맞는) 인덱스를 만들고 적합한 결과를 검색해 줄 수 있다"라고 말했다.

이 상무에 따르면 사용자목소리(VOC) 전문 업체 싱클리는 최근 몽고DB 벡터 서치를 활용해 개발팀 생산성을 높이는 데 성공했다. 고객이 늘고 분석해야 하는 데이터가 축적되면서 서버와 데이터베이스 워크로드 부하가 심해졌지만, 벡터 서치로 원하는 결과를 빠르게 찾을 수 있게 됐다는 설명이다. 싱클리 측은 문서 형태 데이터부터 벡터 데이터까지 통합 저장할 수 있는 아틀라스를 기반으로 벡터 서치가 운영된다는 점도 장점으로 꼽았다.

이 상무는 "의미론적 검색, 질의응답(Q&A) 시스템에서 결과를 생성할 때 기존에 축적된 데이터베이스를 활용하기 때문에 능동적인 답변을 제공할 수 있다"라고 부연했다. 보험사 챗봇이 보험 약관 데이터베이스를 이해하고, 상품 색상을 이미지 데이터로 분류하는 서비스 또한 같은 맥략에서 이해할 수 있다. '노란 색상의 제품이 뭐야'라고 검색을 한다고 가정했을 때 이전에는 모든 상품 사진에 색상 정보를 입력해야 했지만, 이제는 생성형 AI를 기반으로 사진만 저장해 분류가 가능해진 것이다.

끝으로 이 상무는 "의미론적으로 검색 결과를 도출할 수 있다면 훨씬 더 마음에 드는 상품을 찾을 수 있게 될 것"이라고 강조했다.

디지털데일리 네이버 메인추가
x