Çoklu Vektör Gömme Modelleri İçin Token Havuzlama Duyarlı (Token Pooling-Aware) Eğitim
Kaynak: Hugging Face Blog
İçindekiler 4 başlık
Çoklu vektör gömme (multi-vector embedding) modelleri, bir sorgudaki her token'a belge içinde kendi eşleşmesini bulma fırsatı tanır. Bu yaklaşım arama sistemlerini son derece ifade güçlü kılar; ancak belge vektörlerinin sayısı hızla devasa boyutlara ulaşır. Milyonlarca belgeden oluşan bir derlem, yüz milyonlarca vektör barındırabilir!
Token havuzlama (token pooling), benzer token vektörlerini birleştirerek bu temsilleri küçültür. Ancak sıkıştırma ne kadar agresif yapılırsa, faydalı bilgileri kaybetme riski de o kadar artar. Havuzlama duyarlı eğitim (pooling-aware training), vektörler birleştirilirken önemli bilgileri korumayı kodlayıcıya (encoder) öğreterek aynı depolama bütçesiyle daha yüksek erişim kalitesi elde etmenizi sağlar.
Normal şekilde eğitilmiş bir modelde pool_factor=4 kullanıldığında, belge vektörlerinde 4 kat azalma sağlanırken havuzlanmamış NanoBEIR nDCG@10 başarımının %94,6'sı korunur. Token havuzlama duyarlı eğitim ise aynı depolama bütçesinde bu koruma oranını %97,8'e çıkarır! Bu çalışma, Stefan Josef'in Learn to Pool araştırması ve LightOn'un hedefli eğitim ile uyarlanabilir bütçeleri inceleyen havuzlama düzenlileştirme (pooling regularization) çalışması üzerine inşa edilmiştir ve yöntemi Sentence Transformers ile uygulanabilir hale getirmeye odaklanır.
İçindekiler (Makale Yapısı)#
- Çoklu Vektörlü Erişim Neden Bu Kadar Çok Vektöre İhtiyaç Duyar?
- Token Havuzlama (Token Pooling)
- Havuzlama Bütçesi Seçimi
- Uyarlanabilir Havuzlamayı Kalibre Etme
- Token Havuzlama Duyarlı Eğitim
- Sentence Transformers'ta Kayıp Sarmalayıcı (Loss Wrapper)
- İsteğe Bağlı Çekirdek (Kernel) Hızlandırma
- Eğitilmiş Modelin Kullanımı
- Değerlendirme Sonuçları
- Sıkıştırma Tekniklerini Birleştirme
- Referanslar
- Kod ve Modeller
Çoklu Vektörlü Erişim Neden Bu Kadar Çok Vektöre İhtiyaç Duyar?#
Tek vektörlü gömme modelleri, tüm belgeyi tek bir vektöre sıkıştırır. ColBERT gibi çoklu vektör modelleri ise bağlamsal token vektörlerinden oluşan bir koleksiyon tutarak sorgunun farklı kısımlarının belgenin farklı bölümleriyle eşleşmesine olanak tanır. Örneğin, uzun pil ömürlü bir dizüstü bilgisayar hakkındaki bir sorgu, belgenin bir kısmında dizüstü bilgisayar, diğer kısmında ise pil dayanıklılığı hakkındaki kanıtları yakalayabilir.
MaxSim puanlaması ile her sorgu vektörü kendine en iyi uyan belge vektörünü seçer ve bu puanlar toplanır:
$$\operatorname{MaxSim}(Q, D) = \sum_{q \in Q} \max_{d \in D} q^\top d$$
Fast-PLAID tarafından desteklenen 2-bit veya 4-bit artıklı nicemleme (residual quantization) kullanılsa bile belge başına yüzlerce vektör depolamak ciddi maliyet yaratır. Artık koordinat başına 4 bit ile 128 boyutlu 200 vektör, belge başına 12,8 KB (milyon belge başına 12,8 GB) alan gerektirir. Her belgeyi 50 vektöre havuzlamak, aynı boyut ve hassasiyette bu alanı 3,2 GB'a düşürür. Buradaki temel gözlem, bir belgedeki pek çok vektörün birbiriyle benzer olması ve yakından ilişkili kavramları birlikte temsil etme fırsatı sunmasıdır.
Token Havuzlama (Token Pooling)#
HierarchicalTokenPooling, Ward hiyerarşik kümeleme yöntemini kullanarak benzer token gömmelerini gruplandırır. Her token vektörü için ayrı bir grupla başlayarak, küme içi vektör dağılımında en küçük artışa neden olan iki grubu tekrarlı biçimde birleştirir.
Yazılım Geliştirme ve Pratik Çıkarımlar#
- Maliyet ve Performans Dengesi: Üretim ortamında RAG ve arama sistemleri geliştirirken bellek (RAM/VRAM) en büyük darboğazdır. Vektör sayısını 4 kat azaltıp doğruluğu %97,8 oranında korumak, altyapı maliyetlerini doğrudan dörtte birine indirmek anlamına gelir.
- Eğitim Aşamasında Optimizasyon: Sıkıştırmayı yalnızca çıkarım (inference) aşamasında sonradan uygulamak yerine, Sentence Transformers kayıp sarmalayıcıları ile eğitim sürecine dahil etmek kalite kaybını minimize eder.
- Hibrit Sıkıştırma: Nicemleme (4-bit quantization) ve hiyerarşik token havuzlamayı birlikte kullanarak büyük ölçekli vektör veritabanlarında hem hız hem de depolama avantajı elde edebilirsiniz.
Kaynak ve atıf
Bu yazı, Hugging Face Blog üzerinde yayımlanan içerikten yararlanılarak Edumints tarafından yapay zekâ desteğiyle Türkçe hazırlandı. Ayrıntılar ve yazarların kendi anlatımı için orijinaline bakabilirsin:
- huggingface.co/blog/token-pooling