Temperature

En parameter, der skalerer logits før softmax for at styre tilfældigheden i tokensampling.

Kort fortalt

Temperaturen bestemmer, hvor kreativ eller forudsigelig en AI's tekstgenerering er – høj temperatur giver mere variation, lav temperatur giver mere deterministiske svar.

Kategori
teknik
Niveau
øvet
Udtale
tɛmpəˈʁaˌtuɐ̯

Betydninger

1
  1. 1

    En parameter i sandsynlighedsmodeller, der skalerer logits for at påvirke spredningen af den resulterende softmax-fordeling.

    • Jeg satte temperaturen til 0,7 for at få mere varieret historiefortælling uden at det blev for kaotisk.Eksempel fra praksis, 2024
    • En temperatur på 0 gør modellen deterministisk, da den altid vælger det mest sandsynlige token.Eksempel fra praksis, 2024

Hvornår bruges det

Temperaturen bruges i tekstgenereringsmodeller som GPT til at justere balancen mellem kreativitet og konsistens. Den er ofte justerbar via API-kald og typisk sat mellem 0 og 2, hvor 1 er standard.

Formel

P(t) = exp(z_t / T) / Σ_j exp(z_j / T), hvor z er logits og T er temperature.

Kodeeksempel

import numpy as np

def softmax_with_temperature(logits, temperature):
    logits = logits / temperature
    exps = np.exp(logits - np.max(logits))
    return exps / np.sum(exps)

logits = np.array([2.0, 1.0, 0.1])
print(softmax_with_temperature(logits, 1.0))
print(softmax_with_temperature(logits, 0.5))

Eksempel på temperaturjusteret softmax i Python. Højere temperatur giver mere jævn fordeling.

Oprindelse

Termen stammer fra statistisk mekanik og termodynamik, hvor temperaturen beskriver partiklernes kinetiske energi; i AI overføres begrebet til at kontrollere tilfældigheden i sandsynlighedsfordelinger.

Kilder

2
  • Goodfellow, I., Bengio, Y., & Courville, A. (2016). Deep Learning. MIT Press.
  • OpenAI API Reference (2023). Language models – Temperature.