Cos'è il prompt engineering?
La progettazione dei prompt è il processo che consente di guidare le soluzioni di intelligenza artificiale generativa (IA generativa) per generare i risultati desiderati. Sebbene l'IA generativa cerchi di imitare gli esseri umani, richiede istruzioni dettagliate per creare risultati pertinenti e di alta qualità. Nel prompt engineering, sei tu a scegliere i formati, le frasi, le parole e i simboli più appropriati che guidano l'IA a interagire con i tuoi utenti in modo più significativo. I prompt engineer utilizzano la creatività unita a tentativi ed errori per creare una raccolta di testi di input, in modo che l'IA generativa di un'applicazione funzioni come previsto.
Cos'è un prompt?
Un prompt è un testo in linguaggio naturale che richiede all'IA generativa di eseguire un'attività specifica. L'IA generativa è una soluzione di intelligenza artificiale che crea nuovi contenuti come storie, conversazioni, video, immagini e musica. È basata su modelli di machine learning (ML) molto grandi che utilizzano reti neurali profonde che sono state pre-addestrate su grandi quantità di dati.
I modelli linguistici di grandi dimensioni (LLM) sono molto flessibili e possono svolgere diverse attività. Ad esempio, possono riassumere documenti, completare frasi, rispondere a domande e tradurre lingue. Per input specifici dell'utente, i modelli funzionano prevedendo il risultato migliore che determinano dall'addestramento precedente.
Tuttavia, poiché sono così aperti, i tuoi utenti possono interagire con soluzioni di IA generativa attraverso innumerevoli combinazioni di dati di input. I modelli linguistici di intelligenza artificiale sono molto potenti e non richiedono molto per iniziare a creare contenuti. Anche una sola parola è sufficiente per consentire al sistema di creare una risposta dettagliata.
Detto questo, non tutti i tipi di input generano risultati utili. I sistemi di IA generativa richiedono informazioni contestuali e dettagliate per produrre risposte accurate e pertinenti. Quando si progettano sistematicamente i prompt, si ottengono creazioni più significative e utilizzabili. Nella progettazione tempestiva, i prompt vengono continuamente perfezionati fino a ottenere i risultati desiderati dal sistema di intelligenza artificiale.
Scopri di più sull'IA generativa»
Scopri di più sui modelli linguistici di grandi dimensioni (LLM) »
Perché è importante il prompt engineering?
I processi di prompt engineering sono aumentati in modo significativo dal lancio dell'IA generativa. I prompt engineer colmano il divario tra gli utenti finali e il modello linguistico di grandi dimensioni. Identificano script e modelli che gli utenti possono personalizzare e completare per ottenere i migliori risultati dai modelli linguistici. Questi ingegneri sperimentano diversi tipi di input per creare una libreria di prompt che gli sviluppatori di applicazioni possono riutilizzare in diversi scenari.
Il prompt engineering rende le applicazioni IA più efficienti ed efficaci. Gli sviluppatori di applicazioni in genere incapsulano l'input dell'utente aperto all'interno di un prompt prima di trasmetterlo al modello di intelligenza artificiale.
Ad esempio, prendiamo in considerazione i chatbot basati sull'intelligenza artificiale. Un utente può inserire una dichiarazione di problema incompleta, ad esempio "Dove acquistare una maglietta". Internamente, il codice dell'applicazione utilizza un prompt ingegnerizzato che dice: "Sei un assistente alle vendite per un'azienda di abbigliamento. Un utente, con sede in Alabama, Stati Uniti, ti chiede dove acquistare una maglietta. Rispondi con i tre punti vendita più vicini che attualmente vendono una maglietta". Il chatbot genera quindi informazioni più pertinenti e accurate.
Di seguito sono riportati alcuni vantaggi del prompt engineering.
Maggiore controllo da parte degli sviluppatori
Il prompt engineering offre agli sviluppatori un maggiore controllo sulle interazioni degli utenti con l'IA. I prompt efficaci forniscono l'intento e stabiliscono il contesto per i modelli linguistici di grandi dimensioni. Aiutano l'intelligenza artificiale a perfezionare l'output e a presentarlo in modo conciso nel formato richiesto.
Inoltre impediscono agli utenti di utilizzare in modo improprio l'IA o di richiedere qualcosa che l'IA non conosce o non è in grado di gestire con precisione. Ad esempio, potresti voler impedire ai tuoi utenti di generare contenuti inappropriati in un'applicazione di intelligenza artificiale aziendale.
Miglioramento dell'esperienza utente
Gli utenti evitano tentativi ed errori e ricevono comunque risposte coerenti, accurate e pertinenti dagli strumenti di intelligenza artificiale. Il prompt engineering consente agli utenti di ottenere facilmente risultati pertinenti già nel primo prompt. Aiuta a mitigare i condizionamenti che possono essere presenti a causa dei pregiudizi umani esistenti nei dati di formazione dei grandi modelli linguistici.
Inoltre, migliora l'interazione utente-IA in modo che l'IA comprenda l'intenzione dell'utente anche con un input minimo. Ad esempio, le richieste di riepilogo di un documento legale e di un articolo di cronaca ottengono risultati diversi adattati allo stile e al tono. Questo è vero anche se entrambi gli utenti dicono semplicemente all'applicazione: "Riassumi questo documento".
Incremento della flessibilità
Livelli di astrazione più elevati migliorano i modelli di intelligenza artificiale e consentono alle organizzazioni di creare strumenti più flessibili su larga scala. Un prompt engineer può creare prompt con istruzioni indipendenti dal dominio che evidenziano collegamenti logici e schemi generali. Le organizzazioni possono riutilizzare rapidamente le istruzioni in tutta l'azienda per espandere i propri investimenti in intelligenza artificiale.
Ad esempio, per trovare opportunità di ottimizzazione dei processi, il prompt engineer può creare diversi prompt che addestrano il modello di intelligenza artificiale a trovare le inefficienze utilizzando segnali ampi anziché dati specifici del contesto. I prompt possono quindi essere utilizzati per diversi processi e unità aziendali.
Quali sono alcuni casi d'uso di prompt engineering?
Le tecniche di prompt engineering vengono utilizzate in sofisticati sistemi di intelligenza artificiale per migliorare l'esperienza utente con il modello del linguaggio di apprendimento. Ecco alcuni esempi.
Esperti in materia
Il prompt engineering svolge un ruolo chiave nelle applicazioni che richiedono all'intelligenza artificiale di rispondere con competenze specifiche. Un prompt engineer con esperienza sul campo può guidare l'IA in modo che faccia riferimento alle origini corrette e inquadri la risposta in modo appropriato in base alla domanda posta.
Ad esempio, in campo medico, un medico potrebbe utilizzare un modello linguistico progettato tempestivamente per generare diagnosi differenziali per un caso complesso. Il medico deve solo inserire i sintomi e i dati del paziente. L'applicazione utilizza le istruzioni ingegnerizzate per guidare innanzitutto l'IA a elencare le possibili malattie associate ai sintomi inseriti. Quindi restringe l'elenco in base a informazioni aggiuntive sul paziente.
Pensiero critico
Le applicazioni di pensiero critico richiedono il modello linguistico per risolvere problemi complessi. A tal fine, il modello analizza le informazioni da diverse angolazioni, ne valuta la credibilità e prende decisioni motivate. Il prompt engineering migliora le capacità di analisi dei dati di un modello.
Ad esempio, negli scenari decisionali, è possibile richiedere a un modello di elencare tutte le opzioni possibili, valutare ciascuna opzione e consigliare la soluzione migliore.
Creatività
La creatività implica la generazione di nuove idee, concetti o soluzioni. Il prompt engineering può essere utilizzato per migliorare le capacità creative di un modello in vari scenari.
Ad esempio, nella scrittura di scenari, uno scrittore potrebbe utilizzare un modello di prompt engineering per generare idee per una storia. Lo scrittore può richiedere al modello di elencare possibili personaggi, ambientazioni e punti della trama, quindi sviluppare una storia con quegli elementi. Oppure un grafico potrebbe richiedere al modello di generare un elenco di palette di colori che evocano una certa emozione, quindi creare un disegno utilizzando quella tavolozza.
Cosa sono le tecniche di prompt engineering?
Il prompt engineering è un campo dinamico e in evoluzione. Richiede sia competenze linguistiche che espressione creativa per perfezionare i suggerimenti e ottenere la risposta desiderata dagli strumenti di IA generativa.
Ecco alcuni esempi di tecniche che gli ingegneri utilizzano per migliorare le attività di elaborazione del linguaggio naturale (NLP) dei loro modelli di intelligenza artificiale.
Stimolazione della catena di pensieri
La stimolazione della catena di pensieri è una tecnica che scompone una domanda complessa in parti più piccole e logiche che imitano una linea di pensiero. Ciò aiuta il modello a risolvere i problemi in una serie di passaggi intermedi anziché rispondere direttamente alla domanda. Migliora anche la sua capacità di ragionamento.
È possibile eseguire diverse implementazioni concatenate per attività complesse e scegliere la conclusione più comune. Se le implementazioni non sono d'accordo in modo significativo, è possibile consultare una persona per correggere la catena di pensieri.
Ad esempio, se la domanda è "Qual è la capitale della Francia?", il modello potrebbe eseguire diverse implementazioni che porteranno a risposte come "Parigi", "La capitale della Francia è Parigi" e "Parigi è la capitale della Francia". Poiché tutte le implementazioni portano alla stessa conclusione, "Parigi" verrebbe selezionata come risposta finale.
Suggerimento per l'albero dei pensieri
La tecnica dell'albero dei pensieri generalizza la stimolazione della catena di pensieri. Richiede al modello di generare uno o più possibili passaggi successivi. Quindi esegue il modello in ogni possibile passaggio successivo utilizzando un metodo di ricerca ad albero.
Ad esempio, se la domanda è " Quali sono gli effetti del cambiamento climatico?", il modello potrebbe innanzitutto generare possibili fasi successive, come "Elencare gli effetti ambientali" ed "Elencare gli effetti sociali". Successivamente approfondirà ciascuno di questi aspetti nelle fasi successive.
Suggerimento maieutico
Il suggerimento maieutico è simile al suggerimento dell'albero dei pensieri. Al modello viene richiesto di rispondere a una domanda con una spiegazione. Al modello viene quindi richiesto di spiegare parti della spiegazione. Gli alberi di una spiegazione incoerente vengono potati o scartati. Ciò migliora le prestazioni su ragionamenti complessi di buon senso.
Ad esempio, se la domanda è "Perché il cielo è blu?", il modello potrebbe innanzitutto rispondere "Il cielo appare blu all'occhio umano perché le onde corte di luce blu vengono diffuse in tutte le direzioni dai gas e dalle particelle presenti nell'atmosfera terrestre". Potrebbe quindi approfondire alcune parti di questa spiegazione, ad esempio il motivo per cui la luce blu è diffusa più degli altri colori e da cosa è composta l'atmosfera terrestre.
Richiesta basata sulla complessità
Questa tecnica di progettazione tempestiva prevede l'esecuzione di diverse implementazioni della catena di pensieri. Sceglie le implementazioni con le catene di pensieri più lunghe, quindi sceglie la conclusione più comunemente raggiunta.
Ad esempio, se la domanda è un problema matematico complesso, il modello potrebbe eseguire diverse implementazioni, ognuna delle quali prevede più fasi di calcolo. Considererebbe le implementazioni con la catena di pensieri più lunga, che per questo esempio sarebbero le fasi di calcolo più lunghe. Le implementazioni che raggiungono una conclusione comune con altre implementazioni verranno selezionate come risposta finale.
Richiesta di conoscenza generata
Questa tecnica prevede di richiedere al modello di generare innanzitutto i fatti pertinenti necessari per completare il prompt. Quindi procede a completarlo. Ciò si traduce spesso in una maggiore qualità del completamento in quanto il modello è condizionato da fatti pertinenti.
Ad esempio, immagina che un utente richieda al modello di scrivere un saggio sugli effetti della deforestazione. Il modello potrebbe innanzitutto generare fatti come "la deforestazione contribuisce al cambiamento climatico" e "la deforestazione porta alla perdita di biodiversità". Quindi approfondirà i punti del saggio.
Prompt dal minimo al massimo
In questa tecnica di prompt engineering, al modello viene richiesto prima di elencare i problemi secondari di un problema e quindi di risolverli in sequenza. Questo approccio garantisce che i problemi secondari successivi possano essere risolti con l'aiuto delle risposte a quelli precedenti.
Ad esempio, immagina che un utente richieda al modello un problema matematico del tipo "Trova x nell'equazione 2x + 3 = 11". Il modello potrebbe innanzitutto elencare i sottoproblemi come "Sottrai 3 da entrambi i lati" e "Dividi per 2". Li risolverebbe quindi in sequenza per ottenere la risposta finale.
Prompt di perfezionamento automatico
In questa tecnica, al modello viene richiesto di risolvere il problema, criticare la sua soluzione e quindi risolvere il problema considerando il problema, la soluzione e la critica. Il processo di risoluzione del problema si ripete fino a quando non si raggiunge un motivo predeterminato per fermarsi. Ad esempio, potrebbe esaurire i token o il tempo oppure il modello potrebbe generare un token di stop.
Ad esempio, immagina che un utente richieda a un modello: "Scrivi un breve saggio sulla letteratura". Il modello potrebbe redigere un saggio, criticarlo per mancanza di esempi specifici e riscrivere il saggio per includere esempi specifici. Questo processo si ripeterà fino a quando il saggio non sarà ritenuto soddisfacente o non si raggiungerà un criterio di interruzione.
Prompt di stimoli direzionali
Questa tecnica di prompt engineering include un suggerimento o un segnale, ad esempio le parole chiave desiderate, per guidare il modello linguistico verso l'output desiderato.
Ad esempio, se il suggerimento è scrivere una poesia sull'amore, il prompt può creare suggerimenti che includono "cuore", "passione" ed "eterno". Il modello potrebbe essere richiesto come "Scrivi una poesia sull'amore che includa le parole cuore, passione ed eterno". Questo guiderebbe il modello a creare una poesia con queste parole chiave.
Quali sono alcune best practice del prompt engineering?
Un buon prompt engineering richiede la comunicazione di istruzioni con contesto, ambito e risposta prevista. Di seguito sono riportate alcune best practice.
Istruzioni inequivocabili
Definisci chiaramente la risposta desiderata nel tuo prompt per evitare interpretazioni errate da parte dell'IA. Ad esempio, se stai chiedendo un riassunto di un romanzo, indica chiaramente che stai cercando un riassunto, non un'analisi dettagliata. Ciò aiuta l'IA a concentrarsi solo sulla tua richiesta e a fornire una risposta in linea con il tuo obiettivo.
Contesto adeguato all'interno del prompt
Fornisci un contesto adeguato all'interno del prompt e includi i requisiti di output nell'input del prompt, limitandolo a un formato specifico. Ad esempio, supponiamo che tu voglia un elenco dei film più popolari degli anni '90 in una tabella. Per ottenere il risultato esatto, dovresti indicare esplicitamente quanti film vuoi che vengano elencati e chiedere la formattazione della tabella.
Equilibrio tra informazioni mirate e output desiderato
Equilibra semplicità e complessità nel prompt per evitare risposte vaghe, non correlate o inaspettate. Un prompt troppo semplice può mancare di contesto, mentre un prompt troppo complesso può confondere l'IA. Ciò è particolarmente importante per argomenti complessi o per un linguaggio specifico del dominio, che potrebbe essere meno familiare all'IA. Utilizza invece un linguaggio semplice e riduci le dimensioni del prompt per rendere la tua domanda più comprensibile.
Sperimenta e perfeziona il prompt
Il prompt engineering è un processo iterativo. È essenziale sperimentare idee diverse e testare le istruzioni dell'intelligenza artificiale per vedere i risultati. Per ottimizzare la precisione e la pertinenza potrebbero essere necessari più tentativi. I test e l'iterazione continui riducono le dimensioni del prompt e aiutano il modello a generare un output migliore. Non esistono regole fisse per il modo in cui l'IA emette le informazioni, quindi la flessibilità e l'adattabilità sono essenziali.
In che modo AWS può supportare i tuoi requisiti di IA generativa?
Amazon Web Services (AWS) offre l'ampiezza e la profondità di strumenti per creare e utilizzare l'IA generativa. Ad esempio, possono essere utilizzati i seguenti servizi:
- Amazon Q Developer per generare suggerimenti di codice in tempo reale, che vanno da frammenti a funzioni complete, basati sui commenti e sul codice esistente.
- Amazon Bedrock per accelerare lo sviluppo di applicazioni di IA generativa utilizzando modelli di linguaggi tramite un'API, senza il bisogno di gestire l'infrastruttura.
- Amazon SageMaker JumpStart per scoprire, esplorare e distribuire modelli di linguaggio open source. Ad esempio, puoi lavorare con modelli come OpenLLaMA, RedPajama, MPT-7B di MosaicML, FLAN-T5, GPT-NeoX-20b e BLOOM.
Se preferisci creare i tuoi modelli, usa Amazon SageMaker. Fornisce infrastrutture e strumenti gestiti per accelerare la creazione, l'addestramento e l'implementazione di modelli scalabili, affidabili e sicuri.
Inizia a utilizzare la progettazione dei prompt su AWS creando un account oggi stesso.
Fasi successive su AWS
Ottieni accesso istantaneo al Piano gratuito di AWS.