Elasticsearch 3

OpenSearch 란 ? - AWS의 ElasticSearch, 신흥 Vector 검색의 강자가 될 것인가

Elasticsearch와 Kibana의 대시보드는 오픈소스 라이선스였지만, AWS가 해당 오픈소스를 상업화하면서 Elastic은 2021년 License를 기반으로 상업적 제약을 걸었고, 이 때문에 AWS는 Elasticsearch를 fork한 서비스를 만들었는데 해당 서비스가 Opensearch 이다. Opensearch는 Elasticsearch의 역색인 구조를 그대로 이식하였으며, ML이나 보안 분야에서도 추가적인 서비스를 제공한다고 밝혔으며, 이러한 방식은 Apache Lucene의 역색인을 wrap-up 및 구조화 할 수 있었기 때문에 가능한 것으로 생각된다.Lucene은 2024년 10월 10.0 이상의 버전을 발표하기 시작하였는데 해당 버전에서는 SIMD ( Single Instructi..

LLM

bm25란 ? - TF IDF의 진화형

TF-IDF란 ? TF-IDF ( Term Frequency-Inverse Document Frequency )LLM의 등장으로 텍스트 관련 클래시컬한 알고리즘은 많이 쓰이지 않는 추세이지만 여전히 Data Science 나 대용량의 text 데이터를 처리 할 때, 혹은 검색 엔진과 추천시스템 등에도 해당 TF-IDF는 여전aiden0729.tistory.com 위의 글에서 TF-IDF에 대해서 언급한 적이 있는데, 이번에 말해볼 bm25는 TF-IDF의 진화 형태정도 되는 격이라고 할 수 있겠다. 재밌는건 bm25는 Best Matching 25 의 줄임말인데, 25는 해당 알고리즘을 개발하던 Okapi 그룹에서 25번 째 테스트에서 가장 좋은 결과가 나와서 이름이 붙었다고 한다. IT랑 다소 거리가..

LLM

aNN(Approximate Nearest Neighbor)

kNN이란 ? kNN이란 ? ( k-Nearest Neighbors )kNN은 Classical한 ML에서도 자주 사용되지만, LLM분야에서는 RAG에서 언급되는 VectorSearch의 시작같은 개념이다. kNN 개념은 최근접 이웃이라는 이름과 같이 직관적이다. 가장 가까운 k개의 벡터를 찾는aiden0729.tistory.com 위의 글에서 kNN에 대한 내용을 다뤘었다. 이번에는 kNN과 비슷하지만 '완벽'한 이웃보다는 '훌륭한' 이웃정도를 찾는 aNN에 대한 내용을 다룰까한다. 하지만 많은 VectorDB 및 Search에 관련된 서비스들이 검색 내용이 너무 방대해지면서 속도가 느려지기 시작하였다.따라서 Faiss, Annoy, Elasticsearch 등을 기반으로 aNN 의 개념으로 속도..

LLM