Corso
Non è un segreto quanto velocemente l’intelligenza artificiale sia evoluta negli ultimi anni, soprattutto nel campo dei modelli linguistici di grandi dimensioni (LLM).
Tradizionalmente, per far svolgere a un LLM un compito specifico, bisognava addestrarlo su molti esempi. Questo processo può essere lungo e dispendioso in termini di risorse. Tuttavia, esistono tecniche che permettono agli LLM di affrontare un’ampia gamma di compiti senza un addestramento specifico per ciascuno.
Una di queste tecniche si chiama zero-shot prompting.
In questo tutorial, andremo a:
- Capire cos’è lo zero-shot prompting.
- Esplorare i concetti fondamentali alla base dello zero-shot prompting.
- Esaminare come gli LLM abilitano questa capacità.
- Imparare a creare prompt efficaci per vari compiti.
- Scoprire applicazioni e casi d’uso reali.
- Comprendere i limiti e le sfide di questo approccio.
Questo tutorial fa parte della mia serie di post “Prompt Engineering: From Zero to Hero”:
- Prompt Engineering per tutti
- Zero-Shot Prompting
- Few-Shot Prompting
- Prompt Chaining
Che cos’è lo zero-shot prompting?
Lo zero-shot prompting è una tecnica che sfrutta le capacità di generalizzazione degli LLM per affrontare nuovi compiti senza addestramento specifico o esempi precedenti.
Sfrutta l’ampio pre-training degli LLM su dataset grandi e diversificati, consentendo loro di applicare le proprie conoscenze a nuovi compiti basandosi unicamente su istruzioni chiare e concise. Sebbene questa tecnica possa essere molto efficace, il suo successo dipende dalla complessità del compito e dalla qualità del prompt.
In poche parole, descrivi il compito che vuoi che il modello esegua senza fornire esempi. Il modello attinge quindi alle sue vaste conoscenze pre-addestrate per generare una risposta pertinente.
Questo approccio contrasta con l’one-shot o il few-shot prompting, dove fornisci al modello uno o alcuni esempi per guidarne l’output.
Lo zero-shot prompting mette in mostra l’impressionante capacità degli LLM di generalizzare la loro comprensione in domini diversi. Con una semplice istruzione chiara, puoi attingere alla base di conoscenza del modello per generare contenuti creativi, informativi o specifici per il compito senza ulteriore addestramento.
Vediamo un esempio rapido:
Prompt: Classifica l’animale in base alle sue caratteristiche. Animale: Questa creatura ha otto zampe, tesse ragnatele e spesso mangia insetti.
Output: Ragno.
In questo esempio, il prompt non fornisce alcun esempio su come classificare gli animali o quali classificazioni usare. Inoltre, il prompt definisce chiaramente il compito (classificare l’animale) in base alle caratteristiche fornite.
Il large language model utilizza le sue ampie conoscenze sugli animali e le loro caratteristiche per effettuare la classificazione e identifica correttamente che la creatura descritta è un ragno, in base alle caratteristiche chiave fornite. Fornisce solo la classificazione richiesta, dimostrando la capacità di seguire le istruzioni con precisione.
Lo zero-shot prompting elimina la necessità di un fine-tuning specifico per compito, amplia notevolmente la gamma di attività che un modello può svolgere e rende le capacità avanzate più accessibili agli utenti non tecnici.
Come funziona lo zero-shot prompting
Per capire come funziona lo zero-shot prompting, devono essere chiari due aspetti importanti: il pre-training degli LLM e il concetto di progettazione del prompt.
Pre-training del modello linguistico
Gli LLM sono sottoposti a un pre-training esteso su dataset enormi, che costituisce la base delle loro capacità zero-shot. Il processo di pre-training è il seguente:
- Raccolta dei dati: gli LLM vengono addestrati su dati testuali diversificati da varie fonti. Questi dati possono ammontare a centinaia di miliardi di parole.
- Tokenizzazione: il testo viene suddiviso in unità più piccole chiamate token, che possono essere parole, sotto-parole o caratteri.
- Architettura di rete neurale: il modello, tipicamente basato sull’architettura transformer, elabora questi token attraverso più livelli di reti neurali.
- Addestramento predittivo: il modello viene addestrato a prevedere il token successivo in una sequenza, dati i token precedenti.
- Riconoscimento di pattern: attraverso questo processo, il modello impara a riconoscere schemi nel linguaggio, inclusi grammatica, sintassi e relazioni semantiche.
- Acquisizione di conoscenze: il modello costruisce un’ampia base di conoscenze che copre vari argomenti e domini.
- Comprensione contestuale: il modello impara a comprendere il contesto e a generare risposte adeguate al contesto.

