Sobes.tech
Middle — Senior

Quando é adequado usar um cross-encoder e quando um bi-encoder na pesquisa?

sobes.tech IA

Resposta da IA

Cross-encoder e bi-encoder são duas abordagens para calcular a relevância de um par de textos (por exemplo, uma consulta e um documento) em tarefas de busca.

Cross-encoder combina dois textos e os passa através de um modelo ao mesmo tempo, permitindo considerar as interações entre as palavras de ambos os textos. Geralmente fornece avaliações de relevância mais precisas, mas requer cálculos para cada par separadamente, o que é dispendioso em tempo e recursos.

Bi-encoder codifica cada texto separadamente em um vetor de tamanho fixo, e depois a relevância é calculada, por exemplo, como a similaridade do cosseno entre os vetores. Isso é muito mais rápido, pois todos os documentos podem ser codificados previamente e comparados rapidamente com a consulta.

Quando usar:

  • Cross-encoder é adequado quando a máxima precisão é importante e se pode permitir calcular a relevância para um número limitado de pares (por exemplo, classificação dos top-N candidatos).
  • Bi-encoder é conveniente para buscas escaláveis em um grande número de documentos, onde alta velocidade é necessária e a precisão pode ser um pouco menor.

Frequentemente, usa-se uma abordagem híbrida: primeiro um bi-encoder para uma rápida seleção de candidatos, seguido de um cross-encoder para classificação precisa.