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. 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. 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

1

Kilder

2
  • On Calibration of Modern Neural Networks (2017)
  • Language Models are Few-Shot Learners (2020)