Ultralytics YOLO27: Entre na lista de espera.
Licenciar o YOLO
Voltar ao glossário da Ultralytics

Reranker

Um reranker volta a pontuar a lista restrita de um sistema de recuperação com um modelo mais lento e preciso, como um codificador cruzado, antes de os resultados chegarem a um utilizador ou LLM.

Um reranker é um modelo que recebe uma lista curta de candidatos de um recuperador rápido de primeira fase, atribui uma pontuação mais cuidadosa a cada candidato em relação à consulta e reordena a lista. Os motores de pesquisa, os pipelines de geração aumentada por recuperação (RAG) e os sistemas de recomendação usam este padrão porque os modelos de relevância mais precisos são demasiado lentos para processar milhões de documentos, mas suficientemente rápidos para processar as dezenas ou centenas de primeiros resultados. Na pesquisa de texto, o reranker padrão é um cross-encoder, um transformer que lê em conjunto a consulta e um candidato e produz uma única pontuação de relevância. Nogueira e Cho (2019) ajustaram o BERT desta forma e lideraram a classificação de passagens do MS MARCO com um MRR@10 27% superior, em termos relativos, ao do melhor resultado anterior.

Como funciona a recuperação seguida de reranking#

A primeira fase privilegia o recall: a correspondência de palavras-chave com BM25, a pesquisa vetorial em embeddings pré-calculados, ou ambas, obtém algumas centenas de candidatos plausíveis de toda a coleção em milissegundos. O reranker privilegia a precisão: executa uma passagem completa do modelo para cada par consulta-candidato, e apenas os seus melhores resultados são apresentados ao utilizador ou inseridos na janela de contexto de um LLM. A solução VisualAISearch da Ultralytics é um recuperador deste tipo para a primeira fase: cria embeddings de uma pasta de imagens com CLIP ViT-B/32, ordena-as pela similaridade do cosseno com uma consulta de texto e devolve até 30 correspondências acima de um limiar de similaridade de 0.1, por predefinição.

Cross-encoders e bi-encoders#

Um bi-encoder, o recuperador habitual, cria embeddings da consulta e de cada documento separadamente, pelo que os vetores dos documentos podem ser calculados uma vez e armazenados numa base de dados vetorial. Essa independência também é a sua limitação: o vetor do documento é fixo antes de se conhecer a consulta. Um cross-encoder concatena a consulta e o documento numa única entrada, para que a autoatenção possa comparar cada palavra da consulta com cada palavra do documento, ao custo de uma passagem completa para cada par no momento da consulta. O ColBERT fica entre os dois: armazena um vetor por token do documento e compara os tokens da consulta com eles através de interação tardia. A classe CrossEncoder do Sentence Transformers executa um reranker como o ms-marco-MiniLM-L6-v2, treinado com consultas de pesquisa do 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']]}")

A passagem que responde à pergunta passa do último lugar para o primeiro, com uma pontuação de 6.97, muito acima da do candidato seguinte, que é -4.48. A frase sobre o transformador elétrico partilha a palavra-chave da consulta, mas obtém -5.29.

Tipos de rerankers#

  • Cross-encoders: Transformers compactos ajustados com rótulos de relevância, como os modelos MiniLM do MS MARCO e a família bge-reranker da BAAI, também disponíveis como APIs de reranking alojadas.
  • Rerankers de LLM: É pedido a um modelo de linguagem de grande escala (LLM) que atribua pontuações aos candidatos ou ordene uma lista inteira de uma só vez. O RankGPT mostrou que o ChatGPT e o GPT-4 podem reordenar passagens ao gerar uma lista ordenada e destilou as classificações do ChatGPT num reranker pequeno e dedicado.
  • Modelos de aprendizagem para classificação: Os sistemas de recomendação e de comércio eletrónico reordenam candidatos com modelos como árvores com gradient boosting, usando características como o histórico de cliques, o preço e a atualidade, treinados com objetivos de classificação como LambdaMART, disponível no LightGBM e no XGBoost.
  • Pesquisa semântica: Pesquisa por significado, geralmente com um recuperador bi-encoder. Um reranker é uma segunda fase opcional.
  • Pesquisa híbrida: Combina listas de resultados de palavras-chave e vetores, muitas vezes com fusão recíproca de classificações, que combina as posições sem voltar a analisar o conteúdo. Muitas vezes, um reranker processa a lista combinada.
  • Destilação de conhecimento: Treina um recuperador rápido para imitar as pontuações de um reranker lento, transferindo parte da qualidade do reranking para a primeira fase.
  • Detetores de objetos de duas fases: Seguem o mesmo padrão para imagens: uma fase de propostas de regiões sugere caixas candidatas e uma segunda fase volta a pontuar e aperfeiçoa cada caixa antes de a supressão não máxima (NMS) remover as duplicações sobrepostas.

