Vektör Veritabanı, genellikle gömme olarak adlandırılan yüksek boyutlu vektörleri depolamak, yönetmek ve sorgulamak için tasarlanmış özel bir veritabanı türüdür. Yapay Zeka (AI) ve Makine Öğrenimi (ML) bağlamında bu vektörler, derin öğrenme (DL) modelleri tarafından oluşturulan metin, görüntü, ses ve video gibi yapılandırılmamış verilerin sayısal temsilleridir. Yapılandırılmış verileri ve tam eşleşmeleri işleme konusunda mükemmel olan geleneksel veritabanlarının aksine, vektör veritabanları benzerlik aramaları için optimize edilmiştir ve uygulamaların anahtar kelime eşleştirmesi yerine kavramsal veya anlamsal yakınlığa dayalı öğeleri bulmasını sağlar. Bu özellik, birçok modern yapay zeka odaklı özellik için temeldir.
Temel Kavramlar ve İşlevsellik
Vektör veritabanları, veritabanında belirli bir sorgu vektörüne "en yakın" vektörleri bulmayı içeren vektör arama prensibine göre çalışır. Bu yakınlık tipik olarak Kosinüs Benzerliği veya Öklid Mesafesi gibi mesafe ölçütleri kullanılarak ölçülür. Temel iş akışı şunları içerir:
- Gömme Oluşturma: Veriler (örneğin, metin, görüntüler) bir gömme modeli kullanılarak vektörlere dönüştürülür (metin için BERT veya Ultralytics YOLO görüntüler için model). Bu vektörler, verilerin anlamsal özünü yüksek boyutlu bir uzayda yakalar.
- İndeksleme: Oluşturulan vektörler vektör veritabanında saklanır. Hızlı erişim sağlamak için veritabanı, başta HNSW (Hierarchical Navigable Small World) veya IVF (Inverted File Index) gibi Approximate Nearest Neighbor (ANN) arama teknikleri olmak üzere özel indeksleme algoritmaları kullanır. Bu indeksler, milyarlarca vektörde bile hızlı benzerlik aramalarına olanak tanıyarak, gerçek zamanlı çıkarım için çok önemli olan önemli hız kazanımları için mükemmel doğruluk ticareti yapar. Popüler YSA kütüphaneleri arasında FAISS ve ScaNN bulunmaktadır.
- Sorgulama: Bir sorgu (aynı zamanda bir vektöre dönüştürülmüş) alındığında, veritabanı, seçilen uzaklık metriğine dayalı olarak sorgu vektörüne en çok benzeyen vektörleri verimli bir şekilde bulmak ve döndürmek için dizinlerini kullanır.
Vektör Veritabanları ve Geleneksel Veritabanları
Geleneksel veritabanları (SQL veya NoSQL veritabanları gibi) yapılandırılmış veya yarı yapılandırılmış veriler için tasarlanmıştır ve standart veritabanı indeksleme yöntemlerini (örn. B-ağaçları) kullanarak tam eşleştirmeye dayanır. Vektörler olarak temsil edilen yapılandırılmamış veriler için gereken benzerlik aramasının üstesinden gelmek için doğal olarak donanımlı değildirler.
Temel farklılıklar şunlardır:
- Veri Türü: Geleneksel veritabanları alfanümerik verileri, JSON'u vb. işler. Vektör veritabanları yüksek boyutlu sayısal vektörleri işler.
- Sorgu Türü: Geleneksel veritabanları tam eşleşmeler, aralık sorguları veya anahtar kelime aramaları gerçekleştirir. Vektör veritabanları benzerlik aramaları (en yakın komşu aramaları) gerçekleştirir.
- İndeksleme: Geleneksel veritabanları B-ağaçları veya hash indeksleri gibi indeksler kullanır. Vektör veritabanları ANN indeksleri kullanır.
Yapay Zeka ve Makine Öğrenimi Uygulamaları
Vektör veritabanları çok sayıda yapay zeka uygulamasının bel kemiğidir:
- Anlamsal Arama: Arama motorlarının veya dahili bilgi tabanlarının sonuçları sadece anahtar kelimeler yerine anlama dayalı olarak bulmasını sağlamak. Örneğin, "sağlıklı öğle yemeği fikirleri" araması, tam arama terimlerini içermese bile salata ve tahıl kaseleri için tarifler getirebilir.
- Öneri Sistemleri: Netflix veya Spotify gibi platformlara güç vererek, içerik ve kullanıcı profillerinin gömülmesine dayalı olarak, bir kullanıcının daha önce beğendiklerine benzer filmler veya şarkılar önermek.
- Görüntü Tanıma ve Görsel Arama: Kullanıcıların benzer görselleri bulmasını sağlamak(tersine görsel arama) veya bir görsel yükleyerek e-ticarette ürün keşfini mümkün kılmak. Bu, bilgisayarla görmede (CV) önemli bir uygulamadır. Ultralytics HUB gibi platformlar, büyük görsel veri kümelerini yönetmek ve bunlar arasında arama yapmak için vektör veritabanlarından yararlanabilir.
- Doğal Dil İşleme (NLP): Metin semantiğini anlayarak soru-cevap sistemleri, sohbet robotları ve belge kümeleme gibi uygulamaları desteklemek.
- Geri Alım-Artırılmış Üretim (RAG): Modelin yanıtlarını gerçek verilere dayandırmak ve halüsinasyonları azaltmak için bir vektör veritabanından ilgili, güncel bilgileri alarak Büyük Dil Modellerini (LLM 'ler) geliştirmek.
- Anomali Tespiti: Vektör uzayında yoğun kümelerden uzakta bulunan olağandışı veri noktalarını (vektörleri) tanımlama, dolandırıcılık tespiti veya sistem izleme için yararlıdır.
- Veri Keşif Araçları: Ultralytics Explorer gibi araçlar, benzer veri noktalarını bir araya getirerek kullanıcıların büyük veri kümelerini görselleştirmelerine ve anlamalarına yardımcı olmak için katıştırmalar kullanır.
Popüler Vektör Veritabanları
Aşağıdakiler de dahil olmak üzere çeşitli açık kaynaklı ve ticari vektör veritabanları mevcuttur:
- Pinecone: Popüler bir yönetilen vektör veritabanı hizmeti.
- Milvus: Ölçeklenebilirlik için tasarlanmış açık kaynaklı bir vektör veritabanı.
- Weaviate: Grafik özelliklerine sahip açık kaynaklı, yapay zekaya özgü bir vektör veritabanı.
- Chroma DB: Geliştirici deneyimine odaklanan açık kaynaklı bir gömme veritabanı.
- Qdrant: Açık kaynaklı bir vektör veritabanı ve benzerlik arama motoru.
Vektör veritabanlarının yükselişi, sofistike yapay zeka uygulamaları oluşturmada katıştırmaların ve benzerlik aramasının artan önemini yansıtmakta ve vektör veritabanı pazarında önemli bir büyümeye yol açmaktadır. Bunlar, modern makine öğrenimi modelleri tarafından yakalanan içgörülerden etkin bir şekilde yararlanmak için kritik bir altyapı bileşenidir.