ai.vostman.fi
← Tekoälysanasto

Tekoälyn tietosanakirja

Lämpötila: seuraavan tokenin valinta

Lämpötila (temperature) säätelee, kuinka voimakkaasti generointi suosii mallin korkeimmin pisteyttämiä tokeneja. Se skaalaa logitit ennen kuin softmax muuntaa ne todennäköisyyksiksi. Mallin painot pysyvät samoina.

Samat pisteet, eri todennäköisyydet

Kun lämpötila T on positiivinen, kukin logitti jaetaan T:llä. Yhtä pienemmät arvot suurentavat pisteiden välisiä eroja ja keskittävät todennäköisyyttä kärkiehdokkaille. Yhtä suuremmat arvot tasoittavat jakaumaa ja antavat pienemmän pistemäärän ehdokkaille enemmän mahdollisuuksia.

Ehdokkaiden järjestys säilyy: positiivisella luvulla jakaminen ei muuta sitä. Sen sijaan ehdokkaiden todennäköisyydet muuttuvat. Lämpötila vaikuttaa siis otantaan (sampling), mutta suurimman pistemäärän valitseminen antaa saman tuloksen kaikilla positiivisilla lämpötiloilla.

Samat A-, B-, C- ja D-ehdokkaat kulkevat kahden lasisen otantalaitteen läpi. Lämpötilalla 0,5 A hallitsee; lämpötilalla 2 mahdollisuudet jakautuvat tasaisemmin. Ehdokkaiden järjestys säilyy.

Arvo mallin seuraava tokeni

Kun torch ja transformers on asennettu, tämä tekee yhden generointivaiheen lämpötilalla 0,7:

import torch
from transformers import AutoTokenizer, AutoModelForCausalLM

tokenizer = AutoTokenizer.from_pretrained("gpt2")
model = AutoModelForCausalLM.from_pretrained("gpt2")
inputs = tokenizer("A strange light appeared", return_tensors="pt")

with torch.inference_mode():
    logits = model(**inputs).logits[:, -1]
    probabilities = torch.softmax(logits / 0.7, dim=-1)
    next_id = torch.multinomial(probabilities, num_samples=1).item()

continuation = tokenizer.decode([*inputs.input_ids[0].tolist(), next_id])

torch.multinomial arpoo tokenin skaalatusta jakaumasta. Operaation toistaminen voi tuottaa erilaisia jatkoja samoillakin mallin pisteillä. Ahneessa valinnassa (greedy decoding) valitaan suoraan suurin pistemäärä.

Lämpötila on vain osa dekoodausta (decoding). Top-k ja top-p voivat rajata käytettävissä olevia ehdokkaita, joten lämpötila ei yksin määritä koko generointimenetelmää. API:n nollalämpötila tarkoittaa tavallisesti ahneen valinnan kaltaista toimintaa; yllä oleva jakolasku vaatii positiivisen luvun.

Asetus jakaa uudelleen mallin ennusteiden todennäköisyyksiä. Se ei lisää mallin tietämystä eikä suoraan mittaa vastauksen oikeellisuutta.

Aiheeseen liittyvät: tokenit, logitit, top-p-otanta, oma selainmallimme.

Lähteet