Diferenças na latência de busca entre pesquisa semântica de IA e por palavra-chave

Existe algum dado sobre latência para pesquisa semântica e Tópicos Relacionados Semânticos em comparação com pesquisa por palavras-chave e Tópicos Sugeridos?

Obrigado desde já.

Você pode explicar melhor o que quer dizer com latência aqui?

Para Tópicos Relacionados, como todos os embeddings são pré-calculados, não há custo adicional de tempo de execução. Pelo contrário, a consulta SQL para encontrar tópicos relacionados é mais rápida do que nossa antiga consulta de tópicos sugeridos, e nós armazenamos em cache os tópicos relacionados para um desempenho ainda mais rápido.

Quanto à Pesquisa de IA, nossa abordagem atual HyDE[1] para ela incorre em latência séria, e é por isso que ela acontece de forma assíncrona e o usuário é apresentado primeiro à pesquisa padrão e à opção de aumentá-la com resultados de IA quando estes estiverem prontos. Aqui no Meta, os resultados da pesquisa de IA estão prontos 4 segundos após os resultados da pesquisa normal, em média.


  1. GPT-4: HyDE significa Hypothetical Document Embeddings, uma técnica usada em pesquisa semântica para encontrar documentos com base em similaridades em seu conteúdo. Essa abordagem permite resultados de pesquisa mais precisos e contextualmente relevantes, avaliando as similaridades conceituais entre os documentos, em vez de depender apenas da correspondência de palavras-chave. Representa uma técnica de aprendizado zero-shot que combina as capacidades de compreensão de linguagem do GPT-3 com codificadores de texto contrastivos, aprimorando a capacidade da IA de compreender e processar dados de linguagem natural de forma mais sutil e eficaz. ↩︎

3 curtidas

Exatamente o que eu estava procurando. Obrigado, Falco.

Houve alguma investigação sobre maneiras de reduzir essa latência para a pesquisa semântica?

A primeira versão da Pesquisa de IA teve latência muito melhor, mas também resultados muito piores.

Quanto à próxima versão, temos vários planos para reduzir a latência:

  • Usar embeddings de nível de postagem em vez de embeddings de nível de tópico

  • Usar um modelo de reclassificação para classificar os resultados da pesquisa

  • Tornar o HyDE opcional

Acreditamos que isso nos trará melhores resultados de pesquisa e também o tornará mais rápido no processo. E, juntamente com o novo hardware que oferecemos sem custo adicional a todos os nossos clientes hospedados, capaz de fazer inferência de embeddings em apenas 2ms, estamos apenas começando com o que é possível aqui.

2 curtidas

Legal. Obrigado pela informação, Falco.

Mais algumas perguntas, já que estamos pensando em ativar isso para nossas comunidades.

  1. Parece que, ao alternar a opção para mostrar os resultados da pesquisa semântica, o que é exibido ao usuário é uma mistura de resultados da API de pesquisa semântica e da API de pesquisa por palavras-chave. Isso está correto? Se sim, como esses dois conjuntos de resultados são classificados um contra o outro?
  2. Relacionado a isso, você pode comentar sobre a opção “Ordenar por:” com resultados semânticos. Percebo, por exemplo, um artigo que tem o ícone de estrela ao lado em uma classificação e depois não em outra.



1 curtida

Sim, exatamente.

Usando uma técnica chamada “reciprocal rank fusion”. Podemos mudar para um re-ranker no futuro.

A pesquisa semântica é incompatível com as opções de classificação, pois não temos nenhum cálculo de corte de distância. Ela deve desabilitar / bloquear qualquer ordem de classificação que não seja por relevância.

1 curtida

Legal, obrigado Falco. Pelo que vimos, a API de pesquisa semântica está fornecendo resultados de pesquisa semântica apenas para o cliente. Então, presumivelmente, a Fusão de Classificação Recíproca está acontecendo no cliente. Isso está correto? Além disso, teríamos a opção de substituir esse algoritmo de reclassificação se quiséssemos experimentar outras opções?

1 curtida

Sim, exatamente.

Tecnicamente, como é tudo baseado no cliente, você poderia substituir isso.

Dito isso, a longo prazo, vejo que dependeremos cada vez mais de modelos de reclassificação, que serão todos do lado do servidor por razões óbvias.

Entendido. Obrigado!

1 curtida