Token
Kielimalli ei lue kirjaimia eikä sanoja vaan tokeneita. Se selittää kolme asiaa, jotka muuten näyttävät mielivaltaisilta: hinnan, pituusrajat ja sen miksi malli unohtaa keskustelun alun.
Mikä on token?
Token on pienin yksikkö, jona kielimalli käsittelee tekstiä – tyypillisesti sanan osa, lyhyt kokonainen sana tai välimerkki. Malli ei näe tekstiä kirjaimina vaan numeroina, ja jokainen numero vastaa yhtä tokenia sen sanastossa. Sanasto on kiinteä ja se on rakennettu etukäteen opetusaineiston perusteella, joten se sisältää kokonaisina ne sanat, jotka aineistossa esiintyivät usein, ja pilkkoo palasiksi kaiken muun.
Käytännössä tämä tarkoittaa, että "kissa" voi olla yksi token, mutta "kissallammekin" on todennäköisesti neljä tai viisi. Kumpikin on yksi sana ihmiselle. Mallille ne ovat hyvin eri kokoisia.
Miksi tämä on suomeksi eri asia
Mallien sanastot on rakennettu pääosin englanninkielisestä aineistosta. Englannissa merkitys ilmaistaan erillisillä sanoilla, jotka toistuvat sellaisenaan, joten ne mahtuvat sanastoon kokonaisina. Suomessa merkitys ilmaistaan liittämällä päätteitä vartaloon, jolloin sama sana esiintyy kymmenissä eri muodoissa – ja suurin osa niistä on aineistossa liian harvinaisia päästäkseen sanastoon omana yksikkönään.
Seuraus on mitattava: sama asiasisältö vie suomeksi selvästi enemmän tokeneita kuin englanniksi. Kukaan ei ollut julkaissut siitä lukua, joten mittasimme sen itse kahdeksalla rinnakkaisella tekstiparilla.
Mihin tokenit käytännössä vaikuttavat
Kuukausitilausta maksavalle tokenit eivät näy laskussa lainkaan – hinta on sama riippumatta siitä, kuinka paljon kirjoitat. Ne näkyvät kolmessa muussa paikassa. Rajapinnan hinnoittelu perustuu tokeneihin, joten ohjelmallinen käyttö maksaa suoraan sitä enemmän mitä pidempää kieltä käytät. Konteksti-ikkuna ilmoitetaan tokeneina, joten se määrittää kuinka pitkän dokumentin malli jaksaa pitää mielessä. Ja vastauksen enimmäispituus on tokeneita, mikä selittää miksi pitkä vastaus katkeaa joskus kesken lauseen.
Liittyvät käsitteet
Konteksti-ikkuna on se tila, joka tokeneilla täytetään. Kielimalli on järjestelmä, joka tokeneita käsittelee, ja kehote on se teksti, jonka sinä siihen syötät. Koko sanasto on sanastosivulla.
Usein kysytyt kysymykset
Montako sanaa yksi token on?
Englanniksi yksi token on karkeasti kolme neljäsosaa sanasta, eli sata sanaa on noin 130 tokenia. Suomeksi suhde on selvästi huonompi, koska taivutetut muodot ja yhdyssanat eivät mahdu mallin sanastoon kokonaisina vaan pilkkoutuvat useaan palaseen. Mittasimme suhteen erikseen suomenkielisellä aineistolla, koska julkaistua lukua ei ollut olemassa.
Miksi tokenit ylipäätään kiinnostavat käyttäjää?
Kolmesta syystä. Rajapinnan hinnoittelu perustuu tokeneihin, joten ne ovat suoraan rahaa. Konteksti-ikkunan koko ilmoitetaan tokeneina, joten ne määrittävät kuinka pitkän dokumentin malli pystyy käsittelemään kerralla. Ja vastauksen pituusrajat ovat tokeneita, mikä selittää miksi pitkä vastaus joskus katkeaa kesken lauseen.
Lasketaanko myös mallin oma vastaus tokeneiksi?
Kyllä. Rajapinnassa syöte ja vastaus hinnoitellaan erikseen, ja vastaus on tyypillisesti kalliimpi tokenia kohden. Konteksti-ikkunan kannalta ne ovat samassa säkissä: keskustelu, liitteet ja mallin omat vastaukset kilpailevat samasta tilasta, minkä vuoksi pitkä keskustelu alkaa jossain vaiheessa unohtaa alkupäätään.
Voiko tokeneiden määrää tarkistaa etukäteen?
Voi. OpenAI julkaisee tokenisoijansa avoimesti, ja sen voi ajaa omalla koneella ilman että tekstiä lähetetään mihinkään. Käytämme samaa työkalua tämän sivuston tokenimittauksissa, ja mittausskripti on mukana sivuston lähdekoodissa, joten kuka tahansa voi toistaa mittauksen.