Vector Databases
Geçen hafta paylaştığım Data Teknolojilerinin geleceği ile ilgili yazıda vector databases kavramından bahsetmiştim. Bugün bu kavrama daha yakından bakarak, vector database nedir, neden ihtiyacımız var gibi sorulara yanıt vermeye çalışacağım.
Yapay zeka getirdiği yenilik ve kolaylıkların yanında yeni teknolojilerin de altyapılarımızda kullanılmasına sebep oluyor. Çalışılan veri kümelerinin büyüklüğü düşünüldüğünde LLM, Gen AI ve semantic search uygulamaları için efektif veri işleme ihtiyacı kritik öneme sahiptir.
Vector Embedding
AI uygulamalarında vector’ler veriyi temsil etmek için kullanılır. Makine öğreniminde modeller, genellikle verileri vektörler olarak işler ve bu vektörler üzerinde işlem yapar. Örnek verecek olursak, bir NLP modeli, bir metin belgesini bir vector ile temsil eder ve bu vector üzerinde işlem yaparak belgeyi çevirebilir, sınıflandırabilir. Bu örnekte vector belgenin içeriğini bir dizi sayı olarak ifade eder. Yapay zeka projelerinde verinin etkili şekilde temsili vectorler sayesinde gerçekleştirilir. Doğru temsiller ise bir modelin daha doğru sonuçlar üretmesini sağlar.
ML algoritmaları sayılarla çalışır. Veri setimizin sayısal olmadığı durumlarda, yani elimizdeki veri bir text dosyası, bir image vb ise bu algoritmaların verimizi anlayabilmesi için vector embeddingi kullanılırız. Örneğin, kelime gömmesi, her kelimeyi bir vektörle temsil ederek benzer anlamlı kelimeleri yakın konumlandırır. Vector embedding feature engineering adı verilen ve ilgili alanda uzman kişiler tarafından oluşturulabilir. Bu yöntem pahalı ve gerçekleştirilmesi zor bir yol olduğundan, objelerin vector’e dönüştürülmesi için farklı modeller eğitilir. Örneğin GLove, BERT ve Word2Vec gibi modeller text datasının vector olarak ifade edilmesini sağlar.
Vector Databases
Vector database’ler ise vector’lerin depolanması, sorgulanması ve analiz edilmesini sağlar. Büyük ölçekli veri üzerinde arama, anlamsal sorgular yapma ve veriler arasındaki ilişkileri ortaya çıkarmak gibi amaçlarla sıklıkla kullanılır. Özellikle NLP, görüntü işleme, ses işleme, recommendation uygulamalarının performanslı şekilde hayata geçirilmesini sağlarlar. Vector database’lerin temel özelliği ise vector datası üzerinde hızlı şekilde sorgulama yapabilmek amacı ile özel olarak geliştirilmiş olmalarıdır.
Open source vector database’lere örnek olarak, qdrant, chroma, vespa
Enterprise çözümlere örnek olarak, Pinecone, Weaviate
Native bir vector database olmamasına rağmen support eden ürünlere ise, Postgresql, Elasticsearch, Singlestore örnek verilebilir.
Db-engines.com sitesinde yer alan listeyi aşağıdaki görselden inceleyebilirsiniz. Sol üstte yer alan chechkbox’ı işaretlediğinizde vector data desteği olan tüm veritabanlarının listesine ulaşabilirsiniz.
AI projelerinin popülerliği ve geleceğimizdeki yeri aşikar ancak, Vector database’lerin geleneksel veritabanlarında olduğu gibi çok farklı iş yükü ve senaryo için kullanılan veritabanları olmadıklarını belirtmek gerekir. Örneğin PostgreSQL veya Elasticsearch alanında tecrübe sahibi iseniz, vector datasını bu platformlarda yönetebileceğiniz süreçleri öğrenmek daha kolay ve faydalı olabilir.
İyi Çalışmalar
- AWS nedir? – Cloud 101 - Mayıs 16, 2024
- Vector Databases - Mayıs 15, 2024
- Data Dünyası Nereye Gidiyor? - Mayıs 8, 2024