벡터 유사도 검색은 눈에 잘 띄는 곳에 숨어 있다
인공지능(AI)은 매우 사소하고 잘 알려지지 않은 일들이 수행되는 방식까지도 바꿀 잠재력을 가지고 있습니다. 예를 들어, 매년(어쨌든 COVID 이전에는) 73,000명 이상이 홍콩 마라톤에 참가해 경쟁하기 위해 모입니다. 모든 경주 참가자의 완주 시간을 정확히 감지하고 기록하기 위해, 주최 측은 각 주자에게 부착할 73,000개의 RFID 칩 타이머를 배포합니다. 칩 타이밍은 명백한 단점이 있는 복잡한 작업입니다. 자재(칩과 전자 판독 장치)는 타이밍 회사에서 구매하거나 임대해야 하며, 경기 당일 주자들이 칩을 수령할 수 있도록 등록 구역에 인력을 배치해야 합니다. 또한 센서가 출발선과 결승선에만 설치되어 있다면, 부정한 주자들이 코스를 일부 생략할 가능성도 있습니다.
마라톤 주자의 시간을 측정하는 일은 거의 사람들이 생각하지 않는 물류적 과제입니다.
이제 한 장의 사진을 사용해 결승선에서 촬영된 영상에서 개별 주자를 자동으로 식별할 수 있는 video AI 애플리케이션을 상상해 보세요. 각 참가자에게 타이밍 칩을 부착하는 대신, 주자들은 결승선을 통과한 후 앱을 통해 자신의 사진을 업로드하기만 하면 됩니다. 즉시 개인 맞춤형 하이라이트 영상, 경기 통계 및 기타 관련 정보가 제공됩니다. 경기 곳곳에 설치된 카메라는 참가자의 추가 영상을 촬영하고 각 주자가 전체 코스를 완주했는지 확인할 수 있습니다. 어떤 솔루션이 구현하기 더 쉽고 비용 효율적으로 보이나요?
홍콩 마라톤이 타이밍 칩을 대체하기 위해 머신 러닝을 활용하고 있지는 않지만(아직은), 이 예시는 AI가 우리 주변의 모든 것을 극적으로 바꿀 수 있는 잠재력을 보여줍니다. 경기 시간 측정의 경우, 수만 개의 칩을 머신 러닝 알고리즘과 결합된 몇 대의 카메라로 줄여줍니다. 하지만 video AI는 벡터 유사도 검색의 많은 애플리케이션 중 하나일 뿐입니다. 벡터 유사도 검색은 인공지능을 사용해 거대한, 조 단위 규모의 비정형 데이터셋을 분석하는 프로세스입니다. 이 글에서는 벡터 검색 기술이 무엇인지, 어떻게 활용될 수 있는지, 그리고 그 어느 때보다 접근성을 높여주는 오픈 소스 소프트웨어와 리소스를 포함해 벡터 검색 기술의 개요를 제공합니다.
바로가기:
벡터 유사도 검색이란 무엇인가요?
비디오 데이터는 매우 상세하고 점점 더 흔해지고 있으므로, 논리적으로는 video AI를 구축하기 위한 훌륭한 비지도 학습 신호가 될 것처럼 보입니다. 실제로는 그렇지 않습니다. 특히 대량의 비디오 데이터를 처리하고 분석하는 일은 여전히 인공지능의 과제로 남아 있습니다. 비정형 데이터 분석에서 이루어진 많은 발전과 마찬가지로, 이 분야의 최근 진전은 상당 부분 벡터 유사도 검색 덕분입니다.
모든 비정형 데이터와 마찬가지로 비디오의 문제는 사전 정의된 모델이나 조직 구조를 따르지 않기 때문에, 대규모로 처리하고 분석하기 어렵다는 점입니다. 비정형 데이터에는 이미지, 오디오, 소셜 미디어 행동, 문서 등이 포함되며, 전체 데이터의 약 80~90% 이상을 차지하는 것으로 추정됩니다. 기업들은 거대하고 수수께끼 같은 비정형 데이터셋 속에 묻혀 있는 비즈니스에 중요한 인사이트를 점점 더 인식하고 있으며, 이 미실현 잠재력을 활용할 수 있는 AI 애플리케이션에 대한 수요를 이끌고 있습니다.
CNN, RNN, BERT와 같은 신경망을 사용하면 비정형 데이터를 기계가 읽을 수 있는 수치 데이터 형식인 특징 벡터(일명 임베딩)로 변환할 수 있습니다. 그런 다음 알고리즘을 사용해 코사인 유사도나 유클리드 거리와 같은 척도로 벡터 간 유사도를 계산합니다. 벡터 임베딩과 유사도 검색을 통해 이전에는 식별할 수 없었던 데이터셋을 사용하여 머신러닝 애플리케이션을 분석하고 구축할 수 있습니다.
벡터 유사도는 확립된 알고리즘을 사용해 계산되지만, 비정형 데이터셋은 일반적으로 규모가 방대합니다. 이는 효율적이고 정확한 검색을 위해 막대한 저장 공간과 컴퓨팅 성능이 필요하다는 뜻입니다. 유사도 검색을 가속화하고 리소스 요구 사항을 줄이기 위해 근사 최근접 이웃(ANN) 검색 알고리즘이 사용됩니다. 유사한 벡터를 함께 클러스터링함으로써 ANN 알고리즘은 전체 데이터셋을 검색하는 대신 유사한 벡터를 포함할 가능성이 가장 높은 벡터 클러스터로 쿼리를 보낼 수 있게 합니다. 이 접근 방식은 더 빠르지만 어느 정도의 정확도를 희생합니다. ANN 알고리즘을 활용하면 벡터 검색이 수십억 개의 딥러닝 모델 인사이트를 밀리초 단위로 훑을 수 있습니다.
벡터 유사도 검색의 애플리케이션에는 어떤 것들이 있나요?
벡터 유사도 검색은 다양한 인공지능, 딥러닝, 전통적인 벡터 계산 시나리오 전반에 걸쳐 적용됩니다. 다음은 다양한 벡터 유사도 검색 애플리케이션에 대한 개략적인 개요입니다:
전자상거래: 벡터 유사도 검색은 전자상거래에서 폭넓게 적용될 수 있으며, 쇼핑객이 스마트폰으로 촬영했거나 온라인에서 찾은 이미지를 사용해 제품을 검색할 수 있게 하는 역이미지 검색 엔진을 포함합니다. 또한 사용자 행동, 관심사, 구매 이력 등을 기반으로 한 개인화 추천은 벡터 검색에 의존하는 전문 추천 시스템을 통해 제공될 수 있습니다.
물리 및 사이버 보안: 비디오 AI는 보안 분야에서 벡터 유사도 검색의 여러 애플리케이션 중 하나일 뿐입니다. 다른 시나리오에는 안면 인식, 행동 추적, 신원 인증, 지능형 출입 통제 등이 포함됩니다. 또한 벡터 유사도 검색은 점점 더 흔해지고 정교해지는 사이버 공격을 저지하는 데 중요한 역할을 합니다. 예를 들어, 코드 유사도 검색을 사용하면 소프트웨어 조각을 알려진 취약점이나 멀웨어 데이터베이스와 비교하여 보안 위험을 식별할 수 있습니다.
추천 엔진: 추천 엔진은 머신러닝과 데이터 분석을 사용하여 사용자에게 제품, 서비스, 콘텐츠, 정보를 제안하는 시스템입니다. 사용자 행동, 유사한 사용자의 행동 및 기타 데이터는 딥러닝 방법을 사용해 처리되어 추천을 생성합니다. 충분한 데이터가 있으면 알고리즘은 엔터티 간의 관계를 이해하고 이를 자율적으로 표현하는 방법을 만들어내도록 훈련될 수 있습니다. 추천 시스템은 폭넓게 적용 가능하며, Netflix의 콘텐츠 추천, Amazon의 쇼핑 추천, Facebook의 뉴스 피드 등 사람들이 이미 매일 상호작용하고 있는 것입니다.
챗봇: 전통적으로 챗봇은 대규모 학습 데이터셋을 필요로 하는 일반적인 지식 그래프를 사용해 구축됩니다. 그러나 딥러닝 모델을 사용해 구축된 챗봇은 데이터를 전처리할 필요가 없으며, 대신 자주 묻는 질문과 답변 사이의 매핑이 생성됩니다. 사전 학습된 자연어 처리(NLP) 모델을 사용하면 질문에서 특징 벡터를 추출한 다음 벡터 데이터 관리 플랫폼을 사용해 저장하고 쿼리할 수 있습니다.
이미지 또는 비디오 검색: 딥 러닝 네트워크는 1970년대 후반부터 시각적 패턴을 인식하는 데 사용되어 왔으며, 현대 기술 트렌드는 이미지 및 비디오 검색을 그 어느 때보다 강력하고 접근 가능하게 만들었습니다.
화학적 유사성 검색: 화학적 유사성은 화합물의 특성을 예측하고 특정 속성을 가진 화학 물질을 찾는 데 핵심적이며, 신약 개발에 필수적입니다. 특징 벡터로 표현되는 지문이 각 분자에 대해 생성되고, 그런 다음 벡터 간의 거리를 사용하여 유사성을 측정합니다. 신약 발견에 AI를 사용하는 것은 기술 업계에서 탄력을 받고 있으며, ByteDance(TikTok의 중국 모회사)는 해당 분야의 인재 채용을 시작했습니다.
오픈 소스 벡터 유사성 검색 소프트웨어 및 리소스.
무어의 법칙, 클라우드 컴퓨팅, 리소스 비용 하락은 인공지능을 그 어느 때보다 접근 가능하게 만든 거시적 트렌드입니다. 오픈 소스 소프트웨어와 기타 공개적으로 이용 가능한 리소스 덕분에 AI/ML 애플리케이션 구축은 더 이상 대형 기술 기업만의 전유물이 아닙니다. 아래에서는 오픈 소스 벡터 데이터 관리 플랫폼인 Milvus에 대한 간략한 개요를 제공하고, AI를 모두의 손이 닿는 곳에 두는 데 도움이 되는 공개 데이터셋도 몇 가지 소개합니다.
Milvus, 오픈 소스 벡터 데이터 관리 플랫폼
Milvus는 대규모 벡터 데이터를 위해 특별히 구축된 오픈 소스 벡터 데이터 관리 플랫폼(일명 벡터 데이터베이스)입니다. Facebook AI Similarity Search (Faiss), Non-Metric Space Library (NMSLIB), Annoy를 기반으로 하는 Milvus는 다양한 강력한 도구를 단일 플랫폼 아래에 모으는 동시에, 각 도구의 독립 실행 기능을 확장합니다. 이 시스템은 대규모 벡터 데이터셋을 저장, 처리, 분석하기 위해 목적에 맞게 구축되었으며, 위에서 언급한 모든 AI 애플리케이션(및 그 이상)을 구축하는 데 사용할 수 있습니다.
Milvus에 대한 자세한 정보는 웹사이트에서 확인할 수 있습니다. 튜토리얼, Milvus 설정 지침, 벤치마크 테스트, 다양한 애플리케이션 구축에 관한 정보는 Milvus bootcamp에서 제공됩니다. 프로젝트에 기여하는 데 관심 있는 개발자는 GitHub에서 Milvus의 오픈 소스 커뮤니티에 참여할 수 있습니다.
인공지능 및 머신 러닝을 위한 공개 데이터셋
Google과 Facebook 같은 기술 대기업이 작은 기업들보다 데이터 우위를 가지고 있다는 것은 비밀이 아니며, 일부 평론가들은 특정 규모를 초과하는 기업이 익명화된 데이터 일부를 더 작은 경쟁사와 공유하도록 강제하는 “점진적 데이터 공유 의무”를 주장하기도 합니다. 다행히도 AL/ML 프로젝트에 사용할 수 있는 공개 데이터셋은 수천 개에 달합니다:
The People’s Speech Dataset: 이 ML Commons의 데이터셋은 59개 언어로 전사된 87,000시간 이상의 음성을 포함한 세계 최대의 음성 데이터셋을 제공합니다.
UC Irvine Machine Learning Repository: University of California at Irvine은 머신 러닝 커뮤니티를 돕기 위한 노력의 일환으로 수백 개의 공개 데이터셋을 유지 관리합니다.
Data.gov: 미국 정부는 교육, 기후, COVID-19 등을 아우르는 수십만 개의 공개 데이터셋을 제공합니다.
Eurostat: 유럽연합의 통계 사무소는 경제 및 금융부터 인구와 사회적 조건에 이르기까지 다양한 산업을 아우르는 공개 데이터셋을 제공합니다.
Harvard Dataverse: The Harvard Dataverse Repository는 여러 분야의 연구자들에게 개방된 무료 데이터 저장소입니다. 많은 데이터셋이 공개되어 있으며, 일부는 더 제한적인 이용 약관이 적용됩니다.
이 목록이 결코 완전한 것은 아니지만, 놀라울 정도로 다양한 공개 데이터셋을 발견하기 위한 좋은 출발점입니다. 공개 데이터셋에 대한 더 많은 정보와 다음 ML 또는 데이터 과학 프로젝트에 적합한 데이터를 선택하는 방법은 이 Medium 게시물을 확인하세요.
벡터 유사도 검색에 대해 더 알아보려면 다음 자료를 확인하세요:
계속 읽기

From Vector Database to Vector Lakebase
Zilliz offers a fully managed Vector Lakebase powered by Milvus, unifying real-time vector search, lake-scale discovery, and Al data operations.

Milvus 2.6.x Now Generally Available on Zilliz Cloud, Making Vector Search Faster, Smarter, and More Cost-Efficient for Production AI
Milvus 2.6.x is now GA on Zilliz Cloud, delivering faster vector search, smarter hybrid queries, and lower costs for production RAG and AI applications.

How to Use Anthropic MCP Server with Milvus
MCP + Milvus: Streamline AI agent development with standardized data access, eliminating integration hassles while enhancing context and flexibility.



