- Tek vektör gömme tabanlı arama hızlı ve verimlidir, ancak son dönemde ColBERT gibi çoklu vektör modelleri her token için birden çok vektör kullanarak daha zengin anlam ve daha yüksek doğruluk sunar
- Çoklu vektör yaklaşımı, Chamfer similarity gibi karmaşık benzerlik hesaplamaları nedeniyle işlem miktarını ve arama maliyetini büyük ölçüde artırır; bu da büyük ölçekli gerçek zamanlı arama için engel oluşturur
- Google araştırma ekibinin önerdiği MUVERA, çoklu vektör bilgisini sabit uzunluklu vektöre (FDE, Fixed Dimensional Encoding) sıkıştırarak tek vektör tabanlı MIPS (maksimum iç çarpım araması) ile ultra hızlı arama yaptıktan sonra yeniden sıralama uygular
- Bu yöntem veriden bağımsızdır ve teorik temel (Chamfer similarity yaklaşım hatası garantisi) sunar; mevcut PLAID'e kıyasla %90'dan fazla gecikme azalması ve %10'dan fazla recall artışı sağlar
- FDE sıkıştırmayı da destekler (%32 bellek tasarrufu), açık kaynak uygulaması ve makalesi de yayımlanmıştır; bu nedenle arama, öneri ve NLP gerçek servislerine uyarlamak için uygundur
Gömme modelleri ve bilgi erişiminin gelişimi
- Derin öğrenme tabanlı gömme modelleri, kullanıcı sorguları (ör. “Everest Dağı'nın yüksekliği”) için çok büyük veri kümelerinde (doküman, görsel, video vb.) ilgili bilgiyi hızlıca bulmanın temel araçlarından biridir
- Her veri noktasını tek vektör gömme biçimine dönüştürerek, anlamsal olarak benzer verilerin sayısal olarak da benzer vektör yapısına sahip olması hedeflenir
- Vektörler arası iç çarpım benzerliği hesaplaması kullanılarak, maksimum iç çarpım araması (MIPS) algoritmalarıyla hızlı arama performansı elde edilir
- Ancak son dönemde ColBERT gibi çoklu vektör modelleri, daha yüksek arama doğruluğu ve karmaşık ilişkileri kavrayabilme yetenekleriyle dikkat çekmektedir
Çoklu vektör modellerinin kullanımı ve sınırları
- Çoklu vektör modelleri, her veri noktasını birden fazla gömme vektöründen oluşan bir küme olarak temsil eder
- Chamfer benzerlik ölçümü gibi bileşik benzerlik fonksiyonları kullanarak, mevcut tek vektör yaklaşımının yakalayamadığı bilgi kapsamını ve ilişkileri daha doğru biçimde tespit eder
- Bu sayede daha doğru bilgi erişimi ve ilgililiği yüksek doküman önerileri mümkün olur
- Dezavantajı ise gömme sayısındaki artış ve benzerlik hesaplama karmaşıklığı nedeniyle, arama için gereken hesaplama kaynaklarının ciddi biçimde büyümesidir
- Token başına vektör sayısının artması → işlem miktarında ve bellekte büyük artış
- Doğrusal olmayan (matris çarpımı) işlemler zorunlu → tek vektör tabanlı sublinear (ultra hızlı) arama mümkün değil
- Büyük ölçekli servislerde maliyet ve gecikme hızla artar
MUVERA: FDE ile çoklu vektör aramada yenilik
- “MUVERA: Multi-Vector Retrieval via Fixed Dimensional Encodings” makalesi, bu verimlilik sorununu aşmak için yeni bir algoritma öneriyor
- MUVERA, çoklu vektör bilgisini tek bir FDE vektörüne dönüştürür ve mevcut MIPS indekslerini/sunucularını aynen kullanarak yüksek hızlı aday arama yapılmasını sağlar
- FDE üretimi: Sorgu ve dokümanın çoklu vektör kümeleri sabit uzunluklu vektöre (FDE) dönüştürülür (veriden bağımsız eşleme)
- MIPS araması: Tüm dokümanların FDE'leri MIPS indeksine kaydedilir, sorgu FDE'siyle adaylar ultra hızlı biçimde bulunur
- Doğruluk garantili yeniden sıralama: Yalnızca aday dokümanlara Chamfer similarity gibi özgün çoklu vektör işlemleri uygulanır ve hassas yeniden sıralamayla nihai sonuç verilir
- FDE, veri kümesinden bağımsız olarak uygulanabilir ve streaming gibi dinamik ortamlarda da avantaj sağlar
Teorik temel
- Olasılıksal ağaç gömme gibi ileri geometrik algoritmalardan esinlenerek, FDE ile çoklu vektör benzerliği güçlü biçimde yaklaşık hesaplanır
- Gömme uzayı rastgele bölümlere ayrılır; sorgu/doküman vektörleri aynı bölümde yer alırsa yaklaşık benzerlik hesaplanır
- Makalede, Chamfer similarity yaklaşım hata aralığı içinde garanti sağlayan teori ve deneysel veriler sunulur
Deney sonuçları ve performans
- BEIR benchmark gibi çeşitli büyük ölçekli IR veri kümelerinde MUVERA'nın performansı doğrulandı
- Mevcut PLAID vb. yaklaşımlara kıyasla ortalama %10 daha yüksek recall sağlandı
- Arama gecikmesi (latency) %90'dan fazla azaltıldı
- Aynı recall düzeyinde, FDE tabanlı aday doküman sayısı mevcut yönteme göre 5 ila 20 kat azaltıldı
- Product Quantization gibi ek sıkıştırma teknikleriyle de uyumu yüksek (%32 bellek tasarrufu)
- Çoklu vektör aramanın pratikliği büyük ölçüde iyileştirildi; büyük ölçekli arama, öneri ve NLP uygulamaları için uygundur
Sonuç ve kullanım alanları
- MUVERA, çoklu vektör aramayı tek vektör düzeyinde hızlandıran yenilikçi bir yaklaşımdır
- Açık kaynak uygulama (GitHub bağlantısı), makale ve deney sonuçlarının tamamı yayımlanmıştır
- Arama motorları, öneri sistemleri, doğal dil işleme vb. alanlarda büyük ölçekli çoklu vektör aramayı verimli hale getirmek için somut bir alternatiftir
- İleride ek araştırma ve optimizasyonlarla birlikte, daha geniş endüstriyel kullanım alanlarına yayılması beklenmektedir
1 yorum
Hacker News yorumu
Yakın zamanda Weaviate'e Muvera ekleme deneyimini paylaşıyor ve blog, podcast bağlantılarını veriyor. ColBERT tarzı multi-vector yaklaşımında, her token için embedding yapılınca maliyetin patlayabildiğinden bahsediliyor. Örneğin mevcut 768 boyutlu bir vektör yerine bu sayı en fazla 16.640 boyuta veya daha üstüne çıkabiliyor; bu da birçok durumda gerçekçi olmayan bir yük oluşturuyor. Muvera, birden fazla vektörü tek bir sabit boyutlu vektöre dönüştürüyor ve bu boyut genelde daha küçük oluyor; böylece herhangi bir ANN indeksinde doğrudan kullanılabiliyor. Tek vektör kullanımı sayesinde mevcut algoritmalar ve çeşitli kuantizasyon teknikleri uygulanabildiği için bellek tasarrufu sağlanıyor. PLAID'den farklı olarak belirli bir indeks yapısı ya da clustering varsayımı gerektirmediği için gecikme süresinin de daha düşük olduğu vurgulanıyor
Son dönemde mean-pooling ile tek bir embedding üretme yaklaşımından uzaklaşan bir eğilim olduğundan bahsediliyor. Tüm token bazlı embedding'leri ayrı ayrı ele almak için vektör sayısı fazla olduğundan, bunları uygun şekilde azaltan bir yönteme ihtiyaç olduğu belirtiliyor. Bu yöntemde token embedding'leri keyfi bölümlere göre cluster'lanıyor, her bölüm için mean-pooling uygulanıyor ve ardından bunlar birleştirilerek sabit uzunluklu bir embedding oluşturuluyor. Tam multi-vector karşılaştırması performans açısından zor olduğundan, bunu tek vektör araçlarıyla ve benzer performans çerçevesinde kıyaslayabilmek için k adet vektöre cluster'layıp birleştirme yapılıyor. Sonuçta partition sayısı sabitlendiğinden, bu yaklaşım k-means tarzı bir token embedding clustering etkisi veriyor. Token'lar dinamik olarak cluster'lansa değişken sayıda embedding elde edilebileceği ve bunun daha iyi sonuç verebileceği de öne sürülüyor
Bu yöntemin hiperparametrelere çok duyarlı olduğu ve kendi deneylerinde maxsim'e benzer performans vermediği deneyimi paylaşılıyor
Muvera'nın sorgunun FDE'sini (Fixed Dimensional Embedding) hesaplayıp model veri kümesinde benzer FDE'leri aradığı şeklinde anladığını, eğer durum buysa modeldeki aynı boyuttaki tüm FDE'lerin de hesaplanması gerekip gerekmediğini soruyor
Bu alanı çok iyi bilmediğini belirterek, SQL sorgusunun bir tablodaki tüm adları döndürmesi gibi nöral embedding sorgularının da aynı şekilde çalışıp çalışmadığını, yoksa sonuçların daha belirsiz olup olmadığını soruyor
Özünde birden fazla embedding'i tek bir yapıya sıkıştırarak, yani bir “embedding of embeddings” oluşturarak boyutu azaltmayı ve performansı artırmayı hedefleyen bir yaklaşım olduğu özetleniyor. Birden fazla embedding büyük ölçüde örtüşen bilgi taşıdığı için, bunlar tek bir yapıya sıkıştırılabiliyorsa ek embedding'lerin sağladığı değerin çoğunlukla sınırlı düzeyde olduğu düşünülüyor. Performans benzerse, bilgi kuramı açısından bunun kayıpsız şekilde temsil edilip edilemeyeceği sorgulanıyor
Bunun mevcut feature hash yöntemlerinden nasıl ayrıldığı, yani birden fazla embedding'i teke indirgeme açısından farkının ne olduğu soruluyor; ayrıca UMAP gibi tek vektör üzerinde boyut indirgeme tekniklerinin yardımcı olup olamayacağı da merak ediliyor