Sivu 1/1

Selitä lyhyesti miten kielimallit toimivat

Lähetetty: 06 Helmi 2025, 14:49
Kirjoittaja Zeneka
En halua tähän vastausta, että ne nyt vaan ennustavat seuraavaa sanaa tai jotain sellaista joka ei selitä mitään.

Kerro siis lyhyesti tärkeimmät asiat miten kielimalli päättyy promptista vastaukseen.

Bonuksena voisi kertoa mitkä ovat eri kielimallien suurimmat erot toiminnassa. Esim. ChatGpt vs DeepSeek.

Mitä tarkoittaa, että nykyään kielimallit jollain tapaa verifioivat vastauksiaan, jolla vältetään hallusinointia?

Re: Selitä lyhyesti miten kielimallit toimivat

Lähetetty: 06 Helmi 2025, 14:57
Kirjoittaja Stalker
Kysyin GPT:ltä

-------------------------------------------------------------
Kielimallit, kuten ChatGPT, toimivat pääasiassa seuraavien vaiheiden kautta:

1. **Tokenisointi**: Teksti muunnetaan pienempiin yksiköihin (tokeneihin), jotka voivat olla sanoja, sananosia tai merkkejä.
2. **Syötteen käsittely**: Tokenit muunnetaan numeeriseksi muodoksi ja syötetään neuroverkkoon.
3. **Itsensä huomioiva (self-attention) mekanismi**: Transformer-mallien keskeinen osa, joka analysoi koko syötteen kerralla ja arvioi, mitkä sanat ovat keskeisiä yhteyden ymmärtämiseksi.
4. **Kerroskerroksinen laskenta**: Malli käy läpi useita transformereita, joissa jokaisessa painotetaan eri yhteyksiä.
5. **Vasteen tuottaminen**: Lopussa softmax-funktio valitsee todennäköisimmät seuraavat tokenit ja rakentaa niistä vastauksen.
6. **Säädöt ja suodattimet**: Lisäjärjestelmät voivat muokata vastausta turvallisuuden, asiallisuuden ja tarkkuuden varmistamiseksi.

### Erot eri kielimallien välillä

- **ChatGPT (OpenAI)**: Rakennettu GPT-arkkitehtuurille, hienosäädetty ohjaavilla (RLHF) tekniikoilla ja painotettu turvallisiin, informatiivisiin vastauksiin.
- **DeepSeek**: Erikoistunut monikieliseen ja pitkän kontekstin mallintamiseen, mahdollisesti parempi loogisessa päättelyssä ja teknisissä kysymyksissä.
- **Mistral, Gemini, Claude**: Jokainen malli optimoi eri osa-alueita, kuten tehokkuutta, muistin hallintaa tai pidemmän kontekstin ymmärtämistä.

### Miten verifiointi vähentää hallusinaatiota?

Nykyiset mallit käyttävät **itsevarmennusta (self-verification)** ja **ulkoisia tietokantoja** arvioimaan vastauksiaan. Tämä tapahtuu esimerkiksi:
- **Retrieval-Augmented Generation (RAG)**: Malli hakee ulkoista tietoa ennen vastaamista.
- **Itsearviointi**: Malli tuottaa vaihtoehtoisia vastauksia ja vertaa niitä ennen lopullista vastausta.
- **Rinnakkaismallit**: Toiset mallit tai järjestelmät tarkistavat vastauksen oikeellisuuden.

Näillä menetelmillä pyritään vähentämään harhaanjohtavia tai täysin vääriä vastauksia.

---------------------------------------------------------

Re: Selitä lyhyesti miten kielimallit toimivat

Lähetetty: 06 Helmi 2025, 15:04
Kirjoittaja KultaKikkare
Antaa kielimallin vastata itse kun tuli niin tyhjentävä vastaus:
----

Kielimalli, kuten ChatGPT, toimii seuraavasti päätyäkseen promptista vastaukseen:

Tokenisaatio: Syöte jaetaan pieniksi osiksi eli tokeneiksi. Näitä voivat olla sanat, sanan osat tai yksittäiset merkit. Malli käsittelee tokeneita numeerisina esityksinä (vektoreina).

Ennustaminen: Transformer-arkkitehtuurin avulla malli käsittelee syötevastetta useiden kerrosten läpi, joissa se laskee kunkin tokenin yhteyksiä toisiinsa ("attention-mechanismi"). Malli käyttää näitä yhteyksiä arvioidakseen, mikä seuraava token on todennäköisin, ja tuottaa asteittain vastauksen.

