Ultralytics YOLO27: Iscriviti alla lista d'attesa.
Licenza YOLO
Torna al glossario di Ultralytics

Reranker

Un reranker ricalcola il punteggio dei risultati preselezionati da un sistema di recupero con un modello più lento e accurato, come un cross-encoder, prima che i risultati raggiungano l'utente o un LLM.

Un reranker è un modello che riceve un breve elenco di candidati da un recuperatore veloce di primo stadio, valuta con maggiore precisione ciascun candidato rispetto alla query e riordina l'elenco. I motori di ricerca, le pipeline di generazione aumentata dal recupero (RAG) e i sistemi di raccomandazione usano questo approccio perché i modelli di rilevanza più accurati sono troppo lenti per elaborare milioni di documenti, ma abbastanza veloci per le poche decine o centinaia di candidati migliori. Nella ricerca testuale, il reranker standard è un cross-encoder, un transformer che legge insieme la query e un candidato e restituisce un unico punteggio di rilevanza. Nogueira e Cho (2019) hanno ottimizzato BERT in questo modo e hanno raggiunto il primo posto nella classifica MS MARCO per il ranking dei passaggi, con un MRR@10 superiore del 27% in termini relativi rispetto al precedente risultato migliore.

Come funziona il recupero seguito dal riordinamento#

Il primo stadio privilegia la recall: la corrispondenza delle parole chiave con BM25, la ricerca vettoriale sugli embedding precalcolati o entrambe recuperano in millisecondi alcune centinaia di candidati plausibili dall'intera raccolta. Il reranker privilegia la precisione: esegue un passaggio completo del modello su ogni coppia query-candidato e invia all'utente, o alla finestra di contesto di un LLM, solo i pochi risultati migliori. La soluzione Ultralytics VisualAISearch è un recuperatore di primo stadio di questo tipo: crea gli embedding di una cartella di immagini con CLIP ViT-B/32, le ordina in base alla similarità coseno con una query testuale e restituisce per impostazione predefinita fino a 30 corrispondenze sopra una soglia di similarità di 0,1.

Cross-encoder e bi-encoder#

Un bi-encoder, il recuperatore più comune, crea embedding separati per la query e per ogni documento, così i vettori dei documenti possono essere calcolati una volta e archiviati in un database vettoriale. Questa indipendenza è anche il suo limite: il vettore del documento è fisso prima che si conosca la query. Un cross-encoder concatena query e documento in un unico input, così la self-attention può confrontare ogni parola della query con ogni parola del documento, al costo di un passaggio forward completo per ogni coppia al momento della query. ColBERT si colloca tra i due: memorizza un vettore per ogni token del documento e abbina i token della query a questi ultimi tramite un'interazione differita. La classe CrossEncoder di Sentence Transformers esegue un reranker come ms-marco-MiniLM-L6-v2, addestrato sulle query di ricerca MS MARCO:

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']]}")

Il passaggio che risponde alla domanda passa dall'ultimo al primo posto, con un punteggio di 6,97, ben al di sopra del candidato successivo, che ottiene -4,48. La frase sul trasformatore elettrico contiene la parola chiave della query, ma riceve un punteggio di -5,29.

Tipi di reranker#

  • Cross-encoder: Transformer compatti ottimizzati sui dati di rilevanza, come i modelli MiniLM di MS MARCO e la famiglia bge-reranker di BAAI, disponibili anche come API di reranking ospitate.
  • Reranker basati su LLM: Si chiede a un modello linguistico di grandi dimensioni (LLM) di assegnare un punteggio ai candidati o di ordinare in una volta sola un intero elenco. RankGPT ha mostrato che ChatGPT e GPT-4 possono riordinare i passaggi producendo un elenco ordinato e ha distillato le classifiche di ChatGPT in un piccolo reranker dedicato.
  • Modelli di apprendimento del ranking: I sistemi di raccomandazione e di e-commerce riordinano i candidati con modelli come gli alberi potenziati con gradiente, basati su caratteristiche quali cronologia dei clic, prezzo e aggiornamento, e addestrati con obiettivi di ranking come LambdaMART, disponibile in LightGBM e XGBoost.
  • Ricerca semantica: Ricerca basata sul significato, solitamente con un recuperatore bi-encoder. Un reranker è un secondo stadio opzionale.
  • Ricerca ibrida: Unisce elenchi di risultati basati su parole chiave e vettori, spesso con la fusione reciproca dei ranghi, che combina le posizioni senza esaminare di nuovo i contenuti. Un reranker opera spesso sull'elenco unificato.
  • Distillazione della conoscenza: Addestra un recuperatore veloce a imitare i punteggi di un reranker lento, trasferendo parte della qualità del reranking al primo stadio.
  • Rilevatori di oggetti a due stadi: Seguono lo stesso schema per le immagini: uno stadio di proposte di regioni suggerisce riquadri candidati e un secondo stadio ricalcola il punteggio e perfeziona ciascuno di essi prima che la soppressione dei massimi non locali (NMS) rimuova i duplicati sovrapposti.

