Canlı ortamda vektör veritabanları: alaka aşınmasını baştan planlayın
Canlıdaki sistemleri batıran vektör veritabanı hatası maliyet değildir. Alaka düzeyinin sessizce aşınmasıdır.
Bir vektör veritabanı (vector store) ilk gün hızlıdır, doksanıncı gün pahalıdır, iki yüzüncü gün ise sessizce yanlıştır. Pahalı kısım iyi bilinir. Canlıdaki sistemleri batıran, sessizce yanlış olan kısımdır ve bunun bir adı var: alaka aşınması (relevance decay).
Zaten bildikleriniz
Bir vektör veritabanı metni (ya da başka türden veriyi) gömme (embedding) olarak dizinler, sonra en yakın komşu sorgularına cevap verir. İşin zor kısmı bu mekanizma değildir. Pinecone, Weaviate, Qdrant, pgvector: sağlayıcılar yetkin ve işletme açısından tablo kabaca aynıdır.
Zor kısımlar altyapı değildir. Zor kısımlar şunlardır: dizine zamanla ne olduğu, dizinin yük altında nasıl davrandığı ve altındaki gömme modeli değiştiğinde dizinin ne yaptığı.
İlk gün: hızlı
İlk gün dizin küçüktür, sorgular dardır ve alaka düzeyi yüksektir. Demo budur. Her vektör veritabanı böyle görünen bir demoyla gelir.
Tuzak, doksanıncı ve iki yüzüncü günün ölçümlerini kurmadan canlıya çıkmaktır. İlk gün olağan durum değildir; olağan durum altı ay sonrasıdır ve birlikte yaşayacağınız şey de odur.
Doksanıncı gün: pahalı
Doksanıncı güne gelindiğinde dizin büyümüştür. Ya müşterinin verisi eklenmektedir (bir bilgi dizini, bir bankacılık geçmişi) ya da uygulama veri üretmektedir (etkileşim logları, görüşme özetleri). Sorgu gecikmesi kaymaya başlar, sorgu başına maliyet tırmanır ve müşterinin operasyon ekibinden biri faturanın neden arttığını sorar.
Doksanıncı gün için işletme notları:
- Dizinden çıkarma (eviction). Artık ilgili olmayan eski vektörler (yerini yenisine bırakmış kılavuz sürümleri, süresi dolmuş destek kayıtları, kaldırılmış katalog ürünleri) dizinden çıkmalıdır. Çoğu vektör veritabanı bunu sizin yerinize yapmaz. Dizinden çıkarma politikası kurulumun bir parçasıdır.
- Dizin boyutu bütçeleri. Müşteri ve ürün başına dizin boyutuna kesin bir üst sınır koyun. Sınıra yaklaşıldığında ya dizinden çıkarma devreye girer, ya yeni dizinleme durur ya da müşteri uyarılır. Sessiz ve sınırsız büyüme, müşterinin unutmayacağı bir fatura sürprizidir.
- Sorgu bütçeleri. Her sorguyu, onu başlatan ajanla ve hizmet ettiği kurulumla etiketleyin. Bütçeyi aşan bir vektör veritabanı faturası genellikle sınırsız sorgu çalıştıran tek bir ajana dayanır. Etiketsiz bir dizin, hangisi olduğunu bulmanın hiçbir yolunu bırakmaz.
İki yüzüncü gün: sessizce yanlış
Literatürün uyarmadığı hata türü budur. Alaka düzeyi aşınır.
Üç nedenle aşınır. Gömme modeli kayması: müşteri ya da sağlayıcı gömme modelini güncellemiştir ve eski vektörler önceki sürümle üretilmiştir. Yeni sorgular ise yeni sürümle gömülür. İkisi karşılaştırılabilir değildir; en yakın komşu sonuçları vektör uzayında teknik olarak yakın, anlamca uzaktır. Sistem makul görünen ama sessizce daha kötü cevaplar döndürür.
Kaynak kayması: alttaki belgeler güncellenmiştir ama yeniden dizinlenmemiştir. Eski vektörler, ajanın özetlediği şeyi artık söylemeyen metni gösterir. Ajan parçayı (chunk) okur, doğru özetler ve geçen çeyrek için doğru, bu çeyrek için yanlış bir cevap üretir.
Sorgu dağılımı kayması: sorgular değişmiştir ama dizin değişmemiştir. Müşteri altı hafta önce ajanı yeni bir kullanım senaryosu için kullanmaya başlamıştır; dizin ise eski senaryo için ayarlanmıştır. Alaka skorları normal görünür, çünkü sistem tam olarak ayarlandığı şeyi yapmaktadır ve bu artık doğru şey değildir.
Nasıl yakalanır
Sürekli izlenen üç ölçüm:
- Parça başına gömme modeli sürümü. Dizininizde birden fazla gömme modeli sürümü varsa aşınma başlamış demektir. Ya yeni model üzerinde yeniden kurun ya da eski modelde sabitleyin. İkisini birden çalıştırmayın.
- Kaynak güncelliği. Her parçayı, kaynağının son anlamlı düzenleme tarihiyle etiketleyin; bilgi tabanını okuyan bileşen bu tarihi dizine kadar taşımalıdır. Ortalama güncellik, işin gerçekten kaldırabildiği toleransın altına düşerse yeniden dizinleyin; operasyon belgeleri hızlı eskir.
- Alaka geri bildirimi. Müşterinin operatörleri bir ajan cevabını yanlış diye işaretlediğinde, işareti o cevabı üreten parçalara geri yönlendirin. Birden fazla işaretli cevap üretmiş bir parça; dizinden çıkarılması, sıralamada geriye itilmesi ya da yeniden gömülmesi gereken bir parçadır.
Üçüncü ölçüm, vektör veritabanını iyi yaşlanan bir sisteme dönüştüren ölçümdür. Operatör geri bildirimi olmadan dizin aşınır; geri bildirimle zamanla iyileşir.
Söz vermediklerimiz
Bilgi erişimi (retrieval) her kullanım senaryosu için doğru mimari değildir ve vektör veritabanı her bilgi erişimi mimarisi için doğru arka uç değildir. Bazı iş yüklerinde anahtar kelime dizini ile bir yeniden sıralayıcı (re-ranker) vektör dizinini geçer; bazılarında graf veritabanı geçer. Vektör veritabanı araçlardan biridir. En çok kullanılan araçtır ve çoğu kurulumun ona göstermediği işletme özenini hak eder.
Bu işletme özeni, aşınan bir dizinle iyileşen bir dizin arasındaki farktır. Aynı zamanda bilgi erişiminin sıkıcı yarısıdır ve canlıya çıkan da bu sıkıcı yarıdır.
Tür
Küçük dil modelleri
Anlar
Not tipi
Uygulama rehberi
Etiketler
- vektör veritabanları
- bilgi erişimi
- operasyon
- uygulama rehberi
Sözlük
İlgili notlar