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.