Cos'è la generazione di prompt zero-shot?

Autori:

Meredith Syed

Technical Content, Editorial Lead

IBM

Vrunda Gadesha

AI Advocate | Technical Content Author

Cos'è la generazione di prompt zero-shot?

La generazione di prompt zero-shot è un metodo di prompt engineering che si basa sul pre-addestramento di un modello linguistico di grandi dimensioni (LLM) per dedurre una risposta adeguata. A differenza di altri metodi di prompt engineering come la generazione di prompt few-shot, ai modelli non vengono forniti esempi di output quando viene applicata la tecnica dei prompt zero-shot.1

Come funziona la generazione di prompt zero-shot

Una delle promesse dei foundation model è che possono essere adattati a molti casi d'uso senza richiedere ulteriori dati di addestramento. Nella generazione di prompt zero-shot, al modello viene chiesto di generare una risposta senza ricevere un esempio dell'output per il caso d'uso. La generazione di prompt zero-shot è un'applicazione di zero-shot learning, un modello di machine learning che chiede ai modelli di fare previsioni senza dati di addestramento.

Nell'esempio seguente, il modello granite-3-8b-instruct della Granite Series di IBM riceve un prompt utilizzando la generazione di prompt zero-shot in un caso d'uso di classificazione.2 In questo caso, al modello viene chiesto di classificare un problema IT come appartenente alla classe "Alta" o alla classe "Bassa", a indicare l'urgenza del problema. In questo esempio, il modello deduce l'etichetta di classificazione "Alta" per il prompt (come illustrato dall'output in grassetto), una risposta appropriata in questo contesto.

Nota: il prompt è stato eseguito in IBM watsonx.ai Prompt Lab utilizzando la modalità "Freeform".

Imposta il nome della classe per il problema descritto su Alta, Media o Bassa. Prevedi solo il nome della classe per l'ultima versione. Fornisci una breve descrizione del motivo per cui è stato scelto il nome della classe.

Nome della classe: Alta
Descrizione: un problema che ha un costo aziendale elevato, ha un impatto su molti utenti o entrambi.

Nome della classe: Media
Descrizione: un problema che si colloca tra il massimo e il minimo.

Nome della classe: Bassa
Descrizione: un problema che ha un impatto su alcuni utenti, non ha un costo aziendale elevato o entrambi.

Problema: gli utenti segnalano di non riuscire a caricare i file.

Classe: Alta

Descrizione: questo problema è considerato di urgenza alta perché ha un impatto su molti utenti e ha un costo aziendale elevato. L'impossibilità di caricare i file può impedire agli utenti di completare le proprie attività, il che può portare a ritardi e diminuzione della produttività. Inoltre, questo problema può avere un impatto su più reparti o team, aumentando ulteriormente i costi aziendali.

Una strategia di prompt engineering per la generazione di prompt zero-shot è spesso la strategia predefinita quando si affida un nuovo problema a un modello.1 Questo esempio dimostra come ci si aspetta che il modello generi un'inferenza appropriata, senza esempi espliciti di risposte. Lo scenario di generazione di prompt zero-shot imita l'apprendimento umano nell'applicare le conoscenze precedenti per risolvere nuovi problemi.3

Componenti di un prompt

Diagramma della generazione di prompt zero-shot Figura 2 - Componenti di un prompt

Sebbene il modello non sia dotato di prompt di esempio, viene fornito con dettagli su come completare l'attività: 1

Istruzione: innanzitutto, le istruzioni fornite al modello sono "Imposta il nome della classe per il problema descritto..."

Contesto: successivamente, il contesto del modello include una descrizione dei nomi delle classi.

Dati di input: il modello riceve i dati di input per eseguire l'attività di classificazione con il prompt "Problema: gli utenti segnalano di non essere in grado di caricare file".

Indicatore di output: facoltativamente, il modello può ricevere un indicatore di output, in questo caso il testo "Classe:" che indica al modello di rispondere con il nome della classe del problema. Gli indicatori di output indicano al modello che tipo di output produrre per un tipo specifico di risposta.

Il formato personalizzato di questo prompt è per il problema di classificazione in questione. Altri casi d'uso potrebbero richiedere un formato diverso per il prompt e potrebbero non contenere gli stessi componenti di istruzioni, contesto, dati di input e indicatori di output.1 Modelli diversi possono richiedere formati diversi per un prompt. Assicurati di seguire tutte le istruzioni fornite su come formattare un prompt per un modello specifico. In questo esempio, come risultato del pre-addestramento del modello e di questo prompt ben congegnato che utilizza i componenti descritti, il modello risponde con un output adeguato per questa attività.

Generazione di prompt zero-shot e generazione di prompt few-shot a confronto

Un confronto tra prompt zero-shot, one-shot e few-shot Figura-2 - Un confronto tra prompt zero-shot, one-shot e few-shot

A differenza della generazione di prompt zero-shot, la generazione di prompt few-shot fornisce al modello esempi di input e output previsti per l'attività.1 L'immagine precedente illustra la differenza tra la generazione di prompt zero-shot e la generazione di prompt few-shot, con la generazione di prompt one-shot mostrata anche come caso speciale. 

Utilizzando lo stesso modello IBM granite-3-8b-instruct, vengono forniti esempi di "Problemi" e le "Classi"  corrispondenti per questa attività.2 I tre esempi di input e output forniti illustrano la strategia di generazione di prompt few-shot. In risposta a questo prompt, il modello fa una previsione ragionevole della classe “Media” (come evidenziato in grassetto).

Nota: il prompt è stato eseguito con IBM watsonx.ai Prompt Lab utilizzando la modalità "Freeform".

Imposta il nome della classe per il problema descritto su Alta, Media o Bassa. Ho fornito alcuni esempi di problemi e i nomi delle classi corrispondenti. Prevedi solo il nome della classe per l'ultima versione. Fornisci una breve descrizione del motivo per cui è stato scelto il nome della classe.

Nome della classe: Alta
Descrizione: un problema che ha un costo aziendale elevato, ha un impatto su molti utenti o su entrambi.

Nome della classe: Media
Descrizione: un problema che si colloca tra il massimo e il minimo.

Nome della classe: Bassa
Descrizione: un problema che ha un impatto su alcuni utenti, non ha un costo aziendale elevato o entrambi.

Problema: i nuovi utenti segnalano di non poter creare un account.
Classe: Alta

Problema: un utente segnala che le etichette si sovrappongono nella funzione di analisi dell'app.
Classe: Bassa

Problema: gli utenti negli Stati Uniti segnalano che l'app si blocca quando tentano di effettuare un acquisto.
Classe: Alta

Problema: gli utenti segnalano che le immagini non vengono caricate nell'app.

Classe: Media

Spiegazione: il problema del mancato caricamento delle immagini nell'app influisce sull'esperienza degli utenti e potrebbe causare frustrazione, ma non ha un costo aziendale elevato né un impatto su molti utenti. Pertanto, è classificato come un problema di medio livello.

La generazione di prompt few-shot, che è una strategia derivata dal paradigma di apprendimento few-shot, viene in genere utilizzata per migliorare le prestazioni del modello rispetto alla generazione di prompt zero-shot su un'attività.1 In questo esempio, il modello AI produce inferenze utili sia nello scenario zero-shot che in quello few-shot. Nel decidere se utilizzare il prompt zero-shot o few-shot, è necessario considerare i vincoli del problema e le prestazioni dimostrate di entrambe le strategie. Reynolds e McDonell (2021) hanno scoperto che, migliorando la struttura dei prompt, il prompt zero-shot può superare il prompt few-shot in alcuni scenari.4 Schulhoff et al. (2024) trovano risultati diversi confrontando le prestazioni di diverse strategie di prompting.5

Vantaggi e limiti della generazione di prompt zero-shot

La generazione di prompt zero-shot è un approccio diffuso perché offre dei vantaggi.6 I ricercatori continuano a sviluppare tecniche per gestire i limiti di questa tecnica di prompting.8

Vantaggi

  1. Semplicità: i prompt sono semplici da costruire e facili da comprendere. Questo approccio consente agli utenti di sperimentare diversi prompt senza una conoscenza approfondita del prompt engineering. 
  2. Facilità d'uso: la generazione di prompt zero-shot non richiede dati aggiuntivi, il che la rende utile nei casi in cui i dati pertinenti sono difficili da reperire o scarsi.
  3. Flessibilità: i prompt sono facili da adattare in base alle esigenze. Migliorare o aggiornare un prompt a causa di cambiamenti nelle circostanze richiede poco sforzo.

Limitazioni

  1. Variabilità delle prestazioni: sebbene la generazione di prompt zero-shot possa essere efficace, le sue prestazioni possono variare in modo significativo a seconda della complessità e della specificità dell'attività. I modelli potrebbero avere difficoltà con le attività che richiedono una conoscenza approfondita del dominio, una comprensione approfondita o output altamente specifici, generando risultati non ottimali rispetto ai modelli ottimizzati specifici per attività.
  2. Dipendenza dalla qualità del modello pre-addestrato: il successo della generazione di prompt zero-shot dipende in larga misura dalla qualità e dalla completezza del modello linguistico pre-addestrato. Se il modello non ha un'esposizione sufficiente a determinati argomenti, lingue o contesti durante il pre-addestramento, le sue prestazioni zero-shot nelle attività correlate saranno probabilmente scadenti.

I progressi nei metodi di addestramento degli LLM hanno migliorato l'output del modello per la generazione di prompt zero-shot in vari casi d'uso.7

Pensa oltre i prompt e considera il contesto completo 

Resta aggiornato sulle ultime novità del settore, sugli strumenti di AI e sulle tendenze emergenti nel prompt engineering con la Think Newsletter. Inoltre, avrai accesso a nuovi articoli esplicativi, tutorial e insight, direttamente nella tua casella di posta. Leggi l'Informativa sulla privacy IBM.

Grazie per aver effettuato l'iscrizione!

Miglioramenti nelle prestazioni della generazione di prompt zero-shot

La generazione di prompt zero-shot si basa sulle conoscenze pre-addestrate del foundation model e sulla sua flessibilità per adattarsi al prompt e fornire una risposta adeguata.1

Il miglioramento delle risposte nella generazione di prompt zero-shot è un obiettivo dei ricercatori.L'accuratezza della risposta del prompt zero-shot viene spesso utilizzata per il benchmark delle prestazioni del modello durante il test di nuovi metodi di addestramento del modello.7 Due miglioramenti che hanno portato a migliori prestazioni di generazione di prompt zero-shot sono la messa a punto delle istruzioni e l'apprendimento per rinforzo con feedback umano (RLHF).89

Nell'ottimizzazione delle istruzioni, un modello viene messo a punto utilizzando l'apprendimento supervisionato su un set di dati che include istruzioni per varie attività e risultati per queste attività. Il set di dati include attività come il riepilogo del testo, la conversione e la comprensione della lettura. Questa strategia di messa a punto con un set di dati di istruzioni ha portato a migliori prestazioni nella generazione di prompt zero-shot su nuove attività in queste categorie.8

Un altro esempio di utilizzo della messa a punto per migliorare la generazione di prompt zero-shot è la messa a punto dell'RLHF, in cui l'apprendimento per rinforzo apprende una policy che guida il modello verso output migliori. In questo processo in tre fasi, il modello viene prima messo a punto utilizzando un set di dati di istruzioni in cui gli esseri umani hanno fornito le risposte target. Il modello proietta quindi output a diversi prompt classificati dagli umani. Infine, gli output vengono utilizzati per addestrare un modello di apprendimento per rinforzo che apprende una policy per selezionare i migliori output in base a queste classificazioni fornite dall'uomo.12

L'ultimo passaggio utilizza la capacità dell'apprendimento per rinforzo di utilizzare le conseguenze (ricompense o punizioni) delle azioni (decisione o percorso intrapreso) per apprendere una strategia (o una policy) per prendere buone decisioni. In questo caso, lo spazio del problema è costituito da tutte le potenziali strategie che potrebbero essere utilizzate nella selezione da parte del modello di un buon output come risposta.9

AI Academy

Diventa un esperto di AI

Acquisisci le conoscenze necessarie per dare priorità agli investimenti nell'AI alla base della crescita aziendale. Inizia oggi stesso con la nostra AI Academy gratuita e guida il futuro dell'AI nella tua organizzazione.

Applicazioni della generazione di prompt zero-shot

In confronto al tradizionale machine learning supervisionato per l'elaborazione del linguaggio naturale (NLP), la generazione di prompt zero-shot non richiede dati di addestramento etichettati. Gli esperti di intelligenza artificiale e i data scientist possono utilizzare la tecnologia dell'AI generativa dei modelli linguistici di grandi dimensioni nello scenario di generazione di prompt zero-shot per vari casi d'uso, tra cui:10

Classificazione del testo

Come mostrato nell'esempio precedente che classifica la priorità dei problemi IT con il modello granite-3-8b-instruct di IBM, il modello può ottenere la classificazione senza esempi precedenti appartenenti alle diverse classi. Questa funzionalità è ideale nelle situazioni in cui esistono dati di addestramento limitati o privi di etichetta. Questo tutorial sulla classificazione zero-shot mostra un'implementazione di questo caso d'uso.

Estrazione delle informazioni

Dato un testo e una domanda, un LLM può estrarre le informazioni richieste in base a un prompt.

Risposta alle domande

Utilizzando la conoscenza pre-addestrata di un modello, un utente può richiedere una risposta a una domanda.

Riepilogo del testo

Dato il testo e un'istruzione per il riepilogo del testo, i modelli linguistici di grandi dimensioni possono eseguire questa attività nello scenario di prompt zero-shot senza richiedere riepiloghi di esempio di altri testi.

Generazione

Gli LLM generano dati sotto forma di testo, codice, immagini e altro ancora per casi d'uso specifici.

Conversazione

In genere, utilizzando modelli ottimizzati per le chat (come la nota serie Chat-GPT), gli LLM possono interagire con un utente in modalità chat, realizzando molti dei casi d'uso precedenti.

Altri metodi di prompt engineering

Per i caso d'uso complessi, come le attività di ragionamento in più fasi, sia la generazione di prompt zero-shot che la generazione di prompt few-shot potrebbero non produrre una risposta appropriata dal modello. Le tecniche di prompting avanzate, tra cui chain-of-thoughts e tree-of-thoughts, possono avere più successo in questi casi.

Chain-of-thoughts: il prompt Chain-of-Thought (CoT) è una strategia che assegna un'attività al modello specificando l'attività più ampia come una serie di passaggi discreti da risolvere. Questa esposizione di passaggi intermedi migliora la capacità del modello di generare una risposta corretta. Il CoT consente inoltre una migliore trasparenza nel processo di risoluzione dei problemi grazie alla delucidazione delle fasi intermedie. Questa tecnica di prompt engineering dimostra il successo in aree quali il miglioramento delle prestazioni del customer service chatbot, l'aiuto a organizzare i pensieri di ricercatori e scrittori e la generazione di descrizioni dettagliate dei problemi matematici e scientifici nel campo dell'istruzione.11

Tree of thoughts: il prompt Tree of Thought (ToT) genera un albero di testo ramificato con i passi successivi e le corrispondenti possibili soluzioni al problema. Questa struttura ad albero consente al modello di esplorare più percorsi e di tornare indietro, se necessario, quando un percorso non offre una soluzione accettabile. È progettato per approssimare le strategie di ragionamento umano quando si confrontano i potenziali percorsi verso una soluzione. Le strategie comuni per esplorare le soluzioni sono la breadth-first-search (BFS) e la depth-first-search (DFS), insieme agli approcci di ricerca euristica e di apprendimento per rinforzo. I ricercatori hanno utilizzato questa applicazione per risolvere enigmi come il sudoku e il gioco del 24.1213

Soluzioni correlate
IBM® watsonx.ai

Addestra, convalida, adatta e implementa le funzionalità di AI generativa, foundation model e machine learning con IBM watsonx.ai, uno studio aziendale di nuova generazione per builder AI. Crea applicazioni AI in tempi ridotti e una minima quantità di dati.

Esplora watsonx.ai
Soluzioni di intelligenza artificiale

Metti l'AI al servizio della tua azienda con l'esperienza leader di settore e il portfolio di soluzioni di IBM nel campo dell'AI.

Esplora le soluzioni AI
Consulenza e servizi per l'intelligenza artificiale (AI)

I servizi di AI di IBM Consulting aiutano a reinventare il modo in cui le aziende lavorano con l'AI per la trasformazione.

Esplora i servizi AI
Prossimi passi

Attraverso l'AI, IBM Concert scopre insight di importanza chiave sulle operazioni e fornisce raccomandazioni specifiche per migliorare le applicazioni. Scopri come Concert può migliorare il tuo business.

Esplora Concert Esplora le soluzioni di automazione dei processi aziendali
Note a piè di pagina

1. E. Saravia. "Prompt Engineering Guide." https://github.com/dair-ai/Prompt-Engineering-Guide (ultimo accesso: ottobre 2024).

2. "Granite 3.0 Language Models," IBM Research, Yorktown Heights, NY, ottobre 2024. https://github.com/ibm-granite/granite-3.0-language-models/blob/main/paper.pdf

3. B. Romera-Paredes, P. Torr, "An embarrassingly simple approach to zero-shot learning," in ICML, 2015, pp. 2152–2161, https://proceedings.mlr.press/v37/romera-paredes15.pdf.

4. L. Reynolds, K. McDonell, "Prompt Programming for Large Language Models: Beyond the Few-Shot Paradigm", febbraio 2021, https://doi.org/10.48550/arXiv.2102.07350.

5. S. Schulhoff, M. Ilie, N. Balepur, K. Kahadze, A. Liu, C. Si, Y. Li, A. Gupta, H. Han, S. Schulhoff, P. S. Dulepet, S. Vidyadhara, D. Ki, S. Agrawal, C. Pham, G. Kroiz, F. Li, H. Tao, A. Srivastava et al. "The Prompt Report: A Systematic Survey of Prompting Techniques," dicembre 2024, https://doi.org/10.48550/arXiv.2406.06608.

6. Y. Li, Yinheng, "A Practical Survey on Zero-shot Prompt Design for In-context Learning," in RANLP, luglio 2023, pp. 641‑647, https://acl-bg.org/proceedings/2023/RANLP%202023/pdf/2023.ranlp-1.69.pdf.

7. H. Touvron, T. Lavril, G. Izacard, X. Martinet, M.-A. Lachaux, T. Lacroix, B. Rozi`ere, N. Goyal, E. Hambro, F. Azhar, A. Rodriguez, A. Joulin, E. Grave and G. Lample, “LLaMA: Open and efficient foundation language models,” febbraio 2023, https://doi.org/10.48550/arXiv.2302.13971.

8. J. Wei, M. Bosma, V. Y. Zhao, K. Guu, A. W. Yu, B. Lester, N. Du, A. M. Dai and Q. V. Le, "Finetuned Language Models are Zero-Shot Learners," in ICLR, 2022, https://doi.org/10.48550/arXiv.2109.01652.

9. L. Ouyang, J. Wu, X. Jiang, D. Almeida, C. L. Wainwright, P. Mishkin, C. Zhang, S. Agarwal, K. Slama, A. Ray, J. Schulman, J. Hilton, F. Kelton, L. Miller, M. Simens, A. Askell, P. Welinder, P. Christiano, J. Leike, and R. Lowe, “Training language models to follow instructions with human feedback,” in NeurIPS, 2022, https://proceedings.neurips.cc/paper_files/paper/2022/file/b1efde53be364a73914f58805a001731-Paper-Conference.pdf.

10. P. Liu, W. Yuan, J. Fu, Z. Jiang, H. Hayashi, and G. Neubig, “Pre-train, prompt and predict: A systematic survey of prompting methods in Natural Language Processing,” ACM Computing Surveys, vol. 55, no. 9, pp. 1–35, gennaio 2023, https://dl.acm.org/doi/pdf/10.1145/3560815.

11. J. Wei, X. Wang, D. Schuurmans, M. Bosma, B. Ichter, F. Xia, E. Chi, Q. Le, and D. Zhou, “Chain-of-thought prompting elicits reasoning in large language models,” gennaio 2023, https://doi.org/10.48550/arXiv.2201.11903.

12. J. Long, "Large Language Model Guided Tree-of-Thought," maggio 2023, https://doi.org/10.48550/arXiv.2305.08291.

13. S. Yao, D. Yu, J. Zhao, I. Shafran, T. L. Griffiths, Y. Cao, and K. Narasimhan, "Tree of Thoughts: Deliberate Problem Solving with Large Language Models," dicembre 2023, https://doi.org/10.48550/arXiv.2305.10601.