Questo conferisce agli LLM la conoscenza, la comprensione e l’adattabilità necessarie per lo zero-shot prompting. Questo pre-training esteso consente a questi modelli di svolgere compiti per i quali non sono stati esplicitamente addestrati semplicemente comprendendo e rispondendo a prompt in linguaggio naturale.
Progettazione del prompt
Una buona progettazione del prompt è cruciale per uno zero-shot prompting efficace. Colma il divario tra l’intento dell’utente e le capacità del modello. Ma come facciamo a essere sicuri che i nostri prompt siano efficaci? Vediamo queste strategie:
Istruzioni chiare
I prompt dovrebbero fornire istruzioni esplicite e non ambigue che comunichino all’LLM il compito desiderato.
Esempio: "Traduci la seguente frase in inglese in francese:" Questo prompt indica chiaramente il compito (traduzione) e specifica sia la lingua di origine (inglese) sia quella di destinazione (francese), senza lasciare spazio a fraintendimenti.
Inquadramento del compito
Inquadra il compito in modo da sfruttare le conoscenze e le capacità preesistenti del modello.
Esempio: "Classifica il sentiment di questa recensione cinematografica come positivo, negativo o neutro:" Questo prompt inquadra il compito come un problema di classificazione con categorie specifiche, in linea con l’addestramento del modello in compiti di classificazione del testo.
Fornitura di contesto
Includi contesto o informazioni di background rilevanti per aiutare il modello a comprendere i requisiti e i vincoli del compito.
Esempio: "Dato che 'Python' in questo contesto si riferisce a un linguaggio di programmazione, spiega che cos’è Python:" Questo prompt fornisce un contesto cruciale (Python come linguaggio di programmazione, non come serpente) per assicurare che il modello si concentri sulle informazioni pertinenti.
Specifica del formato di output
Definisci chiaramente il formato atteso della risposta.
Esempio: "Elenca tre cause principali del cambiamento climatico, ciascuna in un punto elenco separato." Questo prompt specifica sia il numero di elementi (tre) sia il formato (punti elenco) della risposta, garantendo un output strutturato.
Evitare ambiguità
Usa un linguaggio preciso ed evita istruzioni vaghe o troppo aperte che potrebbero portare a fraintendimenti da parte del modello.
Esempio: "Descrivi i passaggi specifici del ciclo dell’acqua, iniziando dall’evaporazione." Questo prompt usa un linguaggio preciso ("passaggi specifici", "ciclo dell’acqua") e fornisce un punto di partenza, riducendo la possibilità di interpretazioni errate.
Usare un linguaggio naturale
Formula i prompt in modo naturale e conversazionale.
Esempio: "Immagina di essere un consulente di carriera. Che consiglio daresti a un neolaureato in cerca del suo primo lavoro?" Questo prompt usa un tono colloquiale e crea uno scenario riconoscibile, incoraggiando una risposta più naturale e coinvolgente da parte del modello.
Affinamento iterativo
Se i risultati iniziali non soddisfano, affina il prompt aggiungendo maggior specificità o modificando il linguaggio.
Esempio: Prompt iniziale: "Parlami delle energie rinnovabili." Prompt affinato: "Spiega le tre tipologie più comuni di fonti di energia rinnovabile, i loro vantaggi e le sfide attuali nell’implementazione." Questo mostra come un prompt inizialmente ampio possa essere affinato per produrre una risposta più mirata e completa.
Vantaggi dello zero-shot prompting
Lo zero-shot prompting presenta vantaggi significativi rispetto ad altre tecniche.
Uno di questi è la grande flessibilità. Ciò consente agli LLM di adattarsi a una serie di compiti senza richiedere dati di addestramento specifici per compito. La flessibilità è molto importante perché permette a un singolo modello di svolgere numerosi compiti in vari domini, dalla traduzione alla sentiment analysis fino alla generazione di contenuti. Consente inoltre di adattarsi rapidamente a nuovi compiti immediatamente, senza dover passare per lunghi processi di riaddestramento o fine-tuning.
Inoltre, i modelli zero-shot possono gestire situazioni o compiti nuovi che non erano stati esplicitamente considerati in precedenza. Puoi anche personalizzare il comportamento del modello in base a esigenze specifiche semplicemente regolando il prompt, senza modificare il modello sottostante.
Man mano che la conoscenza generale del modello cresce, la sua capacità di gestire compiti diversi migliora naturalmente, senza interventi specifici per compito.
Lo zero-shot prompting offre anche notevoli vantaggi in termini di efficienza, in particolare per il risparmio di tempo e risorse. Elimina la necessità di dataset estesi specifici per il compito, che possono essere lunghi e costosi da reperire.
Rimuove anche il requisito di dati etichettati per l’addestramento, riducendo costi e potenziali bias associati agli annotatori umani. Senza fine-tuning specifico per compito, le richieste computazionali sono significativamente inferiori. Ciò consente un’implementazione più rapida di nuove applicazioni, poiché non c’è attesa per la raccolta dei dati e l’addestramento del modello. Un singolo modello può gestire molti compiti, riducendo la necessità di più modelli specializzati. La prompt engineering consente iterazioni rapide e miglioramenti senza bisogno di riaddestramento.
Consideriamo il processo tradizionale rispetto allo zero-shot prompting per sviluppare uno strumento di sentiment analysis:

