ML OPS/Vector Search 2

Amazon OpenSearch Service

LLM(Large Language Model)이 발전하면서 RAG(Retrieval Augmented Generation)이 등장하였고, RAG의 방식 중에 하나로 벡터 서치가 굉장히 많이 활용되고 있습니다. 클라우드 서비스들도 벡터 서치를 지원하는 제품을 제공하고 있습니다. AWS는 Amazon OpenSearch Service, Azure는 Congnitive Search, GCP는 Vertex AI라는 제품을 각각 보유하고 있습니다. 오늘은 클라우드 중에 점유율이 제일 높은 AWS의 제품을 한번 리뷰해보려고 합니다. AWS가 제공하는 OpenSearch는 오픈 소스로도 제공되고 있어서, 꼭 AWS에서 사용할 필요는 없습니다. 직접 구축해서 사용하고 싶으시다면 아래 링크로 들어가서 문서를 읽어보고 구..

annoy 라이브러리 소개 (nearest neighbor search, 벡터 유사도 검색)

오늘은 annoy라는 라이브러리를 소개해볼까 합니다. annoy는 딥러닝을 직접적으로 활용하지는 않지만, 딥러닝을 활용함에 있어서 벡터 유사도 검색에 매우 유용한 라이브러리 입니다. 개발자에 의하면 annoy는 Approximate Nearest Neighbors Oh Yeah의 줄임말이라고 합니다. 먼저 nearest neighbor는 많이 아실거라 생각합니다. 우리말로는 최근접 이웃이라고도 하는 이 알고리즘은 공간에서 가장 가까운 벡터를 찾는 알고리즘입니다. nearest neighbor 알고리즘은 최근 딥러닝과 연관된 분야에서도 많이 활용되고 있습니다. 예를 들면, word2vec에서 유사한 단어를 검색할 때, vector간의 거리를 계산하거나 sentence vector 간의 거리를 계산할 때도 ..