Optimoiminen: Jokaisessa mallin kerroksessa on miljoonia painokertoimia, joita on optimoitu valtavan tekstimäärän läpi kuljettaessa, jotta malli oppisi rakenteita, merkityksiä ja konteksteja. Malli käyttää syötteestä saatua tietoa tämän aiemmin opitun perusteella vastauksen muodostamiseen.

Lopullinen valinta: Malli valitsee tokenit perustuen niiden todennäköisyyksiin ja yhdistää ne kokonaiseksi vastaukseksi.


Erot eri kielimallien välillä:

Arkkitehtuuri: Eri mallit, kuten ChatGPT ja DeepSeek, voivat käyttää erilaisia transformer-pohjaisia arkkitehtuureja. DeepSeek voi painottaa hakupohjaista vastaamista, jolloin se pyrkii hakemaan tietoa tietyistä tietolähteistä ennen vastauksen muodostamista.

Koulutusdata: Eri mallit on koulutettu erilaisilla tekstidatamassoilla. ChatGPT on koulutettu laajasti yleisdatalle, kun taas DeepSeek voi olla optimoitu hakupohjaisiin tiedonhakuun perustuviin tehtäviin.

Kontekstin käsittely: Mallit voivat vaihdella siinä, kuinka laajasti ne voivat käsitellä kontekstia (esim. ChatGPT:llä laajempi kontekstin hallinta).

Vastauksien verifiointi:
Nykyään kielimallien hallusinaatioita pyritään ehkäisemään verifiointimekanismeilla, joissa malli voi käyttää rinnakkaisia työkaluja (esim. tiedonhakuja tai muistimekanismeja) tarkistaakseen antamiensa tietojen paikkansapitävyyden. Tämä voi olla esimerkiksi kysymysten esittämistä mallin itsensä sisällä tarkistaakseen faktuaalisuuden tai vertailua muihin tiedonlähteisiin (kuten tietokantoihin).


Q: Kerro lisää transformer arkkitehtuurista. Millä algoritmilla kielimalli laskee mikä token on seuraavaksi todennäköisin?

Transformer-arkkitehtuuri perustuu neuroverkkoihin, ja sen perusajatuksena on käsitellä kieltä huomioimalla syötteen eri osien välisiä yhteyksiä. Transformer-arkkitehtuuri on mullistanut luonnollisen kielen prosessoinnin tehokkuudellaan ja kyvyllään käsitellä rinnakkain monimutkaisia lauserakenteita ilman, että se etenee sekventiaalisesti, kuten perinteiset RNN-verkot (recurrent neural networks).


Transformer-arkkitehtuurin peruskomponentit:

Itsehuomiointi (Self-Attention): Tämä on transformerin keskeinen mekanismi, jolla malli arvioi eri syötekohteiden (tokenien) merkityksen suhteessa toisiinsa. Esimerkiksi lauseessa "Kissa istuu matolla", malli huomioi, että sana "kissa" liittyy vahvasti sanaan "istuu", vaikka ne olisivat kaukana toisistaan lauseessa. Tämä tehdään laskemalla jokaisen tokenin "huomioarvo" suhteessa muihin tokeneihin.

Malli laskee attention-painot, jotka kertovat, kuinka paljon malli kiinnittää huomiota yhteen tokeniin suhteessa toiseen. Tämä tehdään matriisina, jossa kunkin tokenin yhteys kaikkiin muihin tokeneihin lasketaan.
Monipäinen itsehuomiointi (Multi-Head Attention): Transformer käyttää useita samanaikaisia huomiointipäitä ("heads"), jotka mahdollistavat erilaisten yhteyksien käsittelyn. Jokainen huomiointipää oppii erilaisia tokenien välisiä suhteita, kuten syntaktisia ja semanttisia rakenteita.

Syöte ja upotus (Embedding): Syöte muunnetaan ensin vektoreiksi (embedding), jotka sisältävät sanan semanttisen merkityksen. Lisäksi lisätään positionaalinen upotus (positional embedding), joka kertoo sanan sijainnin lauseessa, koska transformer ei käsittele dataa järjestyksessä, kuten perinteiset neuroverkot.

