Reranker
Yeniden sıralayıcıların (reranker) maksimum hassasiyet için arama sonuçlarını ve nesne tespitlerini nasıl iyileştirdiğini keşfet. Ultralytics YOLO26'nın yapay zeka doğruluğunu optimize etmek için bu modelleri nasıl kullandığını öğren.
Bir reranker, belirli bir sorgu veya bağlamla olan ilgilerini en üst düzeye çıkarmak için arama sonuçları, belge pasajları veya nesne algılamaları gibi bir aday öğe listesini iyileştirmek ve yeniden sıralamak için tasarlanmış gelişmiş bir makine öğrenimi modelidir. Çok aşamalı sistemlerde, ilk bir "retriever" öncelikle büyük bir veri kümesinden potansiyel olarak yararlı öğeler içeren geniş bir seti hızla toplar. Reranker daha sonra ikinci aşama olarak devreye girer ve mutlak en iyi eşleşmeleri belirlemek için bu daha küçük kısa liste üzerinde derin, hesaplama açısından yoğun bir analiz gerçekleştirir. Sistemler, yoğun hesaplamayı yalnızca seçilmiş birkaç aday üzerinde yoğunlaştırarak, gerçek zamanlı uygulamalar için gereken hızdan ödün vermeden yüksek accuracy elde edebilir.
Reranker'lar Nasıl Çalışır#
Yeniden sıralama (reranking), modern semantic search ve öneri motorlarında yaygın olan iki aşamalı bir boru hattı (pipeline) içinde çalışır.
- First-Stage Retrieval: Hafif bir model, çok sayıda aday seti (örn. ilk 100 belge) almak için tüm veritabanını tarar. Bu aşama, ilgili hiçbir öğenin kaçırılmadığından emin olmak için recall değerine öncelik verir ve genellikle approximate nearest neighbor search gibi hızlı algoritmalar kullanır.
- Second-Stage Reranking: Reranker, alınan adayları işler. Basit vektör benzerliği kullanabilen retriever'ın aksine, reranker genellikle bir cross-encoder veya güçlü bir Transformer mimarisi kullanır. Sorgu ile aday öğe arasındaki tam etkileşimi inceleyerek, daha basit modellerin kaçırdığı ince nüansları ve bağlamı yakalar. Çıktı, en ilgili öğelerin en üstte yer aldığı yeniden sıralanmış bir listedir.
Reranker'lar ve Retriever'lar#
Her iki bileşen de ilgili verileri bulmayı amaçlasa da, machine learning (ML) iş akışlarında farklı amaçlara hizmet ederler.
- Retriever'lar scalability için oluşturulmuştur. Verileri sabit boyutta embeddings haline sıkıştırarak milyonlarca öğede milisaniyeler içinde arama yapmalarını sağlarlar. Ancak bu sıkıştırma, ince detayların kaybolmasına neden olabilir.
- Reranker'lar precision için oluşturulmuştur. Tüm veritabanında çalışamayacak kadar yavaştırlar ancak küçük alt kümelerde son derece etkilidirler. Hızlı alma adımının yaptığı hataları düzelten bir "ikinci görüş" sağlarlar.
Gerçek Dünya Uygulamaları#
Reranker'lar, geniş arama ile kesin anlama arasındaki boşluğu doldurarak çeşitli yüksek performanslı AI sistemlerinde temel bir rol oynar.
Retrieval-Augmented Generation (RAG)#
Retrieval-Augmented Generation (RAG) içinde, bir LLM harici verilere dayanarak soruları yanıtlar. Alma adımı LLM'e ilgisiz belgeler iletirse, model uydurma (hallucinate) yapabilir veya yanlış yanıtlar verebilir. Bir reranker, yalnızca en ilgili metin yığınlarının üretece gönderilmesini sağlayarak bir kalite filtresi görevi görür. Bu, yanıtın gerçeksel doğruluğunu artırır ve context window kullanımını azaltır.
Nesne Tespiti ve Non-Maximum Suppression#
computer vision alanında, çıkarım sırasında yeniden sıralamaya benzer bir kavram kullanılır. YOLO26 gibi modeller, bir görüntüdeki nesneler için binlerce aday bounding boxes üretir. Non-Maximum Suppression (NMS) adı verilen bir işlem, bir reranker gibi davranır. Kutuları confidence puanlarına göre sıralar ve Intersection over Union (IoU) kullanarak gereksiz, üst üste binen tahminleri eler. Bu, nihai çıktının her nesne için yalnızca tek bir en iyi algılama içermesini sağlar.
Aşağıdaki Python örneği, NMS parametrelerinin ultralytics ile çıkarım sırasında bir yeniden sıralama filtresi olarak nasıl çalıştığını gösterir.
from ultralytics import YOLO
# Load the state-of-the-art YOLO26 model
model = YOLO("yolo26n.pt")
# Run inference with NMS settings acting as the 'reranker'
# 'iou' controls the overlap threshold for suppressing duplicate candidates
# 'conf' sets the minimum confidence score required to be considered
results = model.predict("https://ultralytics.com/images/bus.jpg", iou=0.5, conf=0.25)
# Show the filtered, high-relevance detections
results[0].show()E-Ticaret Kişiselleştirme#
Amazon gibi büyük çevrim içi perakendeciler, arama sonuçlarını kişiselleştirmek için reranker'lar kullanır. Bir kullanıcı "spor ayakkabı" aratırsa, retriever binlerce ayakkabı bulur. Reranker daha sonra bunları kullanıcının geçmiş satın alma geçmişine, mevcut trendlere ve kâr marjlarına göre sıralayarak kullanıcının satın alma olasılığı en yüksek olan öğeleri sayfanın en üstüne yerleştirir.
Yeniden Sıralama İş Akışlarını Optimize Etme#
Bir reranker uygulamak, doğruluğu artırmak ile hesaplama maliyeti arasında bir denge kurmayı gerektirir. Modelleri eğitmek ve dağıtmak için Ultralytics Platform kullanan geliştiriciler için, model karmaşıklığı ile çıkarım hızı arasındaki ödünleşimi anlamak çok önemlidir. Ağır bir reranker sonuçları iyileştirirken gecikme (latency) ekler. model quantization veya knowledge distillation gibi teknikler, uç (edge) cihazlarda dağıtım için yeniden sıralama modellerini hızlandırmaya yardımcı olabilir.
Çıkarım boru hatlarını optimize etmeyi daha fazla incelemek için hyperparameter tuning ve maksimum performans için exporting models hakkındaki kılavuzlarımızı okuyun.