Questo confronto mostra il notevole risparmio di tempo e risorse ottenuto con lo zero-shot prompting, consentendo uno sviluppo e una messa in produzione dell’IA più rapidi in vari ambiti.
Applicazioni dello zero-shot prompting
Lo zero-shot prompting ha portato a molti nuovi utilizzi in diversi settori. Vediamo alcune aree importanti in cui questa tecnica fa la differenza.
Generazione di testo
Lo zero-shot prompting funziona alla grande in vari compiti di generazione del testo, permettendo ai modelli di produrre contenuti di tipi diversi senza addestramento specifico. Alcuni includono riassunto, scrittura creativa e traduzione. Ecco alcuni esempi:

Classificazione e sentiment analysis
Lo zero-shot prompting può essere usato per vari compiti di classificazione, inclusi classificazione per argomento, sentiment analysis e classificazione dell’intento, senza bisogno di dati etichettati per l’addestramento.

Question answering
Lo zero-shot prompting dà ai modelli la capacità di rispondere a molte domande diverse, come domande fattuali, esplicative e comparative, basandosi sulle loro conoscenze generali e sulla comprensione del linguaggio.

Limitazioni dello zero-shot prompting
Pur avendo grandi potenzialità, è importante comprenderne limiti e sfide.
Accuratezza
Lo zero-shot prompting, pur essendo potente, potrebbe non essere sempre accurato quanto i modelli addestrati specificamente su determinati compiti. Questo limite deriva da diversi fattori:
- Mancanza di ottimizzazione specifica per il compito: i modelli fine-tuned beneficiano di un addestramento mirato su dati specifici per il compito, che può portare a una maggiore accuratezza per quel particolare task.
- Variabilità di interpretazione: l’interpretazione del prompt da parte del modello potrebbe non allinearsi sempre perfettamente con l’intento dell’utente, potenzialmente portando a imprecisioni.
- Gestione di compiti complessi: compiti altamente specializzati o complessi potrebbero richiedere una comprensione più sfumata di quanto sia possibile solo con lo zero-shot prompting.
Sensibilità al prompt
Le prestazioni dello zero-shot prompting possono essere molto sensibili alla formulazione del prompt.
- Variazioni di formulazione: piccoli cambiamenti nel vocabolario o nella struttura della frase possono alterare l’interpretazione del compito da parte del modello.
- Chiarezza delle istruzioni: istruzioni ambigue o imprecise possono portare a risultati inattesi o incoerenti.
- Dipendenza dal contesto: l’efficacia di un prompt può variare a seconda dell’input specifico o del contesto a cui viene applicato.
Vediamo un esempio specifico con un testo campione e spieghiamo gli output per ciascun prompt. Questo illustrerà come piccole variazioni nel prompting possano portare a risposte diverse da parte del modello.
Useremo il seguente testo campione:
Testo campione: "La Rivoluzione industriale, che ebbe luogo tra il XVIII e il XIX secolo, fu un periodo durante il quale le società europee e americane, prevalentemente agricole e rurali, divennero industriali e urbane. Prima della Rivoluzione industriale, iniziata in Gran Bretagna alla fine del 1700, la produzione avveniva spesso nelle case, usando utensili manuali o macchine di base. L’industrializzazione segnò il passaggio a macchinari specializzati azionati a energia, fabbriche e produzione di massa. Le industrie del ferro e del tessile, insieme allo sviluppo della macchina a vapore, svolsero ruoli centrali nella Rivoluzione industriale, che vide anche il miglioramento dei sistemi di trasporto, comunicazione e bancari."
Ora applichiamo tre prompt:
Prompt 1: "Riassumi questo testo in una frase:"
Risultato 1: La Rivoluzione industriale fu un periodo di svolta tra XVIII e XIX secolo che trasformò le società europee e americane da agrarie a industriali, caratterizzato dall’ascesa di fabbriche, produzione di massa e avanzamenti tecnologici nella manifattura, nei trasporti e nella comunicazione.
Questa risposta fornisce un riassunto conciso in una frase che coglie l’essenza della Rivoluzione industriale, il suo periodo, l’area geografica e le caratteristiche chiave.
Prompt 2: "Fornisci un breve riassunto di quanto segue:"
Risultato 2: La Rivoluzione industriale fu un periodo di cambiamento significativo tra il XVIII e il XIX secolo, che interessò principalmente Europa e America. Segnò il passaggio da società agricole e rurali a società industriali e urbane. Prima di questa epoca, la produzione avveniva tipicamente in casa usando strumenti semplici. La rivoluzione portò macchinari azionati a energia, fabbriche e metodi di produzione di massa. Settori chiave come il ferro e il tessile ebbero ruoli cruciali, così come l’invenzione della macchina a vapore. Questo periodo vide anche progressi nei sistemi di trasporto, comunicazione e bancari, alterando profondamente il panorama economico e sociale.
Questa risposta è più lunga e dettagliata della prima. Copre più aspetti della Rivoluzione industriale, incluso l’impatto su specifiche industrie e i cambiamenti sociali più ampi. Il modello ha interpretato "breve riassunto" come consentito su più frasi e con una copertura più ampia.
Prompt 3: "Qual è l’idea principale di questo brano?"
Risultato 3: L’idea principale del brano è il passaggio fondamentale da una società agraria a una industriale durante la Rivoluzione industriale, evidenziando i grandi cambiamenti nei metodi di produzione, nella tecnologia e nello sviluppo urbano avvenuti in Europa e in America tra XVIII e XIX secolo.
Questa risposta si concentra sul tema centrale o concetto chiave del brano piuttosto che tentare di riassumere tutti i dettagli. Identifica la trasformazione principale (da agraria a industriale) e menziona aree di cambiamento ampie senza entrare negli specifici come le industrie del ferro e del tessile o la macchina a vapore.
Bias
I modelli pre-addestrati usati per lo zero-shot prompting possono manifestare bias presenti nei loro dati di addestramento, il che può portare a output problematici:
- Bias demografici: i modelli possono produrre risultati distorti relativi a razza, genere, età o altri fattori demografici.
- Bias culturali: le risposte del modello potrebbero favorire determinate prospettive culturali rispetto ad altre.
- Recency bias: le informazioni più presenti nei dati di addestramento (spesso più recenti) possono essere sovrarappresentate nella conoscenza del modello.
- Stereotipi: il modello potrebbe rinforzare stereotipi dannosi presenti nei dati di addestramento.
Comprendere questi limiti e sfide è fondamentale per usare efficacemente lo zero-shot prompting. È importante essere consapevoli di possibili imprecisioni, della rilevanza di una progettazione attenta dei prompt e della necessità di valutare criticamente gli output per potenziali bias.
Se questo argomento ti interessa, dai un’occhiata a questo corso su AI Ethics.
Conclusione
In questo tutorial abbiamo visto che lo zero-shot prompting è una tecnica che offre un modo potente e flessibile per gestire molti compiti linguistici senza bisogno di dati di addestramento speciali o di fare fine-tuning del modello.
Lo zero-shot prompting consente agli LLM di svolgere vari compiti, come generazione di testo, classificazione e question answering, tramite prompt progettati con cura.
Elimina la necessità di raccogliere dati specifici per compito e di addestrare il modello, riducendo significativamente tempo e risorse necessari per mettere in produzione soluzioni di IA.
Questo metodo rende le capacità avanzate dell’IA più accessibili alle persone non tecniche, poiché compiti complessi possono essere eseguiti semplicemente descrivendoli in linguaggio naturale.
Tuttavia, lo zero-shot prompting presenta limiti in termini di accuratezza, sensibilità al prompt e potenziali bias. Comprendere queste sfide è cruciale per un uso responsabile ed efficace.
E ora è il momento di mettere in pratica queste conoscenze! Ti invito a esplorare lo zero-shot prompting nei tuoi progetti e a sperimentare con prompt e compiti diversi. Divertiti e scopri il potenziale di questa tecnica nel tuo lavoro: buon divertimento!
FAQ
Come si confronta lo zero-shot prompting con il few-shot prompting in termini di accuratezza ed efficienza?
Lo zero-shot prompting è in genere più efficiente perché non richiede esempi, ma il few-shot prompting spesso offre una migliore accuratezza, soprattutto per compiti complessi. La scelta dipende dallo specifico caso d’uso, dalle risorse disponibili e dal bilanciamento di prestazioni desiderato.
Quali sono le implicazioni etiche dell’uso dello zero-shot prompting nei processi decisionali o nei sistemi automatizzati?
Le preoccupazioni etiche includono potenziali bias nei dati di pre-training del modello, mancanza di salvaguardie specifiche per il compito e il rischio di fare eccessivo affidamento sull’IA per decisioni critiche. Monitoraggio attento e supervisione umana sono fondamentali quando si implementa lo zero-shot prompting in ambiti sensibili.
Lo zero-shot prompting può essere combinato con altre tecniche di IA per potenziarne le capacità? In tal caso, come?
Sì, lo zero-shot prompting può essere combinato con tecniche come transfer learning, multi-task learning o reinforcement learning. Ad esempio, combinarlo con il transfer learning consente ai modelli di adattarsi più rapidamente a compiti specifici di dominio mantenendo capacità di generalizzazione.
Ci sono settori o campi specifici in cui lo zero-shot prompting ha mostrato risultati o applicazioni particolarmente promettenti?
Lo zero-shot prompting ha avuto molto successo in settori come l’assistenza clienti (per gestire richieste diversificate), la creazione di contenuti (per generare tipologie di contenuti variati) e la ricerca scientifica (per generazione di ipotesi e revisione della letteratura). Sta dando valore anche nelle applicazioni multilingue e nel rapid prototyping di soluzioni di IA.
Come potrebbe evolversi lo zero-shot prompting nei prossimi 5-10 anni e quali potenziali svolte potremmo vedere in questo ambito?
Potremmo vedere una comprensione del contesto più sofisticata, una migliore generalizzazione tra domini e integrazione con sistemi di IA multimodale. Le possibili svolte potrebbero riguardare lo zero-shot prompting per compiti di ragionamento complessi, l’adattamento in tempo reale al feedback dell’utente e un’integrazione fluida con basi di conoscenza esterne per maggiore accuratezza ed espansione delle capacità.
Ana Rojo Echeburúa è una specialista di AI e dati con un dottorato in Matematica Applicata. Le piace trasformare i dati in insight azionabili e ha una vasta esperienza nella guida di team tecnici. Ana ama collaborare da vicino con i clienti per risolvere le loro sfide di business e creare soluzioni di AI innovative. Nota per le sue capacità di problem solving e la comunicazione chiara, è appassionata di AI, in particolare di AI generativa. Ana è dedita all’apprendimento continuo e allo sviluppo etico dell’AI, oltre a semplificare problemi complessi e spiegare la tecnologia in modo accessibile.


