temperatursampling

Temperatursampling er en afkodningsstrategi, hvor logitterne fra en sprogmodel skaleres med en temperaturparameter inden softmax, hvilket styrer fordelingens skarphed.

Kort fortalt

Kort fortalt: Temperatursampling bestemmer, hvor tilfældig en sprogmodels output skal være ved at justere sandsynlighederne – lav temperatur giver mere forudsigelige svar, høj temperatur giver mere kreativitet.

Kategori
teknik
Niveau
øvet
Udtale
/tɛmpəʁaˈtuːɐ̯samplɪŋ/

Betydninger

1
  1. 1

    En afkodningsteknik for sprogmodeller, hvor logitterne divideres med en temperaturparameter T før softmax, således at T > 1 udjævner fordelingen (mere tilfældighed) og T < 1 skærper den (mindre tilfældighed).

    • Ved at sætte temperaturen til 0,7 opnås en god balance mellem kreativitet og sammenhæng i den genererede tekst.Eksempel fra praksis

Hvornår bruges det

Temperatursampling bruges typisk i tekstgenerering med sprogmodeller (f.eks. GPT) for at balancere kreativitet og sammenhæng. En lav temperatur (f.eks. 0,1) gør teksten mere deterministisk og fokuseret, mens en høj temperatur (f.eks. 1,5) øger diversiteten, men kan føre til meningsløs output.

Formel

p_i = exp(z_i / T) / sum_j exp(z_j / T), hvor z_i er logit for token i, T er temperaturen.

Kodeeksempel

def temperature_sampling(logits, temperature):
    logits = logits / temperature
    probs = torch.softmax(logits, dim=-1)
    return torch.multinomial(probs, num_samples=1)

Eksempel på temperatur-sampling i PyTorch. Logitter divideres med temperaturen, softmax anvendes, og der samples fra den resulterende fordeling.

Oprindelse

Termen er overtaget fra fysikken, hvor temperatur beskriver den termiske energi; i maskinlæring refererer den til graden af tilfældighed i sampling.

Afledte ord

1

Kilder

1