Suuret kielimallit pelinkehityksessä
Pulli, Samu (2024)
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2024052917669
https://urn.fi/URN:NBN:fi:amk-2024052917669
Tiivistelmä
Opinnäytetyön tavoitteena oli tutkia suuria kielimalleja ja niiden toiminnan tehostamista RAG-dokumenttihaun avulla. Työ toteutettiin ajamalla tekoälymallit Docker-virtualisointiympäristössä omalla laitteistolla.
Työ aloitettiin vektorisoimalla Unity-pelimoottorin dokumentaatio, joka tallennettiin tietokantaan. Dokumentaatio siivottiin ja pilkottiin alikansioihinsa skriptillä, jonka jälkeen sen vektorisointi aloitettiin. Syötetty dokumentaatio sisälsi HTMLtiedostoja, jotka koostuivat käyttöohjeista ja koodiesimerkeistä. Tietokannasta dokumentit tulivat tekoälyn ja RAG-dokumenttihaun käytettäväksi.
Vektoritietokannan käyttäjäksi rakennettiin Kielimallin ja RAG:n yhdistelmä, jossa kaikki kolme järjestelmää voivat käyttää toisiaan tehostamaan ja parantamaan tuloksia. Käyttäjä voi valita järjestelmästä yksittäisen mallin tai käyttää niitä toistensa tukena. Käytetyt tekoälymallit valittiin avoimista vaihtoehdoista, jotta työn yksityisyystavoitteet täyttyisivät.
Valmistunutta järjestelmää hyödynnettiin ratkaisemaan vanhan pelinkehitysprojektin aiempia ongelmia. Testejä toteutettiin kaikilla malliyhdistelmillä, jotta tulosten eroavaisuudet selviäisivät.
Järjestelmä suoriutui tehtävistään ja sen toiminta parani, kun RAG-dokumenttihakua käytettiin kielimallin apuna. Lisäksi RAG suoriutui tietyistä tehtävistä paremmin kuin erillinen kielimalli.
Työ aloitettiin vektorisoimalla Unity-pelimoottorin dokumentaatio, joka tallennettiin tietokantaan. Dokumentaatio siivottiin ja pilkottiin alikansioihinsa skriptillä, jonka jälkeen sen vektorisointi aloitettiin. Syötetty dokumentaatio sisälsi HTMLtiedostoja, jotka koostuivat käyttöohjeista ja koodiesimerkeistä. Tietokannasta dokumentit tulivat tekoälyn ja RAG-dokumenttihaun käytettäväksi.
Vektoritietokannan käyttäjäksi rakennettiin Kielimallin ja RAG:n yhdistelmä, jossa kaikki kolme järjestelmää voivat käyttää toisiaan tehostamaan ja parantamaan tuloksia. Käyttäjä voi valita järjestelmästä yksittäisen mallin tai käyttää niitä toistensa tukena. Käytetyt tekoälymallit valittiin avoimista vaihtoehdoista, jotta työn yksityisyystavoitteet täyttyisivät.
Valmistunutta järjestelmää hyödynnettiin ratkaisemaan vanhan pelinkehitysprojektin aiempia ongelmia. Testejä toteutettiin kaikilla malliyhdistelmillä, jotta tulosten eroavaisuudet selviäisivät.
Järjestelmä suoriutui tehtävistään ja sen toiminta parani, kun RAG-dokumenttihakua käytettiin kielimallin apuna. Lisäksi RAG suoriutui tietyistä tehtävistä paremmin kuin erillinen kielimalli.