Testamos o desempenho de 8 modelos de reclassificação em aproximadamente 145 mil avaliações em inglês da Amazon para medir o quanto uma etapa de reclassificação melhora a recuperação de resultados densos. Recuperamos os 100 melhores candidatos com o multilingual-e5-base, reclassificamos esses resultados com cada modelo e avaliamos os 10 melhores resultados em relação a 300 consultas, cada uma referenciando detalhes concretos da avaliação original. O melhor modelo de reclassificação elevou a taxa de acertos na primeira consulta (Hit@1) de 62,67% para 83,00% (+20,33 pontos percentuais).
Resultados de referência do Reranker
Explicação das métricas :
ΔHit@1 / ΔHit@10 mostra a melhoria em relação à linha de base (sem reclassificação) em pontos percentuais (pp). Por exemplo, +20,33pp significa que a reclassificação melhorou o Hit@1 em 20,33 pontos percentuais em comparação com os 62,67% da linha de base.
O Hit@K mede se alguma avaliação com o product_id correto aparece entre os K primeiros resultados. O valor de referência é o product_id da avaliação que gerou a consulta. Se uma avaliação diferente do mesmo produto aparecer entre os K primeiros resultados, isso conta como um acerto. O Hit@1 é o teste mais rigoroso: o primeiro resultado corresponde ao produto correto? O Hit@10 é mais flexível: o produto correto está entre os 10 primeiros resultados?
O MRR@10 (Mean Reciprocal Rank) calcula a média de 1/posição do primeiro resultado correto em todas as consultas. Se o primeiro product_id correspondente estiver na posição 1, a pontuação é 1,0. Na posição 2, é 0,5. Na posição 10, é 0,1. Isso recompensa os modelos que posicionam o produto correto o mais alto possível.
O nDCG@10 (Ganho Cumulativo Descontado Normalizado) avalia as posições de todas as avaliações correspondentes entre as 10 melhores, não apenas a primeira. Se o mesmo produto tiver várias avaliações no conjunto de candidatos e várias delas estiverem entre as 10 melhores, o nDCG credita cada uma com base em sua posição. Na prática, a maioria dos produtos tem apenas 1 ou 2 avaliações entre as 100 melhores candidatas, portanto, o nDCG e a Receita Recorrente Mensal (MRR) têm um acompanhamento bastante próximo.
O Recall@10 mede a fração de avaliações correspondentes (mesmo product_id) entre as 10 melhores, dentre todas as avaliações correspondentes no conjunto completo de candidatos (as 100 melhores). Se um produto tem 3 avaliações entre as 100 melhores e o reclassificador coloca 2 delas entre as 10 melhores, o Recall@10 será de 2/3 para essa consulta. Como a maioria dos produtos tem poucas avaliações duplicadas no conjunto de candidatos, o Recall@10 e o Hit@10 são praticamente idênticos neste parâmetro.
Análise da latência
A latência de reclassificação mede o tempo que cada codificador cruzado leva para pontuar 100 documentos candidatos em relação à consulta. O tempo de busca vetorial (~20 ms) é excluído, pois permanece constante em todas as execuções e é independente do reclassificador.
Explicação das métricas de latência :
A reclassificação é o momento em que o codificador cruzado avalia todos os 100 documentos candidatos em relação à consulta. É aqui que os modelos diferem: uma única passagem direta é rápida, enquanto a decodificação autorregressiva é lenta.
P95 representa o percentil 95 da latência total. Algumas consultas contêm textos de avaliação mais longos, o que aumenta o tempo de tokenização e pontuação. O P95 mostra o pior cenário esperado para 95% das consultas.
Principais conclusões
Um modelo 149M corresponde a um modelo 1.2B.
O gte-reranker-modernbert-base possui 149 milhões de parâmetros, enquanto o nemotron-rerank-1b possui 1,2 bilhão. Ambos atingem 83,00% de acerto no nível 1 em inglês. A arquitetura ModernBERT é 8 vezes menor e oferece a mesma precisão de linha superior.
Isso não significa que o tamanho do modelo seja irrelevante. O nemotron apresenta uma ligeira vantagem em MRR@10 (0,8514 vs 0,8483) e Hit@10 (88,33% vs 88,00%), o que significa que ele classifica os documentos relevantes de forma um pouco melhor no top 10. Mas, para a maioria das aplicações em que o importante é acertar o primeiro resultado, o modelo de 149 MB é suficiente.
O modelo maior não é o melhor.
O qwen3_reranker_4b possui 4 bilhões de parâmetros e leva mais de um segundo por consulta. Ele atinge 77,67% de acerto na primeira tentativa, ficando em quarto lugar, atrás do nemotron (1,2 bilhão), gte_modernbert (149 milhões) e jina (560 milhões). Você paga 4,5 vezes mais latência do que o nemotron por 5,3 pontos percentuais a menos de precisão.
A arquitetura do qwen3 utiliza modelagem de linguagem causal com uma abordagem logística do tipo sim/não. O modelo lê o par consulta-documento e retorna a probabilidade de "sim, isto é relevante". Isso é conceitualmente claro, mas a inferência é custosa devido à sobrecarga da decodificação autorregressiva. Os modelos de Classificação de Sequências (gte_modernbert, bge) e a abordagem de modelo de prompt do nemotron processam o par em uma única passagem direta, o que é fundamentalmente mais rápido.
Jina oferece a melhor relação entre velocidade e precisão.
O jina_reranker_v3 atinge 81,33% de acertos na primeira consulta (Hit@1) em 188 ms. O nemotron atinge 83,00% em 243 ms. Se você precisa de uma latência total por consulta inferior a 200 ms, o Jina é o único modelo de alto desempenho que atende a essa necessidade. A diferença de 1,67 ponto percentual pode não justificar os 55 ms extras em um sistema de produção que atende milhares de solicitações por segundo.
Uma única reclassificação piora os resultados.
O modelo mxbai_rerank_xsmall (70 milhões de parâmetros) obteve uma taxa de acerto de 64,67%. A linha de base, sem nenhum reclassificador, alcançou 62,67%. A melhoria foi de apenas 2 pontos percentuais, o que está dentro da margem de erro para 300 consultas. Com 70 milhões de parâmetros, o modelo não tem capacidade para avaliar de forma confiável a relevância entre consulta e documento em textos mais longos ou com mais nuances.
Um reclassificador não é automaticamente benéfico. Teste-o com seus dados reais antes de implementá-lo.
O recuperador define o teto
Todos os melhores reclassificadores convergem em torno de 87-88% de acerto no 10º lugar. Esse limite é imposto pelo recuperador. Se o multilingual-e5-base não colocar o documento correto entre os 100 primeiros candidatos, nenhum reclassificador conseguirá recuperá-lo. Os 12% restantes das consultas em que todos os reclassificadores falham representam casos em que o recuperador denso simplesmente não encontrou o documento relevante.
Para superar esse limite, é necessário um mecanismo de recuperação melhor, um conjunto maior de candidatos ou ambos. Testamos os 250 melhores candidatos e não encontramos praticamente nenhuma melhoria em relação aos 100 melhores, o que significa que o e5_base esgota seus candidatos úteis bem antes da posição 250.
Como funcionam os mecanismos de reclassificação
Um recuperador denso (bi-encoder) codifica consultas e documentos independentemente em vetores. A recuperação é feita por meio de uma busca de vizinhos mais próximos nesses vetores. Isso é rápido porque a consulta é codificada apenas no momento da busca, mas o modelo nunca vê a consulta e o documento juntos, podendo, portanto, perder nuances de relevância.
Um reclassificador (codificador cruzado) recebe um par de consulta-documento como uma única entrada. O modelo processa ambos os textos em conjunto, identificando relações que a codificação independente não detecta. A desvantagem é que você precisa executar o modelo uma vez para cada candidato, o que limita a quantidade de resultados que você pode aplicar a um conjunto pequeno de documentos.
Arquiteturas neste benchmark
Testamos quatro arquiteturas diferentes de codificadores cruzados:
Os modelos de classificação de sequências (bge_base, bge_v2_m3, mxbai_xsmall, gte_modernbert) recebem um par [consulta, documento] como entrada e produzem uma única pontuação logit. Esta é a abordagem mais simples e comum.
O Nemotron usa um formato de modelo de prompt: “pergunta:{q} passagem:{p}”. A entrada parece um texto simples em vez de um par estruturado, mas o modelo ainda gera uma única pontuação de relevância por meio da Classificação de Sequência. O pré-treinamento LLM (baseado no Llama) confere ao modelo uma forte compreensão da linguagem.
Qwen3 reclassificadores usam modelagem de linguagem causal. O modelo lê o par e gera um julgamento sim/não. A pontuação é log P(sim) / (P(sim) + P(não)). Isso requer o mecanismo autorregressivo completo, o que explica a maior latência.
O Jina v3 usa uma API personalizada (model.rerank()) que lida internamente com a tokenização e a pontuação. A arquitetura subjacente usa atenção cruzada, mas a interface abstrai os detalhes.
Metodologia de benchmark Reranker
- GPU: NVIDIA H100 PCIe 80GB via Runpod
- Banco de dados vetorial: Qdrant 1.12.0 (binário local), distância cosseno
- Recuperador: multilingual-e5-base (768 dimensões). Prefixo da consulta:
"query: ", prefixo do documento:"passage: " - Software: transformers 5.2.0, PyTorch 2.8.0, CUDA 12.8.1
- Conjunto de dados: Subconjunto em inglês de avaliações da Amazon (Multi) (Kaggle). 1 a aproximadamente 145 mil avaliações após filtrar por no mínimo 100 caracteres. Cada avaliação possui um product_id, texto da avaliação e classificação por estrelas.
- Geração de consultas: Claude Sonnet 4.6 via OpenRouter. 300 consultas em inglês (5 tipos: factual, opinião, uso, resolução de problemas, comparação de recursos). Cada consulta deve referenciar detalhes específicos da revisão original; perguntas genéricas (pontuação de especificidade < 4/5) são filtradas.
- Formato do documento:
"Review Title: {title}\nReview: {body}" - Pipeline: Recupera os 100 melhores candidatos com multilingual-e5-base, reclassifica com cross-encoder e retorna os 10 melhores. O método de linha de base ignora a reclassificação e retorna diretamente os 10 melhores resultados do recuperador.
- Verdade fundamental: apenas correspondência exata do product_id. Sem recurso de similaridade de cosseno. Sem crédito parcial para produtos semanticamente semelhantes.
- Variável controlada: Apenas o modelo de reclassificação muda entre os experimentos. O recuperador, a contagem de candidatos, o conjunto de consultas e os critérios de avaliação são idênticos em todas as execuções.
- Sem ajustes finos: Todos os modelos foram avaliados com zero-shot usando os pesos padrão do HuggingFace.
- Latência: Reclassificação (pontuação entre codificadores de 100 candidatos). Medida por consulta na GPU.
Modelos testados
Limitações
Este teste comparativo utiliza um único recuperador (multilingual-e5-base). Um recuperador diferente produziria conjuntos de candidatos diferentes e poderia alterar as classificações do reclassificador. Os resultados refletem o desempenho de cada reclassificador com este recuperador específico, e não a qualidade do reclassificador isoladamente.
Realizamos os testes com base em avaliações de produtos em inglês da Amazon. O desempenho em outros domínios (artigos científicos, documentos jurídicos, código) ou em outros idiomas pode variar.
O número de candidatos é fixo em 100. Alguns algoritmos de reclassificação podem apresentar resultados diferentes com 20 ou 200 candidatos. Testamos com 250 candidatos e observamos uma melhoria insignificante, sugerindo que 100 é suficiente para o e5_base, mas outros algoritmos de recuperação podem se comportar de maneira diferente.
300 consultas representam um tamanho de amostra moderado. Os três melhores modelos (nemotron, gte_modernbert, jina) estão separados por menos de 2 pontos percentuais. Com um conjunto de consultas maior, essas classificações poderiam mudar. A diferença entre o nível superior e o nível inferior (mais de 20 pontos percentuais) é significativa.
Conclusão
Os algoritmos de reclassificação funcionam. O melhor modelo neste teste comparativo eleva a taxa de acerto na primeira consulta (Hit@1) de 62,67% para 83,00% (+20,33 pontos percentuais), o que significa que 20 em cada 100 consultas que antes retornavam o documento errado primeiro agora retornam o correto. Isso representa um ganho significativo para um componente que adiciona menos de 250 ms de latência.
A descoberta mais útil é que o tamanho do modelo não determina a qualidade do reclassificador. O modelo gte-reranker-modernbert-base, com 149 milhões de parâmetros, iguala o nemotron-rerank-1b, com 1,2 bilhão de parâmetros, no Hit@1. O modelo Qwen3, com 4 bilhões de parâmetros, fica em quarto lugar. Se você estiver escolhendo um reclassificador para um sistema de produção, comece com os modelos menores. Você pode nunca precisar dos maiores.
Para aplicações sensíveis à latência, o jina-reranker-v3 é a opção mais robusta abaixo de 200 ms. Para máxima precisão sem restrição de latência, o nemotron-rerank-1b e o gte-reranker-modernbert-base dividem a primeira posição. Para equipes com orçamento limitado para GPUs, o gte-modernbert é o vencedor indiscutível: mesma precisão do modelo 1.2B com uma fração da pegada de memória.
Um padrão se manteve em todos os experimentos: o mecanismo de recuperação define o limite máximo. Nenhum reclassificador elevou o Hit@10 acima de 88%, porque os 12% restantes de documentos corretos nunca apareceram entre os 100 melhores candidatos. Investir em um mecanismo de recuperação melhor provavelmente trará ganhos maiores do que alternar entre os três melhores reclassificadores.
Leitura complementar
Explore outros benchmarks RAG, como:
- Modelos de incorporação: OpenAI vs Gemini vs Cohere
- Os 16 principais modelos de incorporação de código aberto para RAG
- Principais bases de dados vetoriais para RAG: Qdrant vs Weaviate vs Pinecone
- Benchmark RAG agenic: roteamento em múltiplos bancos de dados e geração de consultas
- Modelos de Incorporação Multimodal: Apple vs Meta vs OpenAI
- RAG Híbrido: Aumentando a Precisão do RAG
- Os 10 principais modelos de incorporação multilíngue para RAG
Seja o primeiro a comentar
Seu endereço de e-mail não será publicado. Todos os campos são obrigatórios.