Un’introduzione all’Ingegneria delle Proposte

'Introduction to Proposal Engineering'

Introduzione

Elaborazione del linguaggio naturale è stato un campo con aree ricche di implementazione utilizzando tecnologie e tecniche sottostanti. Negli ultimi anni, e soprattutto dall’inizio del 2022, l’Elaborazione del Linguaggio Naturale (NLP) e l’Intelligenza Artificiale Generativa hanno subito miglioramenti. Ciò ha reso l’ingegnerizzazione rapida una competenza particolare da comprendere per chiunque voglia padroneggiare i modelli di linguaggio (LMs).

Obiettivi di Apprendimento

  • Comprensione di Prompt, Ingegnerizzazione dei Prompt e esempi
  • Suggerimenti per migliorare i tuoi prompt
  • Elementi dei Prompt e Pattern dei Prompt
  • Tecniche di Prompting

La conoscenza dell’ingegnerizzazione dei prompt aiuta a comprendere meglio le capacità e le limitazioni dell’uso fondamentale dei grandi modelli di linguaggio (LLMs).

Questo articolo è stato pubblicato come parte del Data Science Blogathon.

Cos’è l’Ingegnerizzazione dei Prompt?

L’ingegnerizzazione dei prompt è una pratica nel campo dell’elaborazione del linguaggio naturale dell’intelligenza artificiale in cui il testo descrive ciò che l’IA deve fare. Guidato da questo input, l’IA genera un output. Questo potrebbe essere in diverse forme con l’intento di utilizzare il testo comprensibile dall’uomo in modo conversazionale per comunicare con i modelli. Poiché la descrizione del compito è incorporata nell’input, il modello si comporta in modo più flessibile con possibilità.

Ulteriori informazioni: Ingegnerizzazione dei Prompt: L’arte di creare prompt potenti

Cosa sono i Prompt?

I prompt sono una descrizione dettagliata dell’output desiderato previsto dal modello. È l’interazione tra un utente e il modello di intelligenza artificiale. Questo dovrebbe darci una maggiore comprensione di cosa sia l’ingegneria.

Esempio di Prompt

I prompt utilizzati nei grandi modelli di linguaggio come ChatGPT e GPT-3 potrebbero essere semplici query di testo. Con tutto questo, la qualità è misurata dalla quantità di dettagli che è possibile fornire. Questi potrebbero essere per la sintesi del testo, domande e risposte, generazione di codice, estrazione di informazioni, ecc.

Poiché i LLM possono essere utilizzati per risolvere problemi complessi in cui sono incluse molte istruzioni, è fondamentale essere dettagliati. Vediamo alcuni esempi di prompt di base:

Prompt

Gli antibiotici sono un tipo di farmaco utilizzato per trattare le infezioni batteriche. Agiscono uccidendo i batteri o impedendo loro di riprodursi, consentendo al sistema immunitario del corpo di combattere l'infezione. Gli antibiotici vengono di solito assunti per via orale sotto forma di pillole, capsule o soluzioni liquide, o talvolta somministrati per via endovenosa. Non sono efficaci contro le infezioni virali e l'uso improprio può portare a resistenza agli antibiotici.
Riassumi quanto sopra in 2 frasi:

Questo output rappresenta il riassunto in un modello di domanda e risposta (Q&A).

Gli antibiotici trattano le infezioni batteriche uccidendo o impedendo la loro riproduzione, consentendo al sistema immunitario di combattere le infezioni. Somministrati per via orale o endovenosa, non sono efficaci contro le infezioni virali e possono portare a resistenza agli antibiotici.

Abbiamo appena visto un’illustrazione dell’uso dei LLM. Le possibilità sono infinite.

Suggerimenti per Migliorare i Tuoi Prompt

La qualità del prompt è fondamentale. Ci sono modi per migliorarli e ottenere risultati migliori dai tuoi modelli. Vediamo alcuni suggerimenti di seguito:

  1. Gioco di ruolo: L’idea è fare in modo che il modello agisca come un sistema specificato. In questo modo si crea un’interazione personalizzata e si mira a un risultato specifico. Questo risparmia tempo e complessità ma ottiene risultati straordinari. Questo potrebbe essere agire come un insegnante, un editor di codice o un intervistatore.
  2. Chiarezza: Questo significa eliminare l’ambiguità. A volte, nel tentativo di essere dettagliati, finiamo per includere contenuti non necessari. Un ottimo modo per raggiungere questo obiettivo è essere concisi.
  3. Specificazione: Questo è correlato al gioco di ruolo, ma l’idea è essere specifici e indirizzati verso una direzione focalizzata. Ciò evita un output disperso.
  4. Coerenza: La coerenza significa mantenere il flusso della conversazione. Mantieni un tono uniforme in modo da poter garantire la leggibilità della conversazione.

Elementi di un Prompt

