Miten ChatGPT itse asiassa toimii?
ChatGPT on chatbot, joka perustuu laajaan kielimalliin (joko GPT-3.5 tai GPT-4). Konepellin alla ChatGPT on esivalmisteltu neuroverkko, joka on koulutettu vaikuttavalla määrällä julkisesti saatavilla olevaa tekstidataa internetistä.
Tämän valtavan tietomäärän ansiosta malli oppii malleja, kielioppia, asiayhteyksiä ja jopa jonkin verran maalaisjärkeä, minkä ansiosta se pystyy tuottamaan mielekkäitä ja johdonmukaisia vastauksia käyttäjän kyselyihin. ChatGPT:llä on ainutlaatuinen kyky käydä vuorovaikutteisia ja dynaamisia keskusteluja käyttäjien kanssa, mikä tekee siitä lupaavan työkalun monenlaisiin sovelluksiin.
Mikä on laaja kielimalli
Suuret kielimallit ovat tekoälyalgoritmeja, jotka käyttävät luonnollisen kielen käsittelynä tunnettuja syväoppimistekniikoita tekstin lukemiseen, ymmärtämiseen, tuottamiseen ja ennustamiseen.
Kun kirjoitat kysymyksen (prompt), malli ei etsi vastausta Internetistä, vaan se antaa vastauksen mielestään (vaikka sillä ei ole päätä). Se luo vastauksen sana kerrallaan ja määrittää jokaisen seuraavan sanan todennäköisyyksien perusteella, jotka on johdettu tekstidatasta, johon se on koulutettu, ja tekstistä, jonka se on tähän mennessä tuottanut.
11 miljardia parametria: kysymyksiin vastaaminen, aritmetiikka, kielen ymmärtäminen
Miten se on mahdollista? ChatGPT:n ei tarvitse etsiä tietoa Internetistä, koska se tietää jo kaiken (no, melkein). Kaikki Internetissä saatavilla oleva tieto on sisällytetty ChatGPT:hen sen 175 miljardin parametrin kautta.
62 miljardia parametria: kääntäminen, maalaisjärjellä tapahtuva päättely, koodin täydentäminen
Kun mallin parametrien määrä kasvaa, malliin ilmaantuu uusia kykyjä, joita kukaan ei ole tarkoituksella suunnitellut.
540 miljardia parametria: loogiset päättelyketjut, hahmontunnistus, luetun ymmärtäminen
Miten ChatGPT koulutettiin
ChatGPT on koulutettu satojen tuhansien kirjojen, artikkeleiden ja dialogien perusteella, mukaan lukien:
- WebText2 (suuri kirjasto, jossa on yli 45 teratavua tekstidataa).
- Cornell Movie Dialogs Corpus (tietokokonaisuus, joka sisältää yli 200 000 keskustelua 10 000 elokuvahahmon välillä elokuvakäsikirjoituksissa).
- Ubuntu Dialogue Corpus (kokoelma 1 000 000 monivaiheista vuoropuhelua Ubuntun käyttäjien ja yhteisön tukitiimin välillä).
- miljardeja rivejä koodia GitHubista.
Ensin GPT:n annettiin käsitellä kaikkea dataa, johon se pääsi käsiksi, ilman ihmisen ohjausta, jolloin se pystyi itsenäisesti hahmottamaan tekstin valtakuntaa määräävät säädökset ja yhteydet (tätä kutsutaan "valvomattomaksi oppimiseksi").
Sitten kielimallin hienosäätämiseksi sovellettiin tekniikkaa, jota kutsutaan vahvistusoppimiseksi inhimillisen palautteen avulla (RLHF):
- Ihmiskouluttajat kävivät keskusteluja, joissa he näyttelivät molempia osapuolia - käyttäjää ja tekoälyavustajaa. Heillä oli käytössään mallin kirjoittamia ehdotuksia, jotka auttoivat vastausten laatimisessa. Malli koulutettiin valvotun hienosäädön avulla ennustamaan avustajan seuraava viesti vuoropuhelun historian perusteella.
- Vahvistusoppimisen palkitsemismallin luomiseksi kerättiin vertailudataa. Tekoälyn kouluttajat asettivat useita mallin vastauksia paremmuusjärjestykseen laadun mukaan, ottaen huomioon muun muassa sen, oliko vastaus järkevä ja hyödyllinen. Valituista vastauksista muodostui dialogidataset, jossa oli uusia mallin kirjoittamia viestejä.
- Palkitsemismalli luotiin käyttämällä tekniikkaa nimeltä palkitsemismallinnus, jossa malli koulutettiin ennustamaan vastauksen laatua edellisessä vaiheessa kerätyn vertailudatan perusteella.
Lopulta ChatGPT on oppinut, miten vastata missä tahansa tilanteessa, antaa täsmällisiä ja asiaankuuluvia vastauksia ja väistää mahdollisesti haitallisia aiheita.
Transformer-arkkitehtuuria
ChatGPT:n koulutusprosessissa ennustetaan lauseen seuraava sana edellisten sanojen perusteella. Tätä varten käytetään Transformer-arkkitehtuuria (ChatGPT:ssä T on muuten lyhenne sanoista Transformer), joka koostuu itsehuomautusmekanismien kerroksista. Itsehuomion avulla malli voi punnita lauseen eri sanoja niiden tärkeyden ja merkityksellisyyden perusteella, jotta seuraava sana voidaan ennustaa tarkasti.
Vanhemmat rekursiiviset neuroverkot (RNN) lukevat tekstiä vasemmalta oikealle. Tämä toimii hyvin, kun toisiinsa liittyvät sanat ovat vierekkäin, mutta siitä tulee haastavaa, kun ne ovat lauseen vastakkaisissa päissä.
Kun RNN työskentelee yhden sivun mittaisen tekstin parissa, se "unohtaa" jo kolmannen kappaleen puoliväliin mennessä, mitä aivan alussa oli.
Muuntajat sen sijaan kykenevät käsittelemään yhtä aikaa kaikki lauseen sanat ja vertailemaan niitä kaikkiin muihin sanoihin. Tämän ansiosta ne voivat keskittää "huomionsa" olennaisimpiin sanoihin riippumatta niiden sijainnista syötesekvenssissä.
Tokenisointi
On tärkeää huomata, että muuntajat eivät toimi yksittäisten sanojen perusteella (ne eivät osaa lukea kuten ihmiset). Sen sijaan syötetty teksti jaetaan yksittäisiin merkkeihin, kuten sanoihin, välimerkkeihin ja erikoismerkkeihin. ChatGPT:ssä merkit ovat tekstikappaleita, jotka esitetään vektoreina (numerot, joilla on suunta ja sijainti).
Merkkivektoreiden läheisyys avaruudessa määrittää niiden assosiaatiotason: mitä lähempänä ne ovat, sitä enemmän ne liittyvät toisiinsa. Lisäksi huomio on koodattu vektorina, minkä ansiosta muuntajapohjaiset neuroverkot pystyvät säilyttämään ratkaisevan tärkeää tietoa kappaleen aiemmista osista.
Kun käyttäjä on vuorovaikutuksessa ChatGPT:n kanssa, malli saa syötteenä keskusteluhistorian, joka sisältää sekä käyttäjän kehotukset että mallin luomat vastaukset. Tulo merkitään ja syötetään sitten neuroverkkoon. Jokaiseen merkkiin liittyy sulautuma, joka edustaa sen merkitystä keskustelun kontekstissa.
GPT-3 on koulutettu noin 500 miljardilla merkillä, minkä ansiosta sen kielimallit pystyvät helpommin määrittämään merkityksen ja ennustamaan uskottavia jatkotekstejä kartoittamalla ne vektoriavaruudessa. Monet sanat muodostavat yhden merkin, mutta pidemmät tai monimutkaisemmat sanat jakautuvat usein useisiin merkkeihin. Merkit ovat keskimäärin noin neljän merkin pituisia.
Päätelmävaiheessa, jossa malli tuottaa vastauksia, käytetään autoregressioksi kutsuttua prosessia. Tämä tarkoittaa sitä, että malli ennustaa yhden sanan kerrallaan ja ehdollistaa sen samalla keskusteluhistoriaan ja aiemmin luotuihin sanoihin. Sen varmistamiseksi, että tuotettu vastaus on johdonmukainen ja relevantti, käytetään tekniikoita, kuten top-p-näytteenottoa ja lämpötilan skaalausta.
Lyhyesti sanottuna top-p-parametri antaa mallille joukon vaihtoehtoja (merkkejä), joista se voi valita, kun taas lämpötila määrittää tietyn merkin valinnan todennäköisyyden. Kun lämpötila on 0, malli valitsee vain "suosituimmat" merkit (sanat, jotka esiintyvät useimmin yhdessä tekstidatassa, johon ChatGPT on koulutettu):
Se ei ole aina hienoa. Korkeammat lämpötilat tekevät tuloksista monipuolisempia:
Lisätietoja ChatGPT-parametreista: