temperaturskalering
En metode til at skalere logits i en blød maksimeringsfunktion for at kontrollere 'skarpheden' af den resulterende sandsynlighedsfordeling.
Kort fortalt
Temperaturskalering justerer, hvor 'sikker' en sprogmodel er, når den vælger det næste ord – høj temperatur giver mere tilfældige valg, lav temperatur giver mere forudsigelige.
- Kategori
- teknik
- Niveau
- øvet
Betydninger
2- 1
Generel teknik, hvor logits divideres med en temperaturparameter T før softmax, hvilket ændrer fordelingens entropi.
- Ved temperaturskalering med T=1 forbliver fordelingen uændret; T>0,1 gør den fladere. — LLM inferens, 2023
- 2
Specifikt en kalibreringsmetode for neurale netværk, hvor temperaturen optimeres for at gøre forudsagte sandsynligheder mere nøjagtige.
- Efter temperaturskalering havde modellens konfidensniveauer en reel sandsynlighed på 90% korrekt. — On Calibration of Modern Neural Networks, 2017
Hvornår bruges det
Temperaturskalering anvendes typisk i sprogmodellers inferensfase for at styre kreativitet vs. præcision. Det kalibrerer også sandsynlighederne i klassifikationsmodeller for bedre at matche faktiske sandsynligheder.
Formel
P(i) = exp(logit_i / T) / sum_j exp(logit_j / T)Kodeeksempel
import numpy as np
def softmax_with_temperature(logits, temperature):
scaled_logits = logits / temperature
exps = np.exp(scaled_logits - np.max(scaled_logits))
return exps / np.sum(exps)Funktion der anvender temperaturskalering på logits.
Oprindelse
Begrebet er lånt fra statistisk mekanik, hvor temperatur påvirker energi-fordelinger. Inden for AI blev det introduceret som en kalibreringsteknik.
Afledte ord
1Kilder
2- On Calibration of Modern Neural Networks (2017)
- Language Models are Few-Shot Learners (2020)