Questi sono gli attributi che compongono lo scheletro dei prompt. Questi possono essere:

  1. Istruzione: È una dichiarazione che incarica il modello di eseguire qualcosa.
  2. Contesto: Il contesto è ciò che indirizza il modello verso il problema. In caso contrario, può andare completamente fuori contesto e fornire risposte scadenti.
  3. Dati di Input: È l’input come un’entità singola nel suo complesso.
  4. Indicatore di Output: Nel gioco di ruolo, indica il tipo di output che sarà un codice. Questo elemento aiuta il modello a indirizzare gli output in modo appropriato.

Schema standard dei prompts

Cerchiamo di vedere una panoramica di come appare un formato. Di seguito è riportato un esempio di interazione tra un utente e il modello con istruzioni chiare.

Utente: <Istruzione>
Modello: <Risposta>

Few-Shot: È uno schema per i prompts che utilizzano l’apprendimento in contesto. Qui è prevista l’istruzione in contesto, che consente al modello di elaborare esempi in anticipo. Vedremo questo argomento più nel dettaglio nella sezione successiva. Few-shot può essere formattato come segue:

<Istruzione>
<Risposta>

<Istruzione>
<Risposta>

<Istruzione>
<Risposta>

<Istruzione>

In uno schema domanda-risposta, abbiamo:

D: <Domanda>?
R: <Risposta>

D: <Domanda>?
R: <Risposta>

D: <Domanda>?
R: <Risposta>

D: <Domanda>?
R:

Tecniche di prompting

Ci sono diverse tecniche utilizzate nella scrittura dei prompts. Sono la base.

1. Zero-Shot Prompting

Zero-shot fornisce un prompt che non fa parte dell’addestramento, ma che comunque produce i risultati desiderati. In poche parole, i modelli di linguaggio possono generalizzare.

Esempio:

Prompt:

Classifica il testo in neutrale, negativo o positivo.
Testo: Penso che la presentazione sia stata fantastica.
Sentimento:

Output:

Positivo

La conoscenza del significato di “sentimento” ha permesso al modello di classificare la domanda anche se non gli sono stati forniti molti esempi di classificazione del testo su cui lavorare. Potrebbe esserci una trappola poiché non vengono forniti dati descrittivi nel testo. In tal caso, possiamo utilizzare il prompting few-shot.

2. Few-Shot Prompting/Apprendimento in contesto

In una comprensione elementare, il few-shot utilizza alcuni esempi (shots) di ciò che deve fare. Questo richiede una certa intuizione da una dimostrazione per essere eseguito. Invece di fare affidamento esclusivamente su ciò su cui è stato addestrato, si basa sugli esempi disponibili.

3. Chain-of-thought (CoT)

CoT consente al modello di raggiungere un ragionamento complesso attraverso passaggi intermedi di ragionamento. Coinvolge la creazione e il miglioramento di passaggi intermedi chiamati “catene di ragionamento” per favorire una migliore comprensione e produzione del linguaggio. Può essere paragonato a un approccio ibrido che combina il few-shot su compiti più complessi.

Cosa evitare nella creazione dei prompts?

Prima di concludere, ci sono alcune cose da evitare nella creazione dei prompts:

  1. Sovraccarico di informazioni (Ambiguità): Cerca di fornire informazioni sintetiche poiché potrebbero diventare inutili e ridurre l’accuratezza dei risultati.
  2. Domande aperte: È consigliabile evitare di fare domande imprecise o aperte. Una domanda vaga potrebbe essere: Puoi aiutarmi a trovare la mia strada verso casa? Sono domande non specifiche e troppo generiche che portano a risposte imprecise e poco utili.
  3. Scarso utilizzo dei vincoli: I vincoli sono limiti e restrizioni su quanto disordinata può diventare una situazione. Ciò richiede la definizione di requisiti specifici. Potrebbe essere necessario interpretare il ruolo del modello.

Conclusione

Abbiamo visto una guida dettagliata all’ingegneria dei prompts, fornendo approfondimenti sui fondamenti e su come funzionano nei modelli di intelligenza artificiale. L’IA ha vissuto una rivoluzione completa riguardo ai casi d’uso con possibilità infinite e applicazioni futuristiche. I prompts possono guidare i modelli di IA come istruzioni umane, rivoluzionando il futuro. Esempi come ChatGPT. Comprendere i principi e i pilastri è fondamentale per un uso efficace dell’IA.

Punti chiave

  • L’elaborazione del linguaggio naturale (NLP) e l’intelligenza artificiale generativa hanno registrato miglioramenti dal 2022, rendendo l’ingegneria dei prompts cruciale per padroneggiare i modelli di linguaggio.
  • L’ingegneria dei prompts in IA utilizza l’input di testo per descrizioni, flessibilità del modello e comprensione del testo leggibile dall’uomo.
  • Raffinare i prompts è essenziale per migliorare la qualità e le risposte, utilizzando il gioco di ruolo per risparmiare tempo e mantenere coerenza nelle conversazioni per un flusso e una leggibilità migliori.

Domande frequenti (FAQ)

I media mostrati in questo articolo non sono di proprietà di Analytics Vidhya e vengono utilizzati a discrezione dell’autore.