← Últimos artigos
🤖 AI

Hierarchical BM25: Lexical Search at Billion-Document Scale

O BM25 hierárquico possibilita a busca lexical interativa em escala de bilhões ao substituir um índice plano de uso intensivo de memória por uma arquitetura de dois níveis que utiliza um índice grosseiro pequeno e residente para selecionar grupos de documentos relevantes, alcançando limites fixos de memória e latência enquanto preserva a pontuação exata para o subconjunto recuperado.

Autores originais: Umesh Deshpande, Swaminathan Sundararaman

Publicado 2026-08-04
📖 4 min de leitura☕ Leitura rápida

Autores originais: Umesh Deshpande, Swaminathan Sundararaman

Artigo original sob licença CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). Esta é uma explicação gerada por IA do artigo abaixo. Não foi escrita nem endossada pelos autores. Para precisão técnica, consulte o artigo original. Ler aviso legal completo

Imagine que você esteja tentando encontrar um fato específico em uma biblioteca que contém um bilhão de livros. No mundo da ciência da computação, este é o desafio da "busca lexical" — encontrar documentos baseando-se em correspondências exatas de palavras, como pesquisar pela frase "hierarchical BM25" em vez de apenas pela ideia geral dela. Por décadas, os computadores têm se tornado melhores nisso, mas há um detalhe: para pesquisar um bilhão de livros instantaneamente, você geralmente precisa manter um mapa massivo de cada única palavra em cada um dos livros na memória principal do seu computador (RAM). Esse mapa é tão grande — cerca de 400 gigabytes — que é como tentar carregar a biblioteca inteira em sua mochila enquanto você corre. Se você não tiver tanta memória, terá que correr de volta e para frente até as prateleiras (o disco rígido) para cada pergunta, o que leva segundos. Em um mundo onde esperamos respostas em um piscar de olhos, esperar de quatro a doze segundos é como ver a tinta secar; isso quebra a experiência. Este artigo aborda exatamente esse problema: como pesquisamos um bilhão de documentos instantaneamente sem precisar da memória de um supercomputador?

Os autores propõem uma nova e inteligente maneira de pesquisar chamada Hierarchical BM25. Em vez de tentar memorizar a biblioteca inteira de uma só vez, eles sugerem uma estratégia de dois passos que imita como um bibliotecário humano ajudaria você. Primeiro, eles organizam o um bilhão de documentos em cerca de 1.000 "corredores" ou grupos distintos baseados em seus tópicos. Eles constroem um índice pequeno e superveloz de apenas esses corredores que cabe facilmente na memória (cerca de 4,4 GB). Quando você faz uma pergunta, o computador não escaneia todos os livros; ele primeiro verifica este índice pequeno para descobrir quais 40 corredores são mais prováveis de conter a resposta. Ele então mergulha apenas nesses corredores específicos para encontrar os livros exatos.

A magia aqui é uma compensação. Os autores admitem que, ao pular os outros 960 corredores, eles podem perder a resposta absolutamente perfeita de vez em quando. Eles chamam isso de abrir mão da "segurança de ranking" (rank safety) — a garantia de que você obterá os 10 resultados exatos todas as vezes. No entanto, eles argumentam que, nos sistemas de busca modernos, obter o 10º melhor resultado em vez do 11º melhor raramente importa, porque um segundo computador (um "reranker") irá organizá-los de qualquer forma. O que realmente importa é a velocidade. Ao fazer essa troca, eles alcançam algo anteriormente impossível: eles conseguem pesquisar um bilhão de documentos em cerca de 300 milissegundos (menos de um terço de segundo) usando uma quantidade minúscula de memória.

Em seus testes, este novo método foi de 4,7 a 5,6 vezes mais rápido que a antiga e padrão maneira de pesquisar, mesmo quando o método antigo utilizava múltiplos processadores para ajudar. Enquanto o método antigo tinha dificuldade em lidar com mais de 3 perguntas por segundo, este novo sistema podia lidar com até 32 perguntas por segundo quando os "corredores" já estavam prontos e aquecidos. Os autores também descobriram um erro sutil na forma como diferentes grupos de livros eram pontuados entre si e o corrigiram, garantindo que, ao realizar a pesquisa, a matemática fosse perfeitamente precisa.

No entanto, os autores são muito cuidadosos ao não chamar isso de uma solução perfeita. Eles declaram explicitamente que este método é uma aproximação, não uma garantia. Eles mediram o quão bem funcionava em um teste menor de 500.000 documentos e descobriram que, ao verificar apenas 5% a 10% dos grupos, eles recuperaram cerca de 83% a 92% da "qualidade" de uma busca completa. Eles sugerem que isso provavelmente se manterá na escala de um bilhão de documentos, mas ainda não provaram isso em um conjunto de dados real e desordenado. Eles também observam que seu método funciona melhor para perguntas longas e complexas (16 a 32 palavras), que são comuns em sistemas de IA modernos, enquanto métodos antigos foram projetados para buscas na web curtas e simples.

Em resumo, este artigo sugere que, se você estiver disposto a aceitar uma pequena chance de perder a melhor resposta absoluta, você pode construir um mecanismo de busca para um bilhão de documentos que é rápido, barato e cabe na memória de um computador padrão. É uma vitória prática de engenharia que prioriza velocidade e eficiência sobre a perfeição matemática, reconhecendo que, no mundo real, uma resposta "boa o suficiente" rápida é frequentemente melhor do que uma resposta "perfeita" lenta.

Afogado em artigos na sua área?

Receba digests diários dos artigos mais recentes que correspondam às suas palavras-chave de pesquisa — com resumos técnicos, no seu idioma.

Experimentar Digest →