Feed-Forward-verkko: Jokainen transformer-kerros sisältää myös syötteestä riippumattoman syöttö-etenevän (feed-forward) verkon, joka käsittelee tokenien upotuksia itsenäisesti kussakin kohdassa.

Layer Normalization ja Residual Connections: Transformer käyttää myös normalisointia kerrosten välillä sekä jäännösyhteyksiä (residual connections), jotka auttavat mallia säilyttämään syötteen alkuperäisen tiedon ja estävät tietojen katoamisen syvien kerrosten aikana.


Miten tokenin todennäköisyys lasketaan:

Transformer-arkkitehtuurissa seuraavan tokenin ennustaminen perustuu itsehuomiointimekanismin avulla lasketun yhteyden pohjalta. Tämä prosessi etenee seuraavilla periaatteilla:

Softmax-funktio: Kun malli on laskenut kaikki huomio-painot (attention weights) ja yhdistänyt ne syötteiden upotuksiin, se ennustaa seuraavan tokenin todennäköisyyden käyttämällä softmax-funktiota. Tämä funktio muuttaa tokenin lopullisen ennusteen todennäköisyysjakaumaksi, jossa kaikilla mahdollisilla tokeneilla on tietty todennäköisyys esiintyä seuraavana.
[math]
Tässä[math] on tokenin "pistemäärä" (logits), joka on laskettu feed-forward-verkolla ja huomiointimekanismilla. Softmax antaa siis kaikille mahdollisille tokeneille todennäköisyysarvon, ja malli valitsee seuraavan tokenin yleensä joko suoraan suurimmalla todennäköisyydellä tai käyttämällä kielen tuotannossa **näytteenottoa** (sampling) hallittujen vaihteluiden tuottamiseksi.

Näytteenottomenetelmät:

Greedy Sampling: Valitaan aina suurimmalla todennäköisyydellä oleva token.
Beam Search: Etsitään useampia vaihtoehtoisia polkuja ja arvioidaan niiden kokonaismerkitsevyyttä, jolloin löydetään lauseen paras rakenne.
Temperature Sampling: Tokenien todennäköisyysjakaumaa voidaan muokata "lämmön" avulla, mikä lisää satunnaisuutta (jos lämpö on korkea) tai tekee mallista ennakoitavamman (jos lämpö on matala).
Top-K Sampling: Malli valitsee seuraavan tokenin vain korkeimman K todennäköisyyden omaavien tokenien joukosta, jolloin vältetään satunnaiset heikommat tokenit.


Kielimallien erot ja hallusinaation välttäminen:

Jotkut nykyaikaiset kielimallit yrittävät estää hallusinaatiota vastauksen verifioinnilla. Tämä voidaan tehdä monin tavoin, esimerkiksi käyttämällä:

Ulkopuolisia tietolähteitä (haku tai tietokannat), joiden avulla malli tarkistaa vastauksia.
Useita malleja yhdessä (ensemble-mallit), jolloin toisiaan täydentävät mallit vähentävät hallusinaation riskiä.
Iteratiivinen varmistus: Malli tarkistaa omia vastauksiaan vertaamalla niitä aiemmin oppimiinsa faktoihin tai mallinnuksiin.
Verifiointi vähentää mallin taipumusta keksiä tietoa (hallusinoida), kun se kohtaa puutteellisia tai harhaanjohtavia syötteitä.

Re: Selitä lyhyesti miten kielimallit toimivat

Lähetetty: 06 Helmi 2025, 15:20
Kirjoittaja Stalker
DEEPSEEKin toimintaan voi perehtyä syvällisemminkin, onhan se opensource, tietenkin PYTHONin alkeet hyvä osata ;)

Re: Selitä lyhyesti miten kielimallit toimivat

Lähetetty: 06 Helmi 2025, 15:44
Kirjoittaja KultaKikkare
Vielä vähän syvemmälle:

Q: Selitä tarkemmin miten zi eli tokenin pistemäärä lasketaan. Mitä aktivointifunktiota feed-forward verkossa käytetään?

Tokenin pistemäärä [math], joka kuvaa todennäköisyyttä siitä, että kyseinen token on seuraava, lasketaan useiden vaiheiden kautta transformer-arkkitehtuurissa. Yksi keskeinen osa tätä prosessia on feed-forward-verkko, joka käsittelee jokaisen tokenin embeddingin itsenäisesti sen jälkeen, kun huomiointimekanismi (self-attention) on laskenut tokenien väliset yhteydet.

