LEMUR’un txtai’ye entegrasyonu, geç-etkileşimli erişim modellerindeki pratik bir sorunu ele alıyor: Bu modeller sorgudaki veya belgedeki her simge için bir vektör tutuyor. Bu, her metni tek bir vektörle temsil etmeye kıyasla daha ayrıntılı bilgiler sağlıyor, ancak bunların geleneksel yoğun arama dizinleriyle kullanılmasını zorlaştırıyor. txtai, bu çoklu vektörlü temsili aynı tür dizinler üzerinden aranabilen sabit boyutlu bir vektöre dönüştüren bir yol sunuyor. Ayrıca, simge vektörleri birbirine çok benzediğinde yön farklılıklarından daha iyi yararlanmak için mean centering adlı ayarlanabilir bir seçenek ekliyor.
13 Ağustos 2026’da Hugging Face blogunda Morgan Carr tarafından topluluk makalesi olarak yayımlanan içerik; değişikliğin arka planını, belirli deneylerin sonuçlarını ve LEMUR çıktısının txtai’de nasıl eğitilip yükleneceğini inceliyor. Sonuç, erişim teknikleri arasında genel bir sıralama olarak sunulmuyor; karşılaştırmalar tek bir model, üç veri kümesi, tek bir cihaz ve kesin aramayla sınırlı kalıyor.
Birden çok vektörden dizinlenebilir bir vektöre
Geç-etkileşimli aramada, tüm sorgu simgeleri belge simgeleriyle MaxSim kullanılarak karşılaştırılıyor; sorgudaki her simge için en güçlü eşleşme tutuluyor ve bu değerler toplanıyor. Learned Multi-Vector Retrieval’ın kısaltması olan LEMUR ise, geleneksel bir vektör dizininin kullanılabilmesini korurken bu etkileşimin sonucunu yaklaşık olarak hesaplamaya çalışan sabit boyutlu bir kodlama öğreniyor.
txtai’deki LEMUR çıktısı bir özellik kodlayıcıdan, çıktı normalleştirme istatistiklerinden ve simge vektörlerinden oluşan bir örneklemden meydana geliyor. Çıkarım sırasında sorgu, öğrenilmiş özelliklerin toplamına dönüştürülüyor; belge ise depolanan örneklem üzerinde sıradan en küçük kareler ağırlıklarından oluşan bir kümeyle temsil ediliyor. Sabit vektörler arasındaki iç çarpım, özgün geç-etkileşim sonucunun yaklaşık karşılığı oluyor.
Ortaya çıkan çıktı, eğitimde kullanılan veri kümesine özgü ve txtai’de bir embeddings dizini yüklenmeden önce eğitilmesi gerekiyor. Çıktı config.json ve model.safetensors olarak kaydediliyor. epochs=100 ayarı kalite odaklı MLP yolunu seçerken epochs=0, daha düşük maliyetli bir alternatif olarak deterministik rastgele ELM özelliklerini seçiyor.
Eğitim verilerinin seçimi belirleyici bir faktördü
nfcorpus veri kümesindeki bileşen çıkarma deneyi, özellik haritasını öğrenmek için kullanılan vektör dağılımının diğer bazı eğitim tercihlerinden daha etkili olduğunu gösterdi. Veri kodlayıcısının simge vektörleriyle eğitilen MLP, 0.15870 NDCG@10 değeri elde etti; bu, eğitilmemiş ELM’nin 0.19187’lik sonucundan daha düşüktü. Sorgu kodlayıcısının vektörleri kullanıldığında sonuç 0.24868’e yükseldi ve doğrulamaya göre epoch sayısı seçildiğinde 0.25534’e ulaştı.
İçerikteki analize göre öğrenme dağılımının seçilmesi, veri vektörleri deneyi ile nihai sonuç arasındaki ölçülen iyileşmenin %93’ünü açıklarken epoch seçimi kalan %7’lik iyileşmeye katkıda bulundu. Bu nedenle LemurTrainer varsayılan olarak learncategory değerini query olarak ayarlıyor; data seçimine veya ayrı bir öğrenme kümesi aktarılmasına da izin veriyor.
Karşılaştırmalı test ne gösterdi?
Karşılaştırmada colbert-ir/colbertv2.0 modeli, NVIDIA GeForce RTX 4080 SUPER, torch 2.13.0+cu130 ve IDMap,Flat üzerinden kesin Faiss araması kullanıldı. Varsayılan 10.240 boyut genişliğine sahip MUVERA, 2.048 boyuta indirgenmiş MUVERA ve 2.048 boyut genişliğine sahip MLP kodlamalı LEMUR karşılaştırıldı.
- nfcorpus üzerinde LEMUR 0.25524 değerine ulaştı; aynı boyuttaki MUVERA 0.16299, varsayılan boyuttaki MUVERA ise 0.23544 elde etti.
- scifact üzerinde LEMUR 0.54910 değerine ulaştı; indirgenmiş MUVERA 0.36757, varsayılan sürüm ise 0.50021 elde etti.
- arguana üzerinde LEMUR 0.42556 değerine ulaştı; indirgenmiş MUVERA 0.26280, varsayılan sürüm ise 0.34614 elde etti.
Bu, aynı boyuttaki MUVERA’ya kıyasla nfcorpus’ta %56,6, scifact’ta %49,4 ve arguana’da %61,9 iyileşmeye karşılık geliyor. Varsayılan MUVERA vektörüyle karşılaştırıldığında iyileşme sırasıyla %8,4, %9,8 ve %22,9 oldu. Ayrıca ölçümde kullanılan LEMUR dizinleri, vektör genişliği 10.240’tan 2.048 boyuta düştüğü için varsayılan MUVERA dizinlerinin beşte biri kadar alan kullandı.
Ancak bu sayıların kapsamı önemli: fiqa ve scidocs deneyleri gerekli veri kümesi alınamadığı için tamamlanmadı; ölçümler ayrıca tek bir model, tek bir cihaz ve kesin aramaya dayanıyordu. txtai, 5.000 satıra kadar kesin arama kullanıyor, ardından IVF dizinine geçiyor. scifact deneyinde varsayılan IVF, kesin aramaya kıyasla LEMUR’un NDCG@10 değerini %43 düşürürken MUVERA’daki düşüş %25 oldu. Bu nedenle kesin arama sonucunun ölçek büyütüldüğünde veya yaklaşık arama kullanıldığında aynı kalacağı varsayılamaz.
mean centering neden eklendi?
ColBERTv2’den lightonai/LateOn’a geçildiğinde yapılan test, simge vektörlerinin yön bakımından yüksek derecede benzer olduğunu ortaya koydu. 5.000 çiftten oluşan bir örneklemde vektörler arasındaki ortalama kosinüs benzerliği 0.9508, MaxSim dağılımı ise 0.0559’du. Kümenin ortalaması çıkarılıp yeniden normalleştirildikten sonra benzerlik 0.0033’e düştü ve MaxSim dağılımı 0.4772’ye yükseldi. Bu, kendi başına bir erişim ölçütü değil; ancak merkezlemenin sabit boyutlu kodlayıcıya yakalayabileceği daha geniş bir yön alanı sağladığına işaret ediyor.
Erişim testleri, faydanın modele bağlı olduğunu doğruladı. LateOn matrisinde, dört ölçülen hücrenin tümünde batch düzeyinde merkezleme, merkezlemeyi kapatmaktan veya küme ortalamasını kullanmaktan daha güçlüydü. Örneğin nfcorpus üzerinde LEMUR sonucu merkezleme olmadan 0.00000’dan batch merkezlemeyle 0.33309’a yükselirken scifact üzerinde 0.04985’ten 0.69016’ya çıktı. Ancak ColBERTv2 deneyleri, merkezlemenin MUVERA için etkisiz kalabileceğini veya zararlı olabileceğini gösterdi; bu nedenle koşulsuz, evrensel bir seçenek olarak sunulmadı.
Birleştirilen değişikliklerdeki varsayılan kural, yüklenen modelde torch.nn.Linear türünde birden fazla doğrusal katman bulunduğunda batch merkezlemeyi etkinleştiriyor. Sıfır veya tek katmanlı modeller önceki davranışlarını koruyor; kararın elle geçersiz kılınması da mümkün. Merkezleme, simge vektörleri normalleştirildikten ve LEMUR veya MUVERA uygulanmadan önce gerçekleşiyor; ardından bir normalleştirme işlemi daha yapılıyor. document, batch veya collection kapsamı seçilebiliyor. collection kapsamı ayrıca gömülü bir ortalamayı veya center.mean içeren bir Safetensors dosyasını kabul ediyor.
Kullanıcı açısından pratikte ne değişiyor?
LEMUR kullanımı, dizin oluşturulmadan önce ayrı bir eğitim adımı gerektiriyor; ayrıca eğitim sırasındaki vektör ayarlarının yükleme ayarlarıyla tutarlı olması gerekiyor. Yayımlanan örnek, kesin aramanın pratik olduğu durumlarda center: true ile bir LEMUR çıktısının kullanılmasını ve Faiss’in IDMap,Flat üzerine kurulmasını gösteriyor. İçerikteki en yeni yayımlanmış txtai sürümü v9.12.0, birleştirilen değişiklikler ise v9.13.0’ı hedefliyor; sürüm öncesi kaynakları denemek için GitHub deposundaki master sürümü yalıtılmış bir ortamda kurulabilir.
Pratik sonuç, LEMUR’un veya merkezlemenin her durumda üstün olduğu değil; txtai’nin iki farklı sorun için iki ayrı araç sunmaya başlamasıdır: LEMUR, geç-etkileşim temsilini sabit bir vektöre indirgemek için; merkezleme ise bazı modellerde uygun olmayan simge vektörü geometrisini ele almak için kullanılıyor. Bulguları genellemeden önce farklı modeller, veri kümeleri ve ayarlanmış yaklaşık dizinler üzerinde daha geniş testler yapılması gerekiyor.