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.