Learning Rate

[lèrning rèit]

Quanto è grande il passo che il modello fa per correggersi durante il training. Sbagli questo numero e tutto il training va a puttane.

Il learning rate è probabilmente il singolo iperparametro più importante quando addestri una rete neurale. Controlla quanto velocemente il modello "impara".

Pensa al gradient descent come a uno che scende una montagna. Il learning rate è la lunghezza dei suoi passi. Troppo piccolo (es. 0.0000001): scende ma ci mette dieci anni. Troppo grande (es. 1.0): salta da una cima all'altra senza mai arrivare a valle, magari va anche più in alto. Quello giusto: arriva in fondo in tempo ragionevole.

Valori tipici:

  • Pretraining LLM: 1e-4 o 3e-4 (cioè 0.0001 o 0.0003).
  • Fine-tuning: molto più piccolo, 1e-5 o 5e-6. Non vuoi distruggere quello che il modello già sa.
  • LoRA: ancora più alto, anche 1e-3 o 3e-4, perché stai aggiornando solo poche cose.

Trucchi obbligatori:

  • Warmup: parti da zero, sali piano per i primi step. Evita di rovinare il modello all'inizio quando i gradienti sono caotici.
  • Cosine schedule: scendi gradualmente verso fine training. Affini i parametri.
  • One Cycle, Linear decay, varianti varie.

Nella pratica: se la loss esplode, learning rate troppo alto. Se la loss non scende mai, troppo basso. Se oscilla senza convergere, troppo alto. Sembra magia nera, in realtà è esperienza.