Kielimalli

Tilastollinen kielimalli on sanajonon sanojen todennäköisyysjakauma tai sellainen todennäköisyysfunktio, joka tuottaa jakauman. Jos sanajonossa, esimerkiksi lauseessa, on n sanaa, antaa kielimalli koko sanajonolle todennäköisyyden P(w_1,\ldots,w_n). Kielimalli voidaan määritellä myös sanan osille, kuten morfeemeille. Todennäköisyyksien avulla kielimallit osaavat muun muassa ennustaa, miten jonkin lauseen tulisi jatkua, vastata kysymyksiin, tai muodostaa kehotteen avulla pitkiäkin tekstejä kuten keskusteluja, runoja, koodeja tai artikkeleita. Ensimmäiset kielimallit (tilastollinen kielimalli, , SLM) esiteltiin 1980-luvulla ja ne saivat alkunsa puheentunnistuksesta. Varhaiset kielimallit eivät sisältäneet tietoa kielen mallinnuksesta. Kielimallin perustana käytetään olemassaolevaa tekstiaineistoa eli korpusta, jonka avulla malli opetetaan. Aineisto voi olla peräisin kirjoista, sanomalehdistä, tv-ohjelmien transskripteistä tai vaikka internetistä. Mitä suurempi opetusaineisto, sitä parempi yleensä mallin ennustuskyky. Suurten opetusmateriaalien vuoksi mallit saattavat joskus oppia niistä myös ei- haluttuja asioita, kuten ennakkoasenteita. Kielimalleja voidaan käyttää erilaisissa tietokonelingvistiikan sovelluksissa, kuten puheentunnistuksessa, konekääntämisessä, luonnollisen kielen tuottamisessa, kielen jäsentämisessä, tekstintunnistuksessa tai tiedonhaussa. == Kielimallien tyyppejä == Tyyppejä: * 1-grammi-malli eli unigram-malli: saneen todennäköisyys ei riipu muista saneista * 2-grammi-malli: vain edellinen sane määrittää seuraavan saneen todennäköisyyden * n-grammi-malli: ottaa huomioon n − 1 edellistä sanetta * neuroverkkokielimallit * ehdollistettu kielimalli: ottaa kehotteen lisäksi huomioon kontekstivektorin * Transformer, jonka kehitti Google vuonna 2017https://ai.googleblog.com/2017/08/transformer-novel-neural-network.html == Tekniikkaa == Usein kielimallit käyttävät liukulukuja, mutta tutkijat ovat ehdottaneet yksinkertaistamista kolmiarvoisiin (-1, 0, 1) lukuihin, jolloin laskutoimitukset ovat yksinkertaisempia. Tutkijoiden mukaan kolmiarvoiset luvut ja tarkoitukseen tehdyt FPGA-piirit mahdollistavat virrankäytön ja muistitarpeen pienentämisen. Kielimallit jakavat tekstin tokeneihin, jotka voivat esittää lyhyttä sanaa tai osia pidemmästä sanasta. ChatGPT:n julkaisuhetkellä se kykeni muistamaan , mutta kahdessa vuodessa sen jälkeen GPT-4o kykenee 128 tuhanteen tokeniin, Claude 3.5 Sonnet kykenee 200 tuhanteen tokeniin ja Gemini 1.5 Pro kykenee kahteen miljoonaan tokeniin. Kielimallien toimintaa täydennetään RAG-menetelmällä (retrieval-augmented generation), jossa käyttäjän kyselyyn vastataan hakemalla dokumenteista tietoa täydennykseksi. Parametrien määrät ovat kasvaneet merkittävästi: vuonna 2018 Googlen BERT-malli käytti 110-340 miljoonaa parametria, vuonna 2022 Googlen esittämä PaLM käytti 540 miljardia parametria, ja vuonna 2023 julkaistun GPT-4:n arvioitiin käyttävän triljoonaa parametria. Parametrimäärän kasvu 1,3 miljardista parametrista kuuteen miljardiin parametriin kasvattaa datamäärää 4,6 kertaisesti, mutta tarvittava koulutusaika voi kasvaa 20-kertaisesti. == Joitain kuuluisia kielimalleja == *OpenAI:n GPT (Generative pre-trained transformer) **versiot GPT-2, GPT-3, GPT-3.5, GPT-4, joita on käytetty ChatGPT/InstructGPT -sovelluksissa ja Bing- hakukoneessa.https://blogs.bing.com/search/march_2023/Confirmed-the-new-Bing- runs-on-OpenAI%E2%80%99s-GPT-4 * Meta Platforms/Facebookin LLaMA https://ai.facebook.com/blog/large-language-model-llama-meta-ai/ ** vuotanut julkisuuteen ja ajettavissa kotikoneella. * Google AI: LaMDA (Language Model for Dialogue Applications)https://blog.google/technology/ai/lamda/ , PaLM (Pathways Language Model) ** sovelluskohde Google Bard ** PaLM 2 on Google Kääntäjän käyttämä kielimalli * DeepMind: Chinchilla * BERT: Bidirectional Encoder Representations from Transformers (BERT) **Googlen vuonna 2018 julkaisema ensimmäinen transformer-perustainen kielimalli === Suomen kielen kielimalleja === * FinBERT * Finnish GPT-3 * Viking == Ohjelmistoja == Joitakin avoimesti saatavia työkaluja kielimallien suorittamiseen ovat Ollama, LM Suite ja Llama.cpp. == Lähteet == == Kirjallisuutta == * Lindroos, Jari & Poso, Venla & Toivanen, Ida: ”Uhka vai mahdollisuus? Transformer-mallit tekstin käsittelyssä”. Teoksessa Vapaasti luettavissa *