Reranker
Yeniden sıralayıcıların arama sonuçlarını ve nesne algılamalarını maksimum kesinlik için nasıl iyileştirdiğini keşfet. Ultralytics YOLO26'nın yapay zekâ doğruluğunu optimize etmek için bu modelleri nasıl kullandığını öğren.
Yeniden sıralayıcı, belirli bir sorguya veya bağlama uygunluklarını en üst düzeye çıkarmak için arama sonuçları, belge bölümleri veya nesne tespitleri gibi aday öğeler listesini iyileştirmek ve yeniden sıralamak üzere tasarlanmış gelişmiş bir makine öğrenimi modelidir. Çok aşamalı sistemlerde ilk olarak bir "getirici", devasa bir veri kümesinden potansiyel olarak yararlı öğelerden oluşan geniş bir kümeyi hızla toplar. Ardından yeniden sıralayıcı, ikinci aşamada devreye girerek bu daha küçük kısa liste üzerinde derin ve yoğun hesaplama gerektiren bir analiz gerçekleştirir ve en iyi eşleşmeleri belirler. Yoğun hesaplamayı yalnızca seçilmiş birkaç adaya odaklayan sistemler, gerçek zamanlı uygulamalar için gereken hızdan ödün vermeden yüksek doğruluk elde edebilir.
Yeniden Sıralayıcılar Nasıl Çalışır#
Yeniden sıralama, genellikle modern anlamsal arama ve öneri motorlarında kullanılan iki aşamalı bir işlem hattı içinde gerçekleştirilir.
- Birinci Aşama Getirme: Hafif bir model, geniş bir aday kümesini (ör. en iyi 100 belge) getirmek için tüm veritabanını tarar. Bu aşama, hiçbir ilgili öğenin gözden kaçmamasını sağlamak için geri çağırmayı önceliklendirir ve genellikle yaklaşık en yakın komşu araması gibi hızlı algoritmaları kullanır.
- İkinci Aşama Yeniden Sıralama: Yeniden sıralayıcı, getirilen adayları işler. Basit vektör benzerliği kullanabilen getiricinin aksine yeniden sıralayıcı, genellikle bir çapraz kodlayıcı veya güçlü bir Transformer mimarisi kullanır. Sorgu ile aday öğe arasındaki etkileşimi bütünüyle inceler ve daha basit modellerin gözden kaçırdığı ince nüansları ve bağlamı yakalar. Çıktı, en uygun öğelerin en üstte yer aldığı yeniden sıralanmış bir listedir.
Yeniden Sıralayıcılar ve Getiriciler#
Her iki bileşen de ilgili verileri bulmayı amaçlasa da makine öğrenimi (ML) iş akışlarında farklı amaçlara hizmet eder.
- Getiriciler, ölçeklenebilirlik için tasarlanmıştır. Verileri sabit boyutlu gömülere sıkıştırarak milyonlarca öğeyi milisaniyeler içinde arayabilirler. Ancak bu sıkıştırma, ince ayrıntıların kaybolmasına neden olabilir.
- Yeniden sıralayıcılar, kesinlik için tasarlanmıştır. Tüm veritabanında çalıştırılamayacak kadar yavaştırlar, ancak küçük alt kümelerde son derece etkilidirler. Hızlı getirme aşamasının yaptığı hataları düzelten bir "ikinci görüş" sağlarlar.
Gerçek Dünya Uygulamaları#
Yeniden sıralayıcılar, geniş kapsamlı arama ile kesin anlama arasındaki boşluğu doldurarak çeşitli yüksek performanslı yapay zekâ sistemlerinde temel bir rol oynar.
Getirmeyle Zenginleştirilmiş Üretim (RAG)#
Getirmeyle Zenginleştirilmiş Üretim (RAG) işleminde bir Büyük Dil Modeli (LLM), soruları harici verilere dayanarak yanıtlar. Getirme adımı LLM'ye ilgisiz belgeler iletirse model halüsinasyon görebilir veya hatalı yanıtlar verebilir. Yeniden sıralayıcı, yalnızca en ilgili metin parçalarının üreticiye gönderilmesini sağlayan bir kalite filtresi görevi görür. Bu, yanıtın olgusal doğruluğunu artırır ve bağlam penceresi kullanımını azaltır.
Nesne Tespiti ve Maksimum Olmayan Bastırma#
Bilgisayarlı görü 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 sınırlayıcı kutu üretir. Maksimum Olmayan Bastırma (NMS) adı verilen bir işlem, yeniden sıralayıcı görevi görür. Kutuları güven puanlarına göre sıralar ve Birleşim Üzerinden Kesişim (IoU) kullanarak yinelenen, üst üste binen tahminleri ortadan kaldırır. Böylece nihai çıktı, her nesne için yalnızca en iyi tespiti içerir.
Aşağıdaki Python örneği, NMS parametrelerinin ultralytics ile çıkarım sırasında nasıl bir yeniden sıralama filtresi olarak ç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ştirmesi#
Amazon gibi büyük çevrim içi perakendeciler, arama sonuçlarını kişiselleştirmek için yeniden sıralayıcıları kullanır. Bir kullanıcı "spor ayakkabı" araması yaptığında getirici binlerce ayakkabı bulur. Ardından yeniden sıralayıcı bunları kullanıcının geçmiş satın alma geçmişine, güncel trendlere ve kâr marjlarına göre sıralayarak kullanıcının satın alma olasılığının en yüksek olduğu öğeleri sayfanın en üstüne yerleştirir.
Yeniden Sıralama İş Akışlarını Optimize Etme#
Bir yeniden sıralayıcı uygulamak, doğruluk kazanımları ile hesaplama maliyetini dengelemeyi gerektirir. Modelleri eğitmek ve dağıtmak için Ultralytics Platform kullanan geliştiriciler açısından model karmaşıklığı ile çıkarım hızı arasındaki ödünleşimi anlamak çok önemlidir. Ağır bir yeniden sıralayıcı sonuçları iyileştirirken gecikme ekler. Model niceleme veya bilgi damıtma gibi teknikler, uç cihazlarda dağıtım için yeniden sıralama modellerini hızlandırmaya yardımcı olabilir.
Çıkarım işlem hatlarını optimize etmeyi daha ayrıntılı incelemek için maksimum performansa yönelik hiperparametre ayarlama ve modelleri dışa aktarma kılavuzlarımızı okuyabilirsin.









