In-Context Learning(ICL)

[in-còntext lèrning]

Capacità degli LLM di imparare nuovi compiti vedendo solo esempi nel prompt, senza aggiornare i pesi. Il "superpotere" di GPT.

L'in-context learning è la capacità degli LLM di imparare un nuovo compito guardando solo qualche esempio nel prompt, senza nessun aggiornamento dei pesi. Scoperta come fenomeno emergente in GPT-3 (2020).

Esempio: vuoi che il modello classifichi recensioni come positive o negative. Non lo addestri. Gli scrivi:

  • "Recensione: Pessimo prodotto, non funziona. Sentiment: negativo"
  • "Recensione: Ottimo, lo consiglio! Sentiment: positivo"
  • "Recensione: Tutto rotto. Sentiment: ?"

Il modello continua il pattern e dà la risposta giusta. Non ha imparato nulla nel senso classico (i pesi sono fermi), ma usa il contesto come "training mini" al volo.

Tipi di in-context learning:

  • Zero-shot: nessun esempio, solo istruzione. "Classifica questa recensione come positiva o negativa."
  • One-shot: un esempio.
  • Few-shot: 2-10 esempi. Sweet spot per molti task.
  • Many-shot: decine o centinaia di esempi (con context window grandi tipo Gemini 1M, è fattibile).

Perché funziona? Mistero parziale. Le ipotesi:

  • Il modello, durante il pretraining, ha visto talmente tanti pattern di "esempio → risposta" che ha imparato meta-pattern.
  • L'attention simula in qualche modo un mini-gradient descent durante il forward pass (paper di Anthropic, 2023).
  • Effetto emergente che appare oltre certe scale.

Limiti pratici:

  • Contestuale: ogni richiesta deve includere gli esempi. Costa token.
  • Sensibile all'ordine: ordine degli esempi cambia risultati. Variabilità fastidiosa.
  • Limitato a task semplici: per compiti complessi, fine-tuning vero serve.
  • Non sostituisce il fine-tuning: per task ricorrenti su dataset grandi, fine-tuning è meglio.

L'in-context learning è una delle ragioni per cui gli LLM moderni sono così utili in pratica. Non devi addestrare niente, scrivi prompt furbi e ottieni risposte. È quello che chiamiamo "prompt engineering".