Suorituskykytestien alamäestä

Kielimallikilvan kiihtyessä suorituskykytesteistä on tullut valmistajille yhä halutumpia tavoitteita. Mallien erojen pienentyessä selkeät numerot ovat helppo ja ymmärrettävä tapa erottua, joten testeissä menestymiseen panostetaan — usein jo liikaa. Tilanne on lopulta ajautunut siihen, että malleja tuunataan pelkästään testeissä pärjääviksi, mikä johtaa siihen että testit menettävät merkitystään samalla kun itse malleja ei välttämättä kouluteta parhaalla tavalla yleistä käyttöä ajatellen. Paras mahdollinen testi on omalla datalla omaan käyttöön tehty suljettu testi.

Preussialainen renkaanheitto

Kielimallien suorituskyvyn testaus on aina ollut haastavaa, koska mallien ulosanti ei ole determinististä: samaan (avoimeen) kysymykseen saa eri vastauksen jokaisella kysymyskerralla. Laadukkaiden suorituskykytestien luominen on haastavaa, eikä laatukaan välttämättä takaa sitä että testin tulos olisi mitenkään linjassa juuri omaan käyttötarkoitukseen jos se ei satu olemaan täsmälleen se mitä on testattu.

Aktiivisena Web-kehittäjänä olen seurannut itse aina erityisesti ohjelmointikykyjä mittaaviin testaihin, mutta viimeaikoina niidenkin hyödyllisyys on selkeästi vähentynyt. Johtavat suuret kielimallit ovat nykyisin niin lähellä toisiaan, että kaikki suoriutuvat virheettömästi aiemmin eroja tehneistä testikysymyksistä. Mutta mikä pahinta, ne eivät kuitenkaan suoriudu yhtä hyvin kaikista tehtävistä vaan pelkästään näistä julkisista testitehtävistä jotka on opetettu niille pelkästään hyvien testisuoritusten toivossa. Tämän vuoksi monen ohjelmointitestin kärjessä kelluu uusia malleja jotka kompuroivat oikean elämän koodihaasteissa paljon pahemmin kuin vuoden (eli tekoälymaailmassa ikuisuuden) vanhemmat Anthropicin mallit. (Myös OpenAI:lla ja Googlella on kelvollisia koodausmalleja, mutta Anthropicin mallit ovat erityisen tunnettuja laadukkaista koodauskyvyistään.)

Yksittäisen koodarin elämään tällä ei ihan hirveästi ole merkitystä, koska työkaluista lähes aina löytyy nopea valikko josta valita toinen malli jos nyt käytössä oleva ei tunnu suoriutuvan. Mutta, jos malli on valjastettu esimerkiksi pitkään agenttiketjuun jonka lopputuloksena on tiukasti strukturoitua dataa, sen valinta ja evaluointi ennen tuotantoon viemistä on erityisen kriittistä. Evaluointitestien luominen ja ylläpito (ts. pitkän aikavälin testaus usealla mallilla) on oma taiteenalansa ja se saattaa viedä enemmän aikaa kuin varsinaisen ohjelmapolun rakentaminen, mutta se yleensä myös maksaa itsensä takaisin heti kun malleja aletaan päivittämään.

Kolmansien osapuolten suorituskykytestit ovat hyvä lähtökohta ensimmäisen harkintajoukon kokoamiseksi, mutta sen syvemmin niihin ei kannata kiintyä.

Muutamia testilinkkejä joita itse seuraan:


Kommentit