벡터 검색은 대규모 컬렉션에서 일반적으로 벡터로 표현되는 유사한 항목이나 데이터 포인트를 찾는 데 사용되는 검색 기술입니다. 벡터 또는 임베딩은 단어, 엔티티, 문서, 이미지 또는 비디오의 숫자 표현입니다. 벡터는 요소 간의 의미적 관계를 포착하여 머신 러닝 모델과 인공 지능 애플리케이션의 효과적인 처리를 가능하게 합니다.
키워드 검색을 주로 사용하는 기존 검색과 달리 벡터 검색은 k-최근접 이웃 검색(knn)과 같은 벡터 유사성 검색 기술을 사용하여 일부 거리 메트릭을 기반으로 쿼리 벡터와 유사한 데이터 포인트를 검색합니다. 벡터는 데이터 요소들 간의 의미론적 관계와 유사성을 포착하여, 단순한 키워드를 넘어 의미론적인 검색을 가능하게 합니다.
전통적인 키워드 검색과 벡터 검색 간의 차이점을 설명하기 위해 예를 살펴보겠습니다. 최고의 피자 레스토랑에 대한 정보를 찾고 있고 전통적인 키워드 검색 엔진에서 "최고의 피자 레스토랑"을 검색한다고 가정합시다. 키워드 검색은 "최고의", "피자" 및 "레스토랑"이라는 정확한 단어가 포함된 페이지를 찾고 "최고의 피자 레스토랑" 또는 "내 주변 피자 레스토랑"과 같은 결과만 반환합니다. 전통적인 키워드 검색은 검색 이면의 맥락이나 의도를 이해하기보다는 키워드를 일치시키는 데 중점을 둡니다.
반면, 시맨틱 벡터 검색의 검색 엔진은 쿼리 이면의 의도를 이해합니다. 시맨틱(semantic)은 정의상 언어의 의미와 관련이 있으며 시맨틱 검색은 쿼리의 의미와 맥락을 이해합니다. 그래서 콘텐츠에 "최고의 피자 레스토랑"이라는 정확한 단어가 사용되지 않았어도 최고 평점 또는 추천이 많은 피자 가게에 대해 이야기하는 콘텐츠를 찾습니다. 맥락과 관련성이 더 큰 결과를 제공하며 다양한 위치에 있는 고품질 피자 가게에 대해 설명하는 기사나 가이드를 포함할 수 있습니다.
기존 검색 방법들은 일반적으로 키워드, 태그, 메타데이터와 같은 개별 토큰이나 특징을 사용하여 데이터를 나타냅니다. 위의 예에서 볼 수 있듯이 이러한 방법은 정확한 일치에 의존하여 관련 결과를 검색합니다. 반면, 벡터 검색은 데이터가 벡터로 표현되는 수학적 공간인 연속 벡터 공간에서 고밀도 벡터(대부분의 또는 모든 요소가 0이 아닌 벡터)로 데이터를 나타냅니다. 고밀도 벡터의 각 차원은 데이터의 잠재적 특징이나 측면에 해당합니다. 이는 직접적으로 관찰되지 않고 수학적 모델이나 알고리즘을 통해 데이터에서 추론되는 기본적인 특성이나 속성을 의미합니다. 이러한 잠재적 특징은 데이터의 숨겨진 패턴과 관계를 포착하여 항목을 고차원 공간에서 벡터로 보다 의미 있고 정확하게 표현할 수 있게 해줍니다.
기존 검색 방식은 계산 및 메모리 제약으로 인해 대규모 데이터 세트나 고차원 데이터를 위한 확장에 어려움을 겪을 수 있습니다. 반면, 벡터 임베딩은 더 큰 데이터 세트와 더 복잡한 모델로 쉽게 확장할 수 있습니다. 대부분의 값이 여러 차원에 걸쳐 0인 데이터의 희소 표현과 달리, 임베딩은 대부분의 차원에서 0이 아닌 값을 갖는 고밀도 벡터 표현입니다. 따라서 벡터 임베딩은 더 작은 저차원 공간에 더 많은 정보를 저장할 수 있어 필요한 메모리가 적습니다.1그 결과, 머신 러닝 알고리즘과 모델은 더 적은 컴퓨팅 리소스로 임베딩을 더 효율적으로 사용할 수 있습니다.
이 설명에서는 자연어 처리(NLP)에 적용할 수 있는 벡터 표현, 즉 단어, 엔티티 또는 문서를 나타내는 벡터에 초점을 맞춥니다.
다음과 같은 작은 문장 말뭉치를 벡터화하여 벡터화 과정을 설명하겠습니다. “the cat sat on the mat”, “the dog played in the yard”, “birds chirped in the trees”.
벡터 임베딩을 구축하는 첫 번째 단계는 원시 데이터 세트를 정리하고 처리하는 것입니다. 여기에는 노이즈 제거 및 텍스트 표준화 작업이 포함될 수 있습니다. 이 예에서는 텍스트가 이미 정리되고 표준화되어 있으므로 정리 작업은 수행하지 않습니다.
다음으로 데이터 세트에서 학습할 임베딩 모델을 선택합니다. 학습된 임베딩 모델은 데이터 세트의 각 데이터 포인트에 대한 임베딩을 생성하는 데 사용됩니다. 텍스트 데이터의 경우 널리 사용되는 오픈 소스 임베딩 모델에는 Word2Vec, GloVE, FastText 또는 BERT나 RoBERTa 같은 사전 학습된 트랜스포머 기반 모델이 있습니다.2
이 예에서는 Word2Vec을 사용하여 임베딩을 생성합니다.
다음으로, 임베딩은 벡터 데이터베이스에 저장되거나 Elasticsearch와 같은 검색 엔진용 벡터 검색 플러그인이 사용됩니다. 벡터 검색에서는 쿼리를 벡터화하여 생성된 쿼리 벡터와 쿼리 대상 데이터의 표현인 문서 벡터 간의 유사성을 평가하여 검색 결과의 관련성을 설정합니다. 유사한 쿼리를 기반으로 임베딩을 빠르고 효율적으로 검색할 수 있도록 벡터 데이터베이스에 인덱스를 생성해야 합니다. 계층적 탐색 가능한 작은 세계(HNSW)와 같은 기술을 사용하여 임베딩을 인덱싱하고 쿼리 시 유사성 검색을 용이하게 할 수 있습니다. HNSW는 데이터 세트를 구성하고 인덱스 구축 과정에서 유사한 벡터를 함께 클러스터링하여 가장 가까운 이웃을 빠르게 검색할 수 있도록 합니다.
마지막으로, 새 쿼리에 사용할 벡터를 생성하는 메커니즘 또는 절차를 설정해야 합니다. 여기에는 일반적으로 사용자 검색 쿼리를 실시간으로 입력받아 동일한 벡터 모델을 사용하여 처리하고 해당 벡터 표현을 생성하는 API 또는 서비스를 만드는 작업이 포함됩니다. 그런 다음 이 벡터를 사용하여 데이터베이스에서 검색하여 가장 관련성이 높은 결과를 얻을 수 있습니다.
벡터 검색에서 관련성은 쿼리 벡터와 문서 벡터 간의 유사성을 측정하여 결정됩니다. 두 벡터를 서로 비교하고 유사성을 결정하기 위해 유클리드 거리 또는 코사인 유사성3과 같은 일부 거리 측정이 사용될 수 있습니다.
유클리드 거리는 두 점 사이의 직선 거리를 측정한 것입니다. 두 점의 해당 좌표 사이의 제곱 차이의 합의 제곱근으로 계산됩니다.
이 공식은 추가 차원을 설명하기 위해 더 많은 항을 추가하여 더 높은 차원 공간으로 확장할 수 있습니다.
코사인 유사성은 다차원 공간에서 두 벡터 간의 유사성을 측정하는 척도입니다. 두 벡터 사이 각도의 코사인을 계산하여 벡터가 서로 얼마나 가깝게 정렬되어 있는지를 나타냅니다.
수학적으로 두 벡터 사이의 코사인 유사성 cos(θ)는 두 벡터의 점곱을 해당 크기의 곱으로 나눈 값으로 계산됩니다.
코사인 유사성 범위는 -1부터 1까지입니다. 여기서:
코사인 유사성은 벡터의 크기보다는 벡터 간의 방향 관계에 초점을 맞추기 때문에 벡터를 다룰 때 특히 유용합니다.
앞서 언급한 거리 메트릭을 사용하여 벡터 유사성을 측정할 수 있지만, 유사성 검색을 위해 쿼리 시점에 가능한 모든 벡터를 쿼리 벡터와 비교하는 것은 비효율적이고 느립니다. 이 문제를 해결하기 위해 근사 최근접 이웃(ANN) 검색을 사용할 수 있습니다.
ANN 알고리즘은 정확한 일치를 찾는 것이 아니라 유클리드 거리 또는 코사인 유사성과 같은 일부 거리 메트릭을 기반으로 지정된 쿼리에 거의 가장 가까운 벡터를 효율적으로 검색합니다. 이러한 알고리즘은 일정 수준의 근사치를 허용하므로 전체 코퍼스에서 임베딩 유사성을 계산할 필요 없이 최근접 이웃 검색의 계산 비용을 크게 줄일 수 있습니다.
가장 널리 사용되는 ANN 알고리즘 중 하나는 HNSW 그래프입니다. 계층 탐색 가능한 작은 세계 그래프 구조는 데이터 세트를 인덱싱하며, 인덱스를 작성할 때 유사한 벡터를 함께 그룹화하여 가장 가까운 이웃을 빠르게 검색할 수 있도록 합니다. HNSW는 데이터를 이웃으로 구성하여 연결 가능성이 있는 것으로 연결합니다. 밀도가 높은 벡터를 인덱싱할 때는 적합한 이웃과 잠재적인 연결을 식별하여 그래프 구조에 저장합니다. 고밀도 벡터 쿼리로 검색하는 동안 HNSW는 최적의 이웃 진입점을 찾아 가장 가까운 이웃을 반환합니다.
벡터 검색은 벡터 표현을 기반으로 유사한 항목을 효율적으로 검색할 수 있기 때문에 여러 도메인에서 다양한 사용 사례를 가지고 있습니다. 벡터 검색의 몇 가지 일반적인 응용 분야는 다음과 같습니다.
벡터 검색은 검색 엔진에서 쿼리와의 유사성을 기반으로 문서, 기사, 웹 페이지 또는 기타 텍스트 콘텐츠를 검색하는 데 사용됩니다. 이를 통해 사용자는 쿼리에 사용된 정확한 용어가 문서에 없더라도 관련 정보를 찾을 수 있습니다.
벡터 검색은 대규모 텍스트 코퍼스에서 관련 맥락을 검색하기 위한 검색 증강 생성(RAG) 프레임워크에서 중요한 역할을 합니다. RAG는 벡터 검색과 생성형 언어 모델을 결합하여 응답을 생성하는 생성형 AI용 프레임워크입니다.
기존 언어 생성 작업에서는 OpenAI의 GPT(Generative Pre-trained Transformer) 또는 IBM의 Granite 모델과 같은 대규모 언어 모델(LLM)을 사용하여 입력 프롬프트를 기반으로 응답을 구성합니다. 그러나 이러한 모델은 맥락과 관련이 있거나 사실에 근거한 정확한 응답 또는 최신 응답을 생성하는 데 어려움을 겪을 수 있습니다. RAG는 응답 생성 전에 검색 단계를 통합하여 이러한 한계를 해결합니다. 검색 중에 벡터 검색을 사용하면 일반적으로 벡터 데이터베이스에 저장된 대규모 텍스트 코퍼스에서 관련 구문이나 문서와 같이 맥락에 맞는 정보를 식별할 수 있습니다. 그런 다음 검색된 맥락 기반으로 응답을 생성하기 위해 LLM을 사용합니다.
언어 생성 외에도 RAG 및 벡터 검색은 질문 답변, 챗봇, 요약 및 콘텐츠 생성을 포함한 다양한 다른 NLP 작업에 추가로 적용됩니다.
벡터 검색을 하이브리드 검색 방식에 통합하여 검색 프로세스의 효율성과 유연성을 높일 수 있습니다. 하이브리드 검색은 벡터 검색을 키워드 기반 검색이나 메타데이터 기반 검색과 같은 다른 검색 기술과 결합한 것입니다. 벡터 검색은 쿼리와의 유사성을 기준으로 항목을 검색하는 데 사용할 수 있고, 다른 검색 방법은 정확히 일치하거나 특정 기준에 따라 항목을 검색하는 데 사용할 수 있습니다.
벡터 스토어는 이미지 및 비디오 검색 엔진에서 유사성을 기반으로 시각적 콘텐츠를 인덱싱하고 검색하는 데 사용됩니다. 이미지와 비디오 임베딩이 벡터로 저장되어, 대규모 데이터 세트에서 시각적으로 유사한 이미지나 비디오를 검색할 수 있습니다.
스트리밍 서비스는 물론 이커머스, 소셜 미디어, 비주얼 미디어 플랫폼의 추천 엔진도 벡터 검색으로 구동할 수 있습니다. 벡터 검색을 사용하면 사용자가 이전에 상호 작용했거나 좋아했던 항목과의 유사성을 기반으로 제품, 영화, 음악 또는 기타 항목을 추천할 수 있습니다.
벡터 검색은 지리공간 데이터 애플리케이션에서 쿼리 위치 또는 패턴과의 근접성 또는 유사성을 기반으로 관심 지점, 지리적 특징 또는 공간 궤적과 같은 공간 데이터를 검색하는 데 사용됩니다. 이를 통해 지리 정보 시스템 및 위치 기반 서비스에서 효율적인 공간 검색과 분석을 수행할 수 있습니다.
IBM은 2,000개 조직을 대상으로 AI 이니셔티브에 대한 설문조사를 실시하여 효과적인 전략과 효과적이지 못한 전략, 그리고 앞서나갈 수 있는 방법을 알아보았습니다.
IBM Granite는 비즈니스에 맞게 맞춤화되고 AI 애플리케이션 확장에 최적화되었으며 개방적이고 성능이 뛰어나며 신뢰할 수 있는 AI 모델 제품군입니다. 언어, 코드, 시계열 및 가드레일 옵션을 살펴보세요.
지금 개인 또는 여러 사용자 구독을 구매하여 100개가 넘는 온라인 과정에 액세스하세요. 저렴한 가격으로 다양한 제품에 걸쳐 기술을 확장할 수 있습니다.
IBM 사고 리더들이 이끄는 이 커리큘럼은 비즈니스 리더들에게 성장을 촉진하는 AI 투자의 우선순위를 정하는 데 필요한 지식을 제공합니다.
AI 투자에 대해 더 나은 수익을 얻고 싶으신가요? 주요 영역에서 차세대 AI를 확장하여 최고의 인재들이 혁신적인 새 솔루션을 구축하고 제공하도록 지원함으로써 변화를 주도하는 방법을 알아보세요.
생성형 AI와 머신 러닝을 비즈니스에 자신 있게 통합하는 방법 알아보기
강력한 AI 전략의 3가지 핵심 요소인 경쟁 우위 확보, 비즈니스 전반의 AI 확장, 신뢰할 수 있는 AI 발전에 대해 자세히 알아보세요.
1 Bahaaldine Azarmi, Jeff Vestal, Vector Search for Practitioners with Elastic, Packt Publishing, 2023
2 Vicki Boykis, “What are embeddings,” 2023, https://vickiboykis.com/what_are_embeddings
3 Trey Grainger, Doug Turnbull, Max Irwin, AI Powered Search, Manning Publications, 2024