A eficácia irracional do BM25 para busca agêntica — Jo Kristian Bergum, Hornet.dev
AAI Engineer
컴퓨터/소프트웨어AI/미래기술
스크립트
00:00:00É ótimo estar aqui. Eu sou o Jo Bergum. Sou o CEO da Hornet Dev e estou aqui hoje para falar sobre
00:00:19a eficácia irracional do BM25 para Busca Agêntica. Então, quantos de vocês já ouviram falar do
00:00:24BM25 antes? É algo novo ou...? Ah, bastante gente, excelente. Eu também estou acompanhando a Copa do Mundo.
00:00:32A Noruega está jogando contra a Costa do Marfim no segundo tempo. A Noruega está ganhando, o que é ótimo.
00:00:37Então, sim. Na Hornet, estamos construindo infraestrutura de recuperação para agentes, e eu tenho trabalhado
00:00:46com problemas de busca e recuperação há muito tempo. Como podem ver pelos meus cabelos brancos, eu trabalho
00:00:52nessa área há mais de 20 anos. Na palestra de hoje, falarei sobre o motivo pelo qual esse tipo
00:00:59de função de pontuação lexical de 30 anos atrás está voltando com tanta força. Primeiro, falarei um pouco
00:01:08sobre o que quero dizer com Busca Agêntica ou Recuperação Agêntica e definir isso para vocês.
00:01:14A minha definição é que a Busca Agêntica é essencialmente uma busca dentro do loop de um agente. Ou seja, você
00:01:22tem um agente tentando realizar uma tarefa, escrever um código, fazer uma pesquisa aprofundada
00:01:28ou qualquer outra tarefa, e dentro disso há uma necessidade de informação para o agente,
00:01:34para conseguir concluir essa tarefa com sucesso. E você precisa, essencialmente, de três coisas para
00:01:41construir um bom sistema de busca agêntica. Primeiro, um modelo capaz, um modelo que consiga
00:01:47usar ferramentas e formular consultas. Você também precisa de uma estrutura ao redor do modelo e de
00:01:55como expor as funções de busca e recuperação para ele. Existem diferentes
00:02:01maneiras de fazer isso. Pode ser por chamadas de ferramentas ou por modo de código. O Ido demonstrou aqui
00:02:08o que eu chamo de modo de código para expor a infraestrutura de recuperação. Essa é a parte da estrutura.
00:02:14E você também precisa de um mecanismo de recuperação para realizar buscas de forma eficiente, potencialmente em
00:02:23conjuntos de documentos na escala de bilhões. Para definir o BM25: BM25 significa “best match 25” (melhor correspondência 25).
00:02:33Havia pesquisadores fazendo vários experimentos, e o experimento número 25
00:02:38revelou-se o melhor. Essa é a história por trás do nome. É essencialmente uma função de pontuação.
00:02:44Imagine que você tem uma consulta e um documento, e calcula uma pontuação
00:02:50pela interação entre os termos da consulta e do documento, chegando a um resultado.
00:02:55E você espera que esse resultado seja uma boa aproximação da relevância do documento em relação
00:03:01à consulta. Uma maneira de calcular o BM25 seria pegar todos os documentos e pontuar cada um
00:03:08deles para descobrir quais são os “Top K” documentos. Há uns 30 ou 40 anos
00:03:14existe um interesse em acelerar esse tipo de recuperação Top K, com diversos algoritmos. Nós também investimos muito nisso.
00:03:22Vou mostrar algo nessa linha, mas o BM25 é a função de pontuação, e existe uma forma de acelerar a recuperação Top K.
00:03:30O BM25 não mudou. Continua sendo a mesma função de pontuação, mas a verdadeira mudança é que agora temos um usuário mais poderoso.
00:03:38O Edo falou sobre conhecimento geral. Os LLMs de hoje têm muito conhecimento geral. Eles conhecem entidades, empresas, datas, sabem de muita coisa.
00:03:50E ao usar esse conhecimento implícito embutido no modelo paramétrico, eles se tornam extremamente bons em buscar.
00:04:01Essa é a verdadeira mudança atual que está tornando o BM25 mais relevante.
00:04:09O BM25 costumava ser uma função de referência. Qualquer pesquisa de recuperação de informação incluía o BM25 como linha de base,
00:04:17e aí você aplicava algo avançado de redes neurais e comparava os resultados com o BM25.
00:04:24Acho interessante também como avaliávamos a busca antes, olhando apenas para 10 links azuis, analisando-os e calculando métricas.
00:04:34Muito disso está desaparecendo porque o agente é muito poderoso, conseguindo digitar muito mais consultas do que um humano.
00:04:45Portanto, faz menos sentido avaliar esses sistemas com base em uma única consulta.
00:04:53E este é um dos meus benchmarks favoritos por aí. Eu gosto de falar sobre benchmarks.
00:04:59O BrowseComp Plus é um benchmark de pesquisa aprofundada publicado num artigo no ano passado e tem quase, ou exatamente, 830 perguntas.
00:05:13Elas são tipo charadas. Pense nisso como um jogo de perguntas e respostas. Vocês têm trivia de bar nos EUA?
00:05:19Sim, legal. São perguntas do tipo charada, bem longas.
00:05:23E a estrutura ou o protocolo deste benchmark é que você tem um modelo,
00:05:31que recebe uma ferramenta de busca muito simples, aceita uma string de consulta e retorna trechos de texto ao modelo.
00:05:40O corpus tem cerca de 100 mil a 105 mil documentos, o que é pequeno, e são documentos da web.
00:05:47Quanto à precisão de ponta a ponta: todas essas perguntas têm uma resposta de referência perfeita, e você pode verificar se o modelo e o loop geram exatamente essa resposta.
00:06:02Mas por que precisamos de recuperação? Eu gosto de comparar janelas de contexto com disquetes, porque sou antigo, dos anos 80, sabe?
00:06:11Instalávamos esses jogos nos nossos computadores usando disquetes.
00:06:15Vocês são tão jovens que provavelmente não têm essa nostalgia, mas um disquete cabia cerca de 1,4 megabytes de dados.
00:06:26E os modelos atuais, antes de começarem a perder qualidade, aguentam, na minha opinião, cerca de 350.000 tokens.
00:06:34Ou seja, um disquete de dados, certo?
00:06:38Então você precisa de recuperação para buscar as informações que realmente precisa colocar na janela de contexto.
00:06:47E o BrowseComp+ demonstra claramente como a qualidade da recuperação afeta a precisão de ponta a ponta da tarefa.
00:06:57A precisão de ponta a ponta aqui significa basicamente: o modelo equipado com essa ferramenta de busca consegue responder à pergunta?
00:07:05A pergunta no estilo charada.
00:07:07E se você simplesmente colocar os documentos de evidência necessários para responder a essa pergunta
00:07:16diretamente na janela de contexto do modelo, a precisão é muito alta.
00:07:21Portanto, o raciocínio não é o gargalo.
00:07:23Recebendo as evidências de antemão, o modelo responde à pergunta com uma taxa de precisão altíssima, até mesmo o GPT-4.
00:07:33Mas se você expõe o modelo a essa estrutura com uma ferramenta de recuperação, a precisão cai,
00:07:39porque agora ela depende da estrutura, da capacidade do modelo de formular consultas
00:07:44e da qualidade do mecanismo de recuperação.
00:07:49Para mim, isso também é muito importante porque, mesmo se tivermos modelos perfeitos, modelos do tipo AGI,
00:07:57que não cometam erros,
00:08:00você ainda estará limitado a uma janela de contexto equivalente a um disquete, certo?
00:08:04Então você precisa decidir o que vai para essa janela de contexto.
00:08:07E acredito que a recuperação continua sendo muito relevante, como o slide anterior mostrou.
00:08:13E no conjunto de dados do BrowseComp Plus, uma dessas perguntas em formato de charada vira uma trajetória de busca.
00:08:20Porque o modelo executa a consulta, recebe uma resposta, lê, reformula a consulta
00:08:27e continua até preencher a janela de contexto ou encontrar a resposta, o que vier primeiro.
00:08:36E dedicamos um tempo para investigar essas trajetórias,
00:08:44para ver como o GPT-5 está formulando as consultas.
00:08:49E descobrimos muitos aspectos interessantes com isso.
00:08:52Também descrevemos isso em um post recente no blog.
00:08:55Você pode encontrar em hornet.dev.
00:08:57E gostamos de comparar isso com um registro de consultas da AOL.
00:09:02A AOL era um serviço antigo que tinha uma interface de busca.
00:09:08E eles acidentalmente publicaram uma amostra enorme do que as pessoas buscavam na web.
00:09:17Eram buscas bem curtas.
00:09:19E eu vi registros de consultas mais recentes também.
00:09:22E o padrão dos usuários humanos ainda é buscar usando apenas poucas palavras.
00:09:27O GPT-5, por outro lado, é um usuário muito mais poderoso.
00:09:31Ele possui conhecimento geral.
00:09:32E consegue, de repente, escrever consultas extremamente longas.
00:09:35Ele consegue usar muitos operadores sintáticos úteis que aprendeu...
00:09:40Aprendeu com buscas na web, operador site, frases exatas, etc.
00:09:45E este é um novo tipo de carga de trabalho.
00:09:52E sobre o BM25: ele tem basicamente dois hiperparâmetros
00:09:57que controlam vários aspectos da função de pontuação.
00:10:01E eu mencionei ter uma linha de base.
00:10:04O BM25 costumava ser essa linha de base.
00:10:06E o BrowseComp Plus também tem uma linha de base com o BM25.
00:10:10Acontece que essa linha de base é terrível.
00:10:14Quando você analisa técnicas mais sofisticadas, modelos de embedding ou o que seja,
00:10:20elas se destacam como paradigmas de recuperação muito melhores que o BM25, se você olhar o artigo original.
00:10:26Mas pesquisas recentes mostram que os parâmetros usados no artigo de pesquisa
00:10:33do BrowseComp Plus não eram adequados para lidar com documentos longos assim.
00:10:37Por isso eu pergunto: a qual BM25 você se refere?
00:10:40Pois isso tem um impacto enorme na precisão geral naquele benchmark específico.
00:10:50E por que o BM25 é mais poderoso agora com esse novo usuário?
00:10:56Mencionei o conhecimento geral do usuário e que ele pode digitar mais rápido
00:11:00e é mais específico por ser um usuário mais avançado.
00:11:02E a correspondência exata continua relevante, certo?
00:11:06Porque o modelo conhece nomes, entidades, CEPs, códigos de produtos, enfim.
00:11:12Isso não é fácil de representar com um modelo de embedding, que codifica
00:11:17todos os tokens em um vocabulário fixo.
00:11:21Também é relativamente barato, principalmente considerando o custo de inferência dos embeddings,
00:11:27certo? Alguns desses modelos de embedding têm cerca de 8 bilhões de parâmetros e você codifica o texto,
00:11:32precisa manter uma infraestrutura para isso e tudo mais.
00:11:36É bastante simples e as ferramentas no ecossistema geral são muito boas.
00:11:43Está prontamente disponível.
00:11:45E é muito fácil para o modelo inspecionar os resultados e entender o motivo pelo qual uma consulta
00:11:51retornou aquele resultado específico, entende?
00:11:54Porque você está correspondendo a termos literais, frases e coisas do tipo,
00:11:58o que pode ajudá-lo a reformular as buscas.
00:12:03Então esses são os três pontos principais.
00:12:06E agora, passando para tópicos mais em alta sobre "o que é tudo de que você precisa".
00:12:11E esta é uma pesquisa recente de Waterloo, do grupo do Jimmy Lin de lá.
00:12:17Eles estão fazendo um ótimo trabalho na pesquisa de recuperação de informação e busca agêntica.
00:12:23Eles publicaram um artigo recente que eu adoro.
00:12:26Ele se chama "Scaling Direct Corpus Interaction via Dynamic Workspace Expansion".
00:12:32Vou dedicar um tempo para explicar isso melhor.
00:12:34Imagine que você queira criar uma infraestrutura de busca web para agentes.
00:12:39Muitas empresas estão fazendo isso no momento.
00:12:41Também estamos trabalhando com algumas dessas empresas para ajudá-las a construir infraestrutura para esse
00:12:47tipo de caso de uso.
00:12:48E aí você tem, potencialmente, bilhões de documentos, certo?
00:12:53Portanto, isso não cabe na janela de contexto.
00:12:55Então, obviamente, você precisa de recuperação.
00:12:57E o BM25 é uma boa linha de base.
00:12:59Assim, você consegue recuperar informações por meio dele.
00:13:03E o resultado é que você pode imaginar isso como uma página de resultados de busca, uma SERP, para agentes.
00:13:15Porque você pode colocar esses documentos recuperados pelo sistema de busca em um espaço de trabalho.
00:13:20E se organizar esse espaço de trabalho como um sistema de arquivos, pode aproveitar os mesmos conceitos usados com habilidades.
00:13:29Você pode ter divulgação progressiva, pois pode pegar o documento, como o título do documento,
00:13:35e um pequeno trecho dele, e expor isso ao modelo.
00:13:39O modelo pode então decidir: "Ah, preciso ler mais deste documento".
00:13:43E, ao fazer isso, pode usar todas as ferramentas primitivas que ele domina muito bem.
00:13:48Todos vocês usam agentes de codificação.
00:13:49Então todos veem o grep, rip grep, sed, awk e tudo mais que ele usa para gerenciar o contexto.
00:13:55Assim, você obtém o melhor dos dois mundos.
00:13:58E também consegue combinar infraestrutura de sandbox, de recuperação, VFS, bash e o que mais for.
00:14:05Então é algo bem empolgante, né?
00:14:06Porque combina todos esses novos tipos de paradigmas que estão surgindo no momento.
00:14:11Por isso estou muito animado com esse tipo de direção.
00:14:14E também não deixa de ser um atalho, né?
00:14:16Para otimizar aquilo em que os modelos são bons atualmente, certo?
00:14:19Pois todas as principais empresas de LLM estão otimizando seus modelos para código, bash e uso de ferramentas.
00:14:27Então, se você alinhar sua tarefa ponta a ponta a essa trajetória,
00:14:31quando surgir um novo modelo, você sabe que ele também será melhor nisso, né?
00:14:37Pode ser que, quando atingirmos a AGI, eles simplesmente usem o navegador, veremos.
00:14:41Mas, atualmente, essa é uma maneira muito poderosa de construir infraestrutura de busca e toda uma experiência agêntica.
00:14:53E quando o assunto é avaliação, né?
00:14:55Eu também mencionei isso antes.
00:14:57Na recuperação de informação tradicional, estávamos acostumados a ter apenas uma consulta, uma lista ranqueada, calcular o nDCG e comparar.
00:15:07Isso já não é tão relevante quando o novo usuário é um agente, porque esse agente pode reformular buscas,
00:15:12fazer mais consultas, realizar expansões e fazer todo tipo de coisa diferente, né?
00:15:17Portanto, grande parte da avaliação clássica de recuperação de informação ficou ultrapassada.
00:15:23Em vez disso, observe se o modelo consegue realizar a tarefa proposta e, por exemplo,
00:15:30na resposta a perguntas, se ele acerta a resposta.
00:15:35E nós, na Hornet, estamos apostando no BM25 como uma das primitivas, e definimos a visão
00:15:42de ter a melhor e mais eficiente maneira de avaliar o BM25, porque acho que ele é uma primitiva
00:15:51fundamental e muito forte. Esta ilustração compara alguns motores anonimizados com a Hornet,
00:15:59no mesmo tipo de hardware, com documentos web, 100 milhões de documentos web, em um único nó.
00:16:07E, como vocês podem ver, a Hornet tem uma implementação muito mais eficiente do que os outros motores,
00:16:13podendo entregar mais vazão pelo mesmo custo, o que, para muitas empresas que estão construindo
00:16:19infraestrutura no momento para busca web, etc., significa uma grande economia.
00:16:24O que é o eixo Y?
00:16:26O eixo Y é QPS, desculpe.
00:16:32O eixo Y é... ah, desculpe, o eixo Y é latência, me perdoe.
00:16:40Então, quatro conclusões principais desta palestra: temos um novo usuário, que é mais poderoso, digita mais rápido, lê mais rápido, consegue reformular buscas e tem muito conhecimento geral, o que torna ferramentas simples como o grep e o BM25 ainda mais poderosas.
00:17:03Essa é a primeira. A segunda: a qual BM25 você se refere?
00:17:07Existem diferenças de implementação, desempenho e parâmetros, então pense nisso.
00:17:14E também, por que ele é eficaz para a busca agêntica? Simplesmente porque é explicável para o modelo, permitindo que ele entenda e o use em combinação com o grep, já que você trabalha com correspondências literais, e o grep também é voltado para isso.
00:17:27E a combinação desses dois forma um paradigma muito forte de busca e recuperação agêntica.
00:17:39Há muitas referências. Acho que vou publicar a palestra, ou a palestra e os slides serão publicados.
00:17:47E, se você odiou, pode mandar um tweet para mim.
00:17:55Não há... me disseram que não teremos tempo para perguntas, mas fico feliz em conversar sobre recuperação. Vocês me encontram pelo evento; provavelmente, a melhor forma de falar comigo é pelo meu perfil no X.
00:18:08E é isso.
00:18:25Nos vemos na próxima.
커뮤니티 글
아직 글이 없습니다. 이 영상에 대한 첫 번째 글을 작성해 보세요!
이 영상에 대해 글쓰기