Esplora le soluzioni

La visione artificiale nello sport

La visione artificiale nello sport

Scopri come Ultralytics YOLO alimenta la computer vision nello sport con il tracciamento di giocatori e palloni, l'analisi delle prestazioni, gli approfondimenti per gli allenatori e la riabilitazione degli atleti.
Scopri di più
Computer vision per immagini aeree

Computer vision per immagini aeree

Trasforma immagini aeree e riprese da drone in informazioni utili in tempo reale per agricoltura, acquacoltura, conservazione e analisi geospaziale con Ultralytics YOLO.
Scopri di più
Computer vision nel settore aerospaziale

Computer vision nel settore aerospaziale

Applica la visione artificiale nel settore aerospaziale con Ultralytics YOLO per l'ispezione degli aeromobili, il rilevamento di FOD sulle piste, le operazioni di terra aeroportuali e il rilevamento di difetti nei materiali compositi.
Scopri di più
Visione artificiale nella sicurezza

Visione artificiale nella sicurezza

Proteggi ogni sito con i modelli Ultralytics YOLO. L'IA visiva alimenta il monitoraggio perimetrale, il rilevamento delle minacce, il riconoscimento delle targhe e la sicurezza sul lavoro.
Scopri di più
Visione artificiale nella robotica

Visione artificiale nella robotica

Dai più potenza alle macchine intelligenti con i modelli Ultralytics YOLO. Nell'ambito della robotica, l'IA visiva alimenta la navigazione autonoma, la percezione, il tracciamento degli oggetti e il controllo in tempo reale.
Scopri di più
Visione artificiale nella logistica

Visione artificiale nella logistica

Semplifica la logistica con i modelli Ultralytics YOLO. L'IA per la visione consente l'ispezione dei pacchi, la selezione, il tracciamento dei veicoli e il monitoraggio della sicurezza nei magazzini in tempo reale.
Scopri di più
Visione artificiale nel commercio al dettaglio

Visione artificiale nel commercio al dettaglio

Ripensa il commercio al dettaglio con i modelli Ultralytics YOLO. L'IA per la visione consente di tracciare le scorte, monitorare gli scaffali, gestire le code e ottenere informazioni più approfondite sui clienti.
Scopri di più
Visione artificiale in ambito sanitario

Visione artificiale in ambito sanitario

Crea soluzioni sanitarie con i modelli Ultralytics YOLO. In ambito sanitario, l'IA per la visione consente di elaborare più rapidamente le immagini mediche, migliorare la diagnostica e monitorare i pazienti.
Scopri di più
Computer vision nella produzione

Computer vision nella produzione

Ottimizza la produzione con i modelli Ultralytics YOLO. La visione basata sull'IA migliora il controllo qualità, il rilevamento dei difetti, la conformità ai requisiti sui DPI e l'automazione delle linee di assemblaggio.
Scopri di più
Computer vision nel settore automobilistico

Computer vision nel settore automobilistico

Applica la computer vision al settore automobilistico con i modelli Ultralytics YOLO. La visione basata sull'IA migliora la sicurezza stradale, i sistemi di assistenza alla guida e l'automazione dei veicoli, per strade più intelligenti.
Scopri di più
Visione artificiale in agricoltura

Visione artificiale in agricoltura

Porta l'IA visiva nell'agricoltura intelligente con i modelli Ultralytics YOLO. Gestisci il monitoraggio delle colture, il tracciamento del bestiame e l'agricoltura di precisione per ottenere raccolti più abbondanti e intelligenti.
Scopri di più

Costruiamo insieme il futuro dell'IA!

Inizia il tuo percorso verso il futuro del machine learning