cross-encoder model

En cross-encoder model er en transformer-baseret arkitektur, der tager to tekster som input og direkte producerer en sammenligningsscore, typisk til re-ranking eller parvis klassifikation.

Kort fortalt

En cross-encoder model sammenligner to tekster ved at lade dem interagere gennem alle transformer-lag for at give en præcis, men langsommere, relevansscore.

Kategori
model
Niveau
øvet

Betydninger

1
  1. 1

    En transformer-model, der tager to sekvenser som input og anvender delte opmærksomhedslag (cross-attention) til at beregne en interaktionsscore mellem dem.

    • I et QA-system kan en cross-encoder model vurdere, om et givet svar er relevant for et spørgsmål ved at tage spørgsmål og svar som input.
    • Cross-encoder modellen bruges ofte til re-ranking, fordi den giver mere præcise scores end bi-encodere.

Hvornår bruges det

Cross-encoder modeller bruges primært til re-ranking i informationssøgning, hvor en hurtig bi-encoder først henter kandidater, og cross-encoderen genrangerer dem. De anvendes også til entailment detection, svarklassifikation og parvis sammenligning, hvor nøjagtighed er vigtigere end hastighed.

Kodeeksempel

from sentence_transformers import CrossEncoder
model = CrossEncoder('cross-encoder/ms-marco-MiniLM-L-6-v2')
scores = model.predict([['query', 'doc1'], ['query', 'doc2']])

Brug af Sentence-Transformers biblioteket til at instantiere en cross-encoder model og få relevansscorer for par.

Oprindelse

Udtrykket kommer af, at modellen 'krydser' (cross) de to input-tekster ved at anvende self-attention på tværs af dem, i modsætning til bi-encodere, som behandler teksterne uafhængigt.

Afledte ord

2

Kilder

2