📖

Cos'è Few-Shot Learning?

Il few-shot learning consente ai modelli di IA di padroneggiare nuovi compiti a partire da pochi esempi. Scopri come funziona, perché è importante e dove viene utilizzato.

Il few-shot learning è un paradigma di machine learning in cui un modello è chiamato a generalizzare verso un nuovo compito o classe dopo aver visto solo un piccolo numero di esempi etichettati, spesso anche solo uno (one-shot) o nessuno (zero-shot). Si contrappone all'apprendimento supervisionato tradizionale, che in genere richiede grandi set di dati etichettati per ottenere prestazioni elevate. L'approccio è diventato particolarmente rilevante con i grandi modelli linguistici, che possono interpretare istruzioni ed esempi forniti direttamente nel prompt di input.

Come funziona il few-shot learning

La maggior parte dei moderni sistemi di few-shot learning parte da un grande modello pre-addestrato che ha già acquisito conoscenze ampie da enormi set di dati. Per svolgere un nuovo compito, al modello viene fornito un piccolo set di dimostrazioni all'interno dell'input, una tecnica nota come in-context learning. Ad esempio, per insegnare a un modello a classificare il feedback dei clienti come positivo, negativo o neutro, uno sviluppatore potrebbe includere tre esempi etichettati nel prompt: "Servizio eccellente!" → positivo, "Risposta lenta." → negativo e "È stato accettabile." → neutro. Il modello applica quindi lo stesso schema a nuovi input non etichettati, senza alcun aggiornamento dei pesi.

Oltre al prompting, il few-shot learning può essere implementato anche tramite il fine-tuning di un modello pre-addestrato su un piccolo set di dati etichettati, oppure attraverso approcci di meta-learning che addestrano esplicitamente un modello a imparare rapidamente nuovi compiti. In tutti i casi, l'obiettivo è lo stesso: sfruttare le conoscenze pregresse affinché pochi esempi bastino a definire un nuovo comportamento.

Perché è importante

Il few-shot learning riduce drasticamente i costi e i tempi necessari per adattare l'IA a compiti specializzati. In ambiti in cui i dati etichettati sono scarsi, costosi o sensibili, come la diagnosi medica, l'analisi legale o la traduzione di lingue rare, raccogliere migliaia di esempi è spesso poco pratico. I metodi few-shot rendono possibile costruire applicazioni utili a partire da pochi esempi scelti con cura. Permettono inoltre un'iterazione più rapida, poiché i team possono prototipare e perfezionare prompt o fine-tuning senza dover attendere grandi progetti di annotazione.

Tipologie principali

  • One-shot learning: al modello viene fornito un singolo esempio per classe da cui apprendere.
  • Few-shot learning (k-shot): al modello viene fornito un numero ridotto, tipicamente da 2 a 10, di esempi per classe.
  • Zero-shot learning: il modello svolge il compito senza alcun esempio, affidandosi esclusivamente a istruzioni o descrizioni.
  • Prompt-based few-shot learning: gli esempi vengono forniti direttamente nel prompt di input, come reso popolare da GPT-3 e dai suoi successori.
  • Meta-learning: il modello viene addestrato esplicitamente su molti compiti correlati, così da potersi adattare a nuovi compiti con dati minimi; una famiglia che include metodi come MAML e le prototypical networks.

Il few-shot learning è una delle capacità distintive dei moderni foundation model e sta alla base di tecniche come il prompt engineering, la retrieval-augmented generation e il fine-tuning leggero come LoRA. Man mano che i modelli di base continuano a migliorare, il numero di esempi necessari per ottenere prestazioni affidabili tende a ridursi, rendendo la personalizzazione dell'IA accessibile anche a team che non dispongono di pipeline dedicate per l'etichettatura dei dati.

Domande frequenti

How is few-shot learning different from transfer learning?
Transfer learning is the broader practice of reusing knowledge from one task to help with another, usually by fine-tuning a pre-trained model. Few-shot learning is a specific goal within that umbrella: succeeding at a new task when only a handful of examples are available. Many few-shot systems use transfer learning, but the defining feature is the small data size, not the transfer mechanism itself.
What is the difference between few-shot and zero-shot learning?
Zero-shot learning requires the model to perform a task with no examples at all, relying on instructions, task descriptions, or general world knowledge. Few-shot learning provides a small number of demonstrations, typically 1 to 10, so the model can infer the desired pattern. Zero-shot is more demanding of the base model's reasoning ability, while few-shot tends to be more reliable for narrow or unusual tasks.
How many examples do you need for few-shot learning?
There is no fixed number, but few-shot learning generally uses between 1 and about 10 labeled examples per class, often provided directly in the prompt. More examples usually improve performance up to a point, after which the model's context window or diminishing returns set in. The exact sweet spot depends on the task, the base model, and the quality of the examples.
Is few-shot learning the same as prompt engineering?
Not exactly. Prompt engineering is the practice of crafting inputs to get the best results from a model, and it often includes adding few-shot examples as part of the prompt. Few-shot learning is the broader capability of learning from a few examples, which can be exercised through prompt engineering, fine-tuning, or meta-learning. They overlap heavily in practice but are distinct concepts.