Suuret kielimallit (Large Language models, LLM) tulivat suuren yleisön tietoisuuteen viimeistään sen jälkeen, kun ChatGPT-palvelu julkaistiin marraskuussa 2022. Se saavutti ennätykselliset miljoona käyttäjää viidessä päivässä. Tämä teki siitä nopeimmin kasvaneen sosiaalisen median palvelun siihen mennessä. Aikaisempi ennätys 2,5 kuukautta oli Instagram-palvelulla eli miljoonan käyttäjän raja rikkoutui nyt 15 kertaa nopeammin. Tässä artikkelissa käsitellään suurten kielimallien hyperparametreja sekä tapoja, joilla käyttäjä voi vaikuttaa mallin generoimaan lopputulokseen.
Kirjoittaja: Matti Welin
LLM toimitaperiaate
Kielimallin toiminta on periaatteessa yksinkertaista; se perustuu todennäköisyyksiin. Malli valitsee seuraavan sanan todennäköisyyksien perusteella, kuten Kuvassa 1 on esitetty. Tässä tapauksessa seuraavaksi sanaksi valitaan ’park’, koska sen todennäköisyys on suurin, ja poika meni puistoon. (Gomede 2023.)
Kuva 1. Kielimallin toimintaperiaate: seuraavan sanan valinta (Stokes 2020)
Periaate toimii, koska mallin opettamiseen on käytetty erittäin suurta ja laajaa datajoukkoa, joka sisältää monipuolisesti kielen erilaisia rakenteita. Tämä mahdollistaa kielen tilastollisten ominaisuuksien oppimisen. Lisäksi malleissa käytetään kompleksisia monikerrosarkkitehtuureja, jotka pystyvät kaappaamaan riippuvuuksia sanojen välillä, vaikka ne olisivat kaukana toisistaan. Toisaalta algoritmien optimointi on parantanut malleja toimimaan hyvin myös ennen näkemättömällä uudella datalla. Kontekstuaalisen ymmärryksen kehittyminen puolestaan on mahdollistanut tarkemmat ja ympäristön kannalta merkityksellisemmät ennusteet. (Newman 2023.)
Kielimallit eivät kuitenkaan ole pelkkiä mustia laatikoita vaan niiden toimintaan voidaan vaikuttaa parametreilla. Osa parametreista on jopa loppukäyttäjien saatavilla. Niillä säädellään mm. sitä, miten seuraava sana valitaan.
Kielimallien hyperparametrit
Kielimalli generoi lauseita ennustamalla toistuvasti seuraavan sanan. Kuvassa 2 on esitetty, miten lause kielimallissa muodostetaan.
Kuva 2. Kielimallin toimintaperiaate lauseen muodostuksessa (TalkAI 2023)
Kielimallien parametrejä kutsutaan nimellä hyperparametrit ja niiden avulla voidaan vaikuttaa mallin generoimaan lopputulokseen.
Yksi tärkeimmistä parametreista on nimeltään lämpötila (temperature) ja se vaikuttaa seuraavan sanan valintaan muuttamalla todennäköisyyksiä. Jos parametrin arvo on lähellä nollaa, malli palauttaa aina sanan, jonka todennäköisyys on korkein. Käytännössä arvoa nolla ei käytetä, koska se tuottaa ongelmia laskennassa. Jos lämpötilan arvoa kasvatetaan, malli valitsee myös vähemmän todennäköisiä sanoja. Kuvassa 3 on esitetty lämpötila-parametrin vaikutus sanan valinnassa. (Learn prompting 2023.)
Kuva 3. Lämpötila-parametrin toiminta (TalkAI 2023)
Luovissa ja monimuotoisissa tehtävänannoissa, joissa sallitaan myös poikkeamat kontekstista, kannattaa käyttää korkeampia lämpötilan arvoja. Hyvä iteroinnin lähtöarvo voisi olla 0.7. Tällöin tekstiin generoidaan enemmän satunnaisuutta. Vastaavasti pienemmät lämpötilat tuottavat konservatiivisempia ja enemmän deterministisiä vastauksia. Lämpötilan valinta on aina kompromissi, sillä liian korkeat lämpötilan arvot saattavat tuottaa epäoleellisia tai virheellisiä vastauksia ja liian alhaisen lämpötilan käytöllä vastaukset muuttuvat robottimaisiksi ja niiden diversiteetti häviää. Lämpötilan arvolla 1 käytetään pelkästään alkuperäisiä todennäköisyyksiä. (Viejo 2023.)
Top-k ja Top-p -parametreilla voidaan myös vaikuttaa sanojen valintaan. Top-k-parametrilla kerrotaan mallille, että seuraava sana valitaan k:n todennäköisimmän sanan joukosta. Eli malli järjestää sanat todennäköisyyksien mukaisesti laskevaan järjestykseen siten, että korkeimman todennäköisyyden sanat ovat listassa ensimmäisenä. Valittu sana tulee valita listasta k:n ensimmäisen sanan joukosta. Kuvassa 4 on esitetty Top-k parametrin toiminta k:n arvolla 4.
Kuva 4. Top-k parametrin toimintaperiaate (Stokes 2020)
Top-k-parametrin käyttö poistaa useita pienen todennäköisyyden omaavia sanoja, mutta k-arvon valinta voi olla hankalaa, koska jakaumat eri sanojen kohdalla vaihtelevat suuresti. Kuvassa 5 on havainnollistettu tätä ongelmaa. Kuvan yläosassa esitetään tilanne, jossa on useita lähes yhtä todennäköisiä sanoja; jakauma muodostuu melko tasaiseksi ja se sisältää useita sanoja. Minkään sanan todennäköisyys ei ole selvästi muita suurempi. Sopiva k:n arvo voisi olla vaikka 10. Kuvan alaosassa on esitetty tilanne, jossa jakauma on kapea ja sitä hallitsee yksi sana, jonka todennäköisyys on korkea verrattuna muihin. Sopiva k:n arvo olisi selvästi pienempi kuin yläpuolella esitetyssä tilanteessa. Jos tässä kohtaa käytetään samaa k:n arvoa, mukaan valintaan otettaisiin myös pienen todennäköisyyden sanoja, jotka luultavasti olisivat kontekstissa epäoleellisia.
Kuva 5. Sanojen todennäköisyysjakaumat: leveä ja kapea (Mann 2019)
Top-p-parametri on kehitetty poistamaan edellä esitettyä ongelmaa. Se toimii periaatteessa samalla tavalla, mutta listan alkioiden todennäköisyyksistä lasketaan kumulatiivinen summa ja mukaan valintaan otetaan parametrin p verran alkiota. Kuvassa 6 on esitetty Top-p parametrin toimintaperiaate. P:n arvolla 0.75 mukaan valintaan otetaan niin monta sanaa, että todennäköisyyksien summa juuri ylittää p:n arvon. Tässä tapauksessa kolmen ensimmäisen alkion todennäköisyyksien summa ylittää p:n arvon 0.75, jolloin seuraava sana valitaan näiden kolmen sanan joukosta.
Kuva 6. Top-p toimintaperiaate (Stokes, J. 2020)
Maksimipituus-parametrilla (Maximum-length) määritellään sekvenssin maksimipituus, jolla kielimalli operoi. Se pitää sisällään niin tekstin generoinnin kuin prosessoinninkin. Sen avulla voidaan rajoittaa vastuksen pituutta ja se estää liian pitkät ja usein epärelevantit vastaukset. Samalla kustannusten hallinta helpottuu, kun mallin generoiman vastauksen pituus on rajoitettu. Maksimipituuteen lasketaan myös syöte eli se implisiittisesti määrittelee kontekstin koon. Kun mallin syötteiden ja vastausten määrä ylittää rajan, malli alkaa unohtamaan vanhoja asioita. Kuvassa 7 on esitetty maksimipituus-parametrin vaikutus kontekstiin: vanha teksti valuu kontekstin ulkopuolelle eli se unohdetaan.
Kuva 7. Maximipituus ja kontekstin koko (Monfort 2023)
Edellä mainittujen lisäksi kielimalleissa voidaan käyttää parametreja Taajuusrangaistus (Frequency penalty), Läsnäolorangaistus (Presence penalty) ja Loppusekvenssi (Stop sequences), jotka eivät olleet mukana alkuperäisissä GPT-malleissa. Taajuusrangaistus toimii niin, että sanan todennäköisyyttä rangaistaan, jos se esiintyy liian usein, jolloin tiettyjä sanoja tai sanontoja esiintyy harvemmin. Läsnäolorangaistus toimii samaan tapaan, ja sen avulla voidaan poistaa epärelevantteja tai epäoleellisia sanoja. Loppusekvenssi-parametri määrittelee tekstin, joka lopettaa tekstin generoinnin. Sen avulla voidaan estää sensitiivisen sisällön generointi sekä rajoittaa vastaksen pituutta ja täten hallita myös kustannuksia. Näiden parametrien käyttöönotto vaatii usein asiakaskohtaisia implementointeja.
OpenAI:n suositussa ChatGPT-palvelussa mallin hyperparametreihin ei suoraan käyttäjät pääse käsiksi. Saman yrityksen toisessa ns. hiekkalaatikko (playground) -palvelussa parametrit Lämpötila, Maksimi pituus, Top-p, Loppusekvenssi, Taajuusrangaistus sekä Läsnäolorangaistus ovat käyttöliittymässä aseteltavissa. LAB- ammattikorkeakoulu toteuttaa asiakaskohtaisia tekoälykoulutuksia erilaisiin tarpeisiin aina perusteista hands-on koulutuksiin asiakkaan omalla datalla. Suuret kielimallit ovat olleet suosittuja osakokonaisuuksia näissä koulutuksissa.
Lähteet
Gomede, E. 2023. Next Word Prediction: Enhancing Language Understanding and Communication. Medium. Viitattu 28.10.2023. Saatavissa https://medium.com/@evertongomede/next-word-prediction-enhancing-language-understanding-and-communication-1322f3b57632
Mann, B. 2023. How to sample from language models. Medium. Viitattu 28.10.2023. Saatavissa https://towardsdatascience.com/how-to-sample-from-language-models-682bceb97277
Monfort, M. 2023. Important lessons for ChatGPT users. Medium. Viitattu 28.10.2023. Saatavissa https://medium.com/notcentralised/important-lessons-for-chatgpt-5ee6fcee02b
Newman, S. 2023. An Intuitive Explanation of Large Language Models. Viitattu 28.10.2023. Saatavissa https://amistrongeryet.substack.com/p/large-language-models-explained
Learn Prompting. 2023. Prompt Engineering Guide: LLM Settings. Viitattu 28.10.2023. Saatavissa https://learnprompting.org/docs/basics/configuration_hyperparameters
Stokes, J. 2023. A guide to language model sampling in AllenNLP. Medium. Viitattu 28.10.2023. Saatavissa https://blog.allenai.org/a-guide-to-language-model-sampling-in-allennlp-3b1239274bc3
TalkAI. 2023. Wie funktioniert ChatGPT eigentlich? Viitattu 28.10.2023. Saatavissa https://talkai.info/de/blog/how_does_chatgpt_work/
Viejo, D. 2023. The Science of Control: How Temperature, Top_p, and Top_k shape Large Language Models. Medium. Viitattu 10.11.2023. Saatavissa https://medium.com/@daniel.puenteviejo/the-science-of-control-how-temperature-top-p-and-top-k-shape-large-language-models-853cb0480dae
Kirjoittaja
Yliopettaja Matti Welin on kiinnostunut suurista kielimalleista ja niiden hyväksikäytöstä insinöörityössä erityisesti ICT-alalla. Hän on myös pitänyt useita yrityskohtaisia AI-koulutuksia.
Artikkelikuva: https://pxhere.com/en/photo/891776
Julkaistu 13.11.2023
Viittausohje
Welin, M. 2023. Suurten kielimallien hyperparametrit. LAB Pro. Viitattu pvm. Saatavissa https://www.labopen.fi/lab-pro/suurten-kielimallien-hyperparametrit/