1. Itsehuomiointi (Self-Attention) - Vaihe:Ennen kuin päästään pistemäärään [math], tokenin embedding (upotus) menee läpi itsehuomiointimekanismin. Tämä tapahtuu seuraavasti:

- Jokaiselle tokenille lasketaan kysely (query), näppäin (key) ja arvo (value) -vektorit. Nämä tuotetaan lineaaristen muunnosten kautta.

- Sitten lasketaan huomio-painot (attention scores) kertomalla kyselyvektorit näppäinvektorien kanssa. Tämä kertoo, kuinka paljon kukin token "kiinnittää huomiota" muihin tokeneihin:

[math]

Tässä [math] on kyselymatriisi, [math] on näppäinmatriisi, [math] on arvomatriisi, ja [math] on tokenin upotuksen koko (dimensio). Tuloksena saadaan jokaiselle tokenille yhteysarvo muihin tokeneihin, joka vaikuttaa tokenin lopulliseen embeddingiin.

2. Feed-Forward-verkko - Vaihe:Kun itsehuomiointimekanismi on antanut uuden embeddingin, jokainen token käsitellään feed-forward-verkossa erikseen. Feed-forward-verkko on perinteinen syöttö-etenevä neuroverkko, joka koostuu yhdestä tai kahdesta tiheästä kerroksesta (dense layers). Feed-forward-verkko käyttää seuraavaa rakennetta:

1. Ensimmäinen lineaarinen muunnos: Jokaiselle tokenille tehdään lineaarinen muunnos. Tämä tapahtuu matriisikertolaskuna ja vektorien lisäyksenä, kuten seuraavasti:

[math]

Tässä [math] on tokenin embedding (joka on tullut huomiointivaiheesta), [math] on painomatriisi, ja [math] on bias (siirto) vektori.

2. Aktivointifunktio: Tämän jälkeen käytetään epälineaarista aktivointifunktiota (yleensä ReLU), joka tuo epälineaarisuuden neuroverkon toimintaan:

[math]

ReLU (Rectified Linear Unit) on aktivaatiomekanismi, joka tuottaa nollan, jos syöte on negatiivinen, ja lineaarisesti kasvavan arvon, jos syöte on positiivinen:

[math]

3. Toinen lineaarinen muunnos: Tämän jälkeen tokenille tehdään toinen lineaarinen muunnos:

[math]

Tässä [math] on toinen painomatriisi ja [math] on bias. Tämä antaa lopullisen pistemäärän [math] jokaiselle tokenille.

3. Tokenin pistemäärän [math] käyttö:Tämä pistemäärä [math] on tokenin "logit" (sisäinen arvo), joka menee softmax-funktion läpi, jotta tokenien väliset todennäköisyydet saadaan laskettua. Softmax muuttaa logit-arvot todennäköisyysjakaumaksi, jossa tokenien todennäköisyydet summautuvat yhteen.

[math]

Tässä [math] on yksittäisen tokenin pisteytys, ja kaikki tokenit saavat oman logit-arvonsa [math]. Softmax tuottaa niiden perusteella todennäköisyysarvot, jotka malli käyttää seuraavan tokenin valintaan.

Yhteenveto:- Itsehuomiointi (self-attention) laskee tokenien keskinäiset yhteydet ja antaa kullekin tokenille uuden embeddingin.
- Feed-forward-verkko käyttää näitä uusia embeddingeja ja käsittelee jokaisen tokenin läpi lineaaristen kerrosten ja ReLU-aktivointifunktion kautta.
- Lopulta jokaiselle tokenille annetaan pistemäärä [math], joka softmaxin avulla muutetaan todennäköisyysarvoksi.

Tämä laskentaprosessi toistetaan monta kertaa transformer-kerroksissa, mikä tekee mallista tehokkaan monimutkaisten kielirakenteiden ja yhteyksien oppimisessa.

Re: Selitä lyhyesti miten kielimallit toimivat

Lähetetty: 06 Helmi 2025, 15:45
Kirjoittaja KultaKikkare
Tarvii muuten tehdä bbcode jolla saa automaattisesti formatoitua chatgpt vastauksen palstalle sopivaksi, lihavoinnit, latexit, yms. Tein skriptin regexpillä äsken.