Reranker
Yeniden sıralayıcı, sonuçlar kullanıcıya veya bir LLM'ye ulaşmadan önce, çapraz kodlayıcı gibi daha yavaş ve isabetli bir modelle bilgi erişim sisteminin kısa listesini yeniden puanlar.
Yeniden sıralayıcı, hızlı bir ilk aşama getiricisinden kısa bir aday listesi alıp her adayı sorguya göre daha dikkatli puanlayan ve listeyi yeniden sıralayan bir modeldir. Arama motorları, getirim destekli üretim (RAG) iş akışları ve öneri sistemleri bu yöntemi kullanır; çünkü en doğru uygunluk modelleri milyonlarca belge üzerinde çalışamayacak kadar yavaştır, ancak en iyi birkaç düzine ila birkaç yüz aday üzerinde çalışacak kadar hızlıdır. Metin aramasında standart yeniden sıralayıcı, sorguyu ve tek bir adayı birlikte okuyup tek bir uygunluk puanı veren bir Transformer olan çapraz kodlayıcıdır. Nogueira ve Cho (2019), BERT modelini bu şekilde ince ayarladı ve MS MARCO pasaj sıralama liderlik tablosunda, önceki en iyi sonuca kıyasla göreli olarak %27 daha yüksek MRR@10 elde etti.
Getir ve Ardından Yeniden Sırala Yöntemi Nasıl Çalışır#
İlk aşama duyarlılığı önceler: BM25 ile anahtar kelime eşleştirme, önceden hesaplanmış gömme vektörleri üzerinde vektör arama veya her ikisi, tüm koleksiyondan birkaç yüz makul adayı milisaniyeler içinde getirir. Yeniden sıralayıcı kesinliği önceler: her sorgu-aday çifti üzerinde tam bir model geçişi yapar ve yalnızca en iyi birkaç sonucu kullanıcıya veya bir LLM'in bağlam penceresine gönderir. Ultralytics VisualAISearch çözümü, bu türden bir ilk aşama getiricisidir; bir görüntü klasörünü CLIP ViT-B/32 ile gömer, metin sorgusuna göre kosinüs benzerliği ile sıralar ve varsayılan olarak 0,1 benzerlik eşiğinin üzerinde en fazla 30 eşleşme döndürür.
Çapraz Kodlayıcılar ve İkili Kodlayıcılar#
Yaygın getirici olan ikili kodlayıcı, sorguyu ve her belgeyi ayrı ayrı gömer; böylece belge vektörleri bir kez hesaplanıp vektör veri tabanında saklanabilir. Bu bağımsızlık aynı zamanda sınırını da belirler: belge vektörü, sorgu bilinmeden sabitlenir. Çapraz kodlayıcı, sorgu ile belgeyi tek bir girdide birleştirir; böylece öz dikkat her sorgu sözcüğünü her belge sözcüğüyle karşılaştırabilir. Ancak sorgu sırasında her çift için tam bir ileri geçiş gerekir. ColBERT, belge belirteci başına bir vektör saklayıp sorgu belirteçlerini geç etkileşimle bunlarla eşleştirerek ikisinin arasında yer alır. Sentence Transformers CrossEncoder sınıfı, MS MARCO arama sorgularıyla eğitilmiş ms-marco-MiniLM-L6-v2 gibi bir yeniden sıralayıcıyı çalıştırır:
from sentence_transformers import CrossEncoder
query = "When was the transformer architecture introduced?"
# Shortlist returned by a fast first-stage retriever, in its original order
candidates = [
"Transformer models such as GPT and BERT are widely used in natural language processing.",
"An electrical transformer changes the voltage of an alternating current.",
"Convolutional neural networks became popular after AlexNet won ImageNet in 2012.",
"The transformer was introduced in the 2017 paper Attention Is All You Need.",
]
# The cross-encoder reads the query and each candidate together and scores their relevance
reranker = CrossEncoder("cross-encoder/ms-marco-MiniLM-L6-v2")
ranked = reranker.rank(query, candidates)
for hit in ranked:
print(f"{hit['score']:6.2f} {candidates[hit['corpus_id']]}")Soruyu yanıtlayan pasaj, 6,97 puanla son sıradan ilk sıraya yükselir ve -4,48 puan alan sonraki adayın çok önüne geçer. Elektrik trafosuyla ilgili cümlede sorgunun önemli bir sözcüğü geçse de puanı -5,29'dur.
Yeniden Sıralayıcı Türleri#
- Çapraz kodlayıcılar: MS MARCO MiniLM modelleri ve BAAI'nin bge-reranker ailesi gibi uygunluk etiketleriyle ince ayarlanmış kompakt Transformer modelleri; barındırılan yeniden sıralama API'leri olarak da sunulur.
- LLM yeniden sıralayıcıları: Adayları puanlaması veya tüm listeyi tek seferde sıralaması için bir büyük dil modeline (LLM) istem verilir. RankGPT, ChatGPT ve GPT-4'ün sıralı bir liste oluşturarak pasajları yeniden sıralayabildiğini gösterdi ve ChatGPT'nin sıralamalarını küçük, özel amaçlı bir yeniden sıralayıcıya damıttı.
- Öğrenerek sıralama modelleri: Öneri ve e-ticaret sistemleri, tıklama geçmişi, fiyat ve güncellik gibi özellikler üzerinde eğitilmiş LambdaMART gibi sıralama hedeflerine sahip gradyan artırmalı ağaçlar kullanarak adayları yeniden sıralar. Bu modeller LightGBM ve XGBoost içinde kullanılabilir.
Yeniden Sıralayıcılar ve İlgili Kavramlar#
- Anlamsal arama: Genellikle ikili kodlayıcı getiricisiyle, anlama göre arama. Yeniden sıralayıcı bunun üzerine eklenen isteğe bağlı bir ikinci aşamadır.
- Hibrit arama: Anahtar kelime ve vektör sonuç listelerini, içeriği yeniden okumadan sıralamaları birleştiren karşılıklı sıra füzyonu gibi yöntemlerle birleştirir. Yeniden sıralayıcı genellikle birleştirilen liste üzerinde çalışır.
- Bilgi damıtma: Hızlı bir getiriciyi, yavaş bir yeniden sıralayıcının puanlarını taklit edecek şekilde eğitir ve yeniden sıralama kalitesinin bir kısmını ilk aşamaya taşır.
- İki aşamalı nesne algılayıcıları: Görüntülerde aynı düzeni izler: bir bölge öneri aşaması aday kutular önerir, ikinci aşama ise maksimum olmayan bastırma (NMS) örtüşen yinelenenleri kaldırmadan önce her kutuyu yeniden puanlayıp iyileştirir.










