- Je koppelt A/B-stemmen terug naar de juiste variant na het omwisselen van antwoordposities.
- Je onderscheidt positieconsistentie, overeenstemming en inhoudelijke juistheid.
Een tweede taalmodel kan antwoorden beoordelen met een rubric: een LLM-as-judge. Dat kan helpen bij het screenen van veel uitvoer, maar introduceert ook een tweede foutgevoelig model. Een overtuigende beoordeling is nog geen onafhankelijk bewijs.
Onderzoek beschrijft onder meer voorkeur voor antwoordpositie, lengte en eigen stijl. Maak criteria concreet, verberg irrelevante modelnamen en controleer een steekproef door mensen. De stemmen hieronder zijn synthetisch; we meten geen echte modelkwaliteit.
1. Vertaal de positie terug naar de identiteit
A betekent het eerste getoonde antwoord en B het tweede. Toon je de antwoorden in omgekeerde volgorde, dan wisselt de betekenis van die letters mee. Bewaar daarom de presentatievolgorde buiten de beoordelaarsprompt.
| Toon | Stem | ID |
|---|---|---|
| m1, m2 | A | m1 |
| m2, m1 | A | m2 |
| m2, m1 | B | m1 |
print(map_judge_vote(['m1','m2'],'A'))
# m1
print(map_judge_vote(['m2','m1'],'A'))
# m2
print(map_judge_vote(('m2','m1'),'B'))
# m1
print(map_judge_vote(['m1','m2'],'tie'))
# None
Maak map_judge_vote voor een lijst of tuple met twee verschillende model-IDs. Een stem is exact A, B of tie. Een tie betekent geen voorkeur en wordt None, niet automatisch een stem voor de eerste variant.
Blindering verwijdert modelnamen, maar niet alle herkenbare stijlkenmerken. De mapping lost de koppeling in je applicatie op; ze bewijst niet dat de beoordelaar vrij van voorkeuren is. Vergelijk daarom beide presentatievolgordes.
012. Vergelijk winnaars na de terugmapping
Forward toont model-1 gevolgd door model-2; reverse toont model-2 gevolgd door model-1. A/B kiest dan tweemaal model-1 en is consistent. A/A kiest twee verschillende modellen en is inconsistent, hoewel de letters gelijk zijn.
votes = [
dict(id='a',forward='A',
reverse='B'),
dict(id='b',forward='A',
reverse='A'),
dict(id='c',forward='tie',
reverse='tie')]
r = judge_order_audit(votes)
print(r['consistent'],r['total']) # 2 3
for row in r['rows']:
print(row['winner'])
# model-1
# None
# None
Maak judge_order_audit met één resultaat per uniek geval. Twee ties zijn consistent zonder winnaar. Bij tegenspraak blijft winner None; forceer geen beslissing uit een conflict.
Consistentie is het aantal consistente gevallen gedeeld door alle gevallen. Inconsistentie kan ook door sampling of onduidelijke criteria ontstaan. Deze proef maakt een probleem zichtbaar, maar stelt de oorzaak niet automatisch vast.
Hetzelfde antwoordpaar staat twee keer in een andere volgorde. Kies stemmen en vergelijk de terugvertaalde model-ID’s.
Gekozen identiteitmodel-1
Gekozen identiteitmodel-2
A/A is hier inconsistent. A/B kiest tweemaal model-1. Consistentie bewijst geen inhoudelijke juistheid en inconsistentie bewijst niet automatisch positievoorkeur.
3. Vergelijk met een afzonderlijke referentie
Een consistente beoordelaar kan systematisch verkeerd zitten. Vergelijk daarom met een apart vastgelegde referentie, bijvoorbeeld een zorgvuldig geannoteerde steekproef. In de volgende arrays staan A en B al voor vaste variantidentiteiten, na de terugmapping.
Neem referentie [A,A,B,B] en judge [A,B,B,B]. Drie van vier stemmen komen overeen: pₒ=.75. De referentie kiest A en B elk voor de helft; de judge kiest A voor een kwart en B voor driekwart.
De verwachte overeenkomst uit die twee verdelingen is pₑ=.5×.25+.5×.75=.5. Cohen-kappa corrigeert de waargenomen overeenkomst voor deze verwachte overeenkomst:
r = judge_agreement(
['A','A','B','B'],
['A','B','B','B'])
print(r['agreement']) # .75
print(r['chance_agreement']) # .5
print(r['kappa']) # .5
Maak judge_agreement met agreement, chance_agreement en kappa. Bereken pₑ over A, B én tie met hun afzonderlijke marginale frequenties. Hier wordt κ=(.75−.5)/(1−.5)=.5.
print(judge_agreement(
['A','A'],['A','A'])['kappa'])
# None
print(judge_agreement(
['A','B'],['B','A'])['kappa'])
# -1.0
Als pₑ één is, is de noemer nul en geven we None. Kappa kan negatief zijn en hangt af van de labelverdeling. Het is geen universele kwaliteitsschaal; ook de menselijke referentie kan onjuist of onvolledig zijn.
03Wat neem je mee?
- Consistentie vergelijkt terugvertaalde winnaars tussen presentatievolgordes.
- Overeenstemming vergelijkt met een aparte referentie.
- Geen van beide bewijst op zichzelf feitelijke waarheid.
Hierna verbind je gevallen, voorspellingen en beoordeling in een eigen evaluatieharnas.