Explore as soluções

Visão computacional no desporto

Visão computacional no desporto

Descubra como o Ultralytics YOLO impulsiona a visão computacional no esporte com rastreamento de jogadores e bolas, análise de desempenho, insights para treinadores e reabilitação de atletas.
Saiba mais
Visão computacional para imagens aéreas

Visão computacional para imagens aéreas

Transforma imagens de drones e aéreas em informações em tempo real para a agricultura, a aquacultura, a conservação e a análise geoespacial com Ultralytics YOLO.
Saiba mais
Visão computacional no setor aeroespacial

Visão computacional no setor aeroespacial

Aplica visão computacional na indústria aeroespacial com Ultralytics YOLO para inspecionar aeronaves, detetar objetos estranhos na pista (FOD), apoiar operações aeroportuárias em terra e detetar defeitos em materiais compósitos.
Saiba mais
Visão computacional na segurança

Visão computacional na segurança

Protege todas as instalações com os modelos Ultralytics YOLO. A IA visual permite monitorizar perímetros, detetar ameaças, reconhecer matrículas e melhorar a segurança no local de trabalho.
Saiba mais
Visão computacional na robótica

Visão computacional na robótica

Potencia máquinas mais inteligentes com os modelos Ultralytics YOLO. A IA visual na robótica permite navegação autónoma, perceção, rastreamento de objetos e controlo em tempo real.
Saiba mais
Visão computacional na logística

Visão computacional na logística

Otimize a logística com os modelos Ultralytics YOLO. A IA de visão permite inspecionar pacotes, fazer triagem, rastrear veículos e monitorar a segurança em tempo real nos armazéns.
Saiba mais
Visão computacional no varejo

Visão computacional no varejo

Reinvente o varejo com os modelos Ultralytics YOLO. A IA de visão permite rastrear o estoque, monitorar prateleiras, gerenciar filas e obter insights mais inteligentes sobre clientes.
Saiba mais
Visão computacional na área da saúde

Visão computacional na área da saúde

Desenvolva soluções de saúde com os modelos Ultralytics YOLO. A IA de visão na área da saúde permite obter imagens médicas mais rapidamente, diagnósticos mais inteligentes e monitoramento de pacientes.
Saiba mais
Visão computacional na manufatura

Visão computacional na manufatura

Otimize a manufatura com modelos Ultralytics YOLO. A IA visual impulsiona o controle de qualidade, a detecção de defeitos, a conformidade com o uso de EPI e a automação da linha de montagem.
Saiba mais
Visão computacional no setor automotivo

Visão computacional no setor automotivo

Aplique visão computacional no setor automotivo com modelos Ultralytics YOLO. A IA visual aumenta a segurança viária, aprimora a assistência ao condutor e viabiliza a automação de veículos para estradas mais inteligentes.
Saiba mais
Visão computacional na agricultura

Visão computacional na agricultura

Leve a IA de visão à agricultura inteligente com os modelos Ultralytics YOLO. Aprimore o monitoramento de plantações, o rastreamento de animais e a agricultura de precisão para obter safras maiores e mais inteligentes.
Saiba mais

Vamos construir juntos o futuro da IA!

Comece sua jornada rumo ao futuro do aprendizado de máquina