Sobes.tech
Middle — Senior

Wat is een cross-encoder en hoe verschilt deze van een bi-encoder?

sobes.tech AI

Antwoord van AI

Cross-encoder en bi-encoder zijn architecturen voor het verwerken van paren invoergegevens, die vaak worden toegepast bij zoek- en tekstvergelijkingstaken.

Bi-encoder:

  • Elk element van het paar (bijvoorbeeld een query en een document) wordt afzonderlijk gecodeerd in een vector van vaste grootte.
  • Vervolgens wordt een gelijkenheidsmaat (bijvoorbeeld de cosinusafstand) tussen de twee vectoren berekend.
  • Maakt snelle indexering en zoeken mogelijk, omdat de vectoren vooraf kunnen worden berekend en opgeslagen.
  • Houdt echter geen rekening met de interactie tussen de elementen van het paar tijdens het coderen.

Cross-encoder:

  • De invoergegevens worden samengevoegd en samen aan het model gevoerd.
  • Het model houdt onmiddellijk rekening met de interacties tussen de elementen (bijvoorbeeld woorden van de query en het document), wat de relevantiebeoordeling verbetert.
  • Is computationeel duurder, omdat voor elk paar het model opnieuw moet worden doorlopen.

Kortom: bi-encoder is sneller en schaalbaarder voor zoeken in een groot aantal documenten, terwijl cross-encoder nauwkeuriger is, maar trager en wordt gebruikt voor het herbeoordelen van een klein aantal kandidaten.