Mallin arviointi: tulos sisältää myös koeasetelman
Arviointi (evaluation) mittaa mallin toimintaa valituissa tehtävissä. Vertailutesti (benchmark) antaa esimerkit ja pisteytysmenettelyn. Raportoitu tulos riippuu lisäksi kehotteista, dekoodausasetuksista, käytettävistä työkaluista ja sallitusta laskentamäärästä.
Kaksi järjestelmää voi käyttää samoja mallipainoja ja saada eri pisteet, koska toinen saa enemmän yrityksiä tai paremman tarkistusmenettelyn. Tulostaulukon luku kuvaa siksi myös koeasetelmaa eikä vain mallia.
Yksi yritys vai useita?
Koodin generoinnissa pass@k kysyy, läpäiseekö vähintään yksi k:sta otetusta ehdokkaasta testit. Kun tehtävään on tuotettu n ehdokasta ja niistä correct läpäisee, funktio laskee tavallisen estimaattorin ehdolla 1 <= k <= n.
from math import comb
def pass_at_k(n, correct, k):
return 1 - comb(n - correct, k) / comb(n, k)
Jos yksi kymmenestä ehdokkaasta läpäisee, pass@1 on 0,1 ja pass@5 on 0,5 tämän estimaattorin mukaan. Malli ei muuttunut. Mahdollisuus tuottaa useampia ehdokkaita muuttui.
Käyttökelpoinen järjestelmä tarvitsee myös tavan valita tai tarkistaa onnistunut ehdokas. Jokaista ehdokasta testaava vertailu voi käyttää tietoa, jota todellisella käyttäjällä ei ole.
Tarkistin kuuluu väitteeseen
Heikot testit voivat hyväksyä virheellisen ohjelman. EvalPlus osoitti, että lisätestit voivat paljastaa virheitä ja muuttaa jopa mallien järjestystä. Tekstituomarin mieltymys mittaa samoin eri asiaa kuin riippumattomasti tarkistettu tosiasiallinen oikeellisuus.
Pidä arviointiaineisto erillään koulutuksesta ja toistuvasta asetusten valinnasta. Kirjaa tehtäväjoukko, kehote, otanta-asetukset, budjetti ja pisteytyssäännöt, jotta vertailuja voi tulkita.
Perpleksisyys mittaa havaitun tekstin ennustamista. Ohjeiden noudattaminen, hyödyllinen päättely ja toimiva koodi tarvitsevat juuri niitä testaavat arvioinnit.