Migliora le tue prompt di diffusione stabile con la generazione potenziata dal recupero.

Migliora la durata delle tue acconciature con la generazione potenziata dal recupero.

La generazione di immagini a partire dal testo è un campo in rapida crescita dell’intelligenza artificiale, con applicazioni in una varietà di settori, come media e intrattenimento, giochi, visualizzazione di prodotti per e-commerce, pubblicità e marketing, progettazione e visualizzazione architettonica, creazioni artistiche e imaging medico.

Stable Diffusion è un modello di generazione di immagini a partire dal testo che ti permette di creare immagini di alta qualità in pochi secondi. A novembre 2022, abbiamo annunciato che i clienti AWS possono generare immagini a partire dal testo con i modelli Stable Diffusion in Amazon SageMaker JumpStart, una piattaforma di apprendimento automatico (ML) che offre modelli, algoritmi e soluzioni. L’evoluzione è continuata ad aprile 2023 con l’introduzione di Amazon Bedrock, un servizio completamente gestito che offre accesso a modelli all’avanguardia, incluso Stable Diffusion, attraverso un’API conveniente.

Man mano che un numero sempre maggiore di clienti intraprende le proprie attività di generazione di immagini a partire dal testo, sorge un ostacolo comune: come creare prompt che abbiano il potere di generare immagini di alta qualità basate su scopi specifici. Questa sfida richiede spesso tempo e risorse considerevoli, poiché gli utenti intraprendono un percorso iterativo di sperimentazione per scoprire i prompt che si allineano alle loro visioni.

La generazione migliorata tramite recupero (RAG) è un processo in cui un modello di linguaggio recupera documenti contestuali da una fonte dati esterna e utilizza queste informazioni per generare testi più precisi ed informativi. Questa tecnica è particolarmente utile per compiti di elaborazione del linguaggio naturale (NLP) orientati alla conoscenza. Ora estendiamo il suo tocco trasformativo al mondo della generazione di immagini a partire dal testo. In questo post, dimostriamo come sfruttare il potere del RAG per migliorare i prompt inviati ai modelli Stable Diffusion. Puoi creare il tuo assistente AI per la generazione di prompt in pochi minuti con modelli di linguaggio ampi (LLM) su Amazon Bedrock e su SageMaker JumpStart.

Approcci alla creazione di prompt per la generazione di immagini a partire dal testo

Creare un prompt per un modello di generazione di immagini a partire dal testo può sembrare semplice a prima vista, ma è un compito ingannevolmente complesso. Non si tratta solo di digitare qualche parola e aspettarsi che il modello crei un’immagine che si allinei con la tua immagine mentale. I prompt efficaci dovrebbero fornire istruzioni chiare lasciando spazio alla creatività. Devono essere equilibrati tra specificità e ambiguità e devono essere adattati al modello specifico utilizzato. Per affrontare la sfida della costruzione del prompt, il settore ha esplorato vari approcci:

  • Librerie di prompt – Alcune aziende curano librerie di prompt predefiniti a cui è possibile accedere e personalizzare. Queste librerie contengono una vasta gamma di prompt adattati a diversi casi d’uso, permettendoti di scegliere o adattare prompt che si allineano alle tue esigenze specifiche.
  • Modelli di prompt e linee guida – Molte aziende e organizzazioni forniscono agli utenti un set di modelli di prompt predefiniti e linee guida. Questi modelli offrono formati strutturati per la scrittura di prompt, semplificando la creazione di istruzioni efficaci.
  • Contributi della comunità e degli utenti – Piattaforme di crowdsourcing e comunità di utenti spesso svolgono un ruolo significativo nel migliorare i prompt. Gli utenti possono condividere con la comunità i loro modelli calibrati, prompt di successo, suggerimenti e migliori pratiche, aiutando gli altri a imparare e perfezionare le loro capacità di scrittura dei prompt.
  • Taratura del modello – Le aziende possono tarare i propri modelli di generazione di immagini a partire dal testo per migliorare la comprensione e la risposta a tipologie specifiche di prompt. La taratura può migliorare le prestazioni del modello per determinati settori o casi d’uso.

Questi approcci dell’industria hanno come obiettivo comune rendere il processo di creazione di prompt efficaci per la generazione di immagini a partire dal testo più accessibile, user-friendly ed efficiente, migliorando in definitiva la facilità d’uso e la versatilità dei modelli di generazione di immagini a partire dal testo per una vasta gamma di applicazioni.

Utilizzo del RAG per la progettazione dei prompt

In questa sezione, esploriamo come le tecniche del RAG possono essere un cambiamento radicale nella costruzione dei prompt, lavorando in armonia con gli approcci esistenti. Integrando senza soluzione di continuità il RAG nel processo, possiamo rendere più efficiente e migliorare l’efficacia della progettazione dei prompt.

Ricerca semantica in un database di prompt

Immaginate un’azienda che abbia accumulato un vasto archivio di prompt nella sua libreria di prompt o abbia creato un gran numero di modelli di prompt, ognuno progettato per casi d’uso e obiettivi specifici. Tradizionalmente, gli utenti alla ricerca di ispirazione per i loro prompt di testo-immagine avrebbero navigato manualmente attraverso queste librerie, spesso vagliando lunghe liste di opzioni. Questo processo può essere lungo e inefficiente. Incorporando i prompt dalla libreria di prompt utilizzando modelli di incorporamento del testo, le aziende possono costruire un motore di ricerca semantico. Ecco come funziona:

  • Incorporamento dei prompt – L’azienda utilizza gli incorporamenti del testo per convertire ogni prompt nella sua libreria in una rappresentazione numerica. Questi incorporamenti catturano il significato semantico e il contesto dei prompt.
  • Query dell’utente – Quando gli utenti forniscono i loro propri prompt o descrivono l’immagine desiderata, il sistema può analizzare e incorporare anche il loro input.
  • Ricerca semantica – Utilizzando gli incorporamenti, il sistema effettua una ricerca semantica. Recupera i prompt più rilevanti dalla libreria in base alla query dell’utente, considerando sia l’input dell’utente sia i dati storici nella libreria di prompt.

Implementando la ricerca semantica nelle loro librerie di prompt, le aziende permettono ai propri dipendenti di accedere senza sforzo a un vasto serbatoio di prompt. Questo approccio non solo accelera la creazione dei prompt, ma favorisce anche la creatività e la coerenza nella generazione di testo-immagine.

Anche se la ricerca semantica semplifica il processo di ricerca di prompt pertinenti, RAG va oltre utilizzando questi risultati di ricerca per generare prompt ottimizzati. Ecco come funziona:

  • Risultati di ricerca semantica – Dopo aver recuperato i prompt più pertinenti dalla libreria, il sistema presenta questi prompt all’utente, insieme all’input originale dell’utente.
  • Modello di generazione del testo – L’utente può selezionare un prompt dai risultati della ricerca o fornire ulteriori contesti sulle proprie preferenze. Il sistema alimenta sia il prompt selezionato che l’input dell’utente in un LLM.
  • Prompt ottimizzato – L’LLM, con la sua comprensione delle sfumature del linguaggio, crea un prompt ottimizzato che combina elementi dal prompt selezionato e dall’input dell’utente. Questo nuovo prompt è adattato alle esigenze dell’utente e progettato per ottenere l’immagine desiderata in output.

La combinazione di ricerca semantica e generazione di prompt non solo semplifica il processo di ricerca dei prompt, ma garantisce anche che i prompt generati siano molto rilevanti ed efficaci. Ciò consente di perfezionare e personalizzare i propri prompt, portando alla migliore generazione di testo-immagine. Di seguito sono presenti esempi di immagini generate da Stable Diffusion XL utilizzando i prompt dalla ricerca semantica e dalla generazione di prompt.

Prompt originale Prompt dalla ricerca semantica Prompt ottimizzato dall’LLM

un cartone animato di un piccolo cane

  • carino cartone animato di un cane che mangia un panino al tavolo da pranzo
  • un’illustrazione a cartone animato di un cane punk, in stile anime, sfondo bianco
  • un cartone animato di un ragazzo e il suo cane che camminano lungo un sentiero nel bosco

Una scena a cartone animato di un ragazzo che cammina felicemente mano nella mano lungo un sentiero nel bosco con il suo adorabile cane domestico, nello stile dell’animazione.

Applicazioni di progettazione di prompt basate su RAG in diverse industrie

Prima di esplorare l’applicazione della nostra proposta architettura RAG, iniziamo con un’industria in cui un modello di generazione di immagini è più applicabile. Nell’AdTech, la velocità e la creatività sono fondamentali. La generazione di prompt basata su RAG può fornire un valore istantaneo generando suggerimenti di prompt per creare molte immagini rapidamente per una campagna pubblicitaria. I decisori umani possono esaminare le immagini generate automaticamente per selezionare l’immagine candidata per la campagna. Questa funzionalità può essere un’applicazione indipendente o incorporata in strumenti software e piattaforme popolari attualmente disponibili.

Un’altra industria in cui il modello Stable Diffusion può aumentare la produttività è quella dei media e dell’intrattenimento. L’architettura RAG può essere utile in casi di creazione di avatar, ad esempio. Partendo da un prompt semplice, RAG può aggiungere molto più colore e caratteristiche alle idee degli avatar. Può generare molti prompt candidati e fornire idee più creative. Dalle immagini generate, è possibile trovare l’adeguamento perfetto per l’applicazione specifica. Aumenta la produttività generando automaticamente molti suggerimenti di prompt. La variazione che può produrre è il beneficio immediato della soluzione.

Panoramica della soluzione

Permettere ai clienti di costruire il proprio assistente AI basato su RAG per la progettazione di prompt su AWS è una testimonianza della versatilità delle moderne tecnologie. AWS offre una vasta gamma di opzioni e servizi per agevolare questo impegno. Il seguente diagramma di architettura di riferimento illustra un’applicazione RAG per la progettazione di prompt su AWS.

Quando si tratta di selezionare i giusti LLM per il proprio assistente AI, AWS offre una gamma di scelte per soddisfare le esigenze specifiche.

Innanzitutto, è possibile optare per LLM disponibili tramite SageMaker JumpStart, utilizzando istanze dedicate. Queste istanze supportano una varietà di modelli, tra cui Falcon, Llama 2, Bloom Z e Flan-T5, oppure è possibile esplorare modelli proprietari come Cohere’s Command e Multilingual Embedding, o Jurassic-2 di AI21 Labs.

Se si preferisce un approccio più semplificato, AWS offre LLM su Amazon Bedrock, con modelli come Amazon Titan e Anthropic Claude. Questi modelli sono facilmente accessibili tramite semplici chiamate API, consentendo di sfruttarne facilmente la potenza. La flessibilità e la diversità delle opzioni garantiscono la libertà di scegliere il LLM che meglio si allinea con gli obiettivi di progettazione del prompt, che si tratti di un’innovazione con contenitori aperti o delle capacità robuste di modelli proprietari.

Quando si tratta di costruire il database essenziale di vettori, AWS offre molteplici opzioni attraverso i propri servizi nativi. È possibile optare per Amazon OpenSearch Service, Amazon Aurora o Amazon Relational Database Service (Amazon RDS) for PostgreSQL, ognuno offrendo funzionalità robuste per soddisfare le esigenze specifiche. In alternativa, è possibile esplorare i prodotti dei partner AWS come Pinecone, Weaviate, Elastic, Milvus o Chroma, che forniscono soluzioni specializzate per l’efficace archiviazione e recupero di vettori.

Per aiutarti a iniziare a costruire un assistente AI basato su RAG per la progettazione di prompt, abbiamo preparato una demo esaustiva nel nostro repository GitHub. Questa demo utilizza le seguenti risorse:

  • Generazione di immagini: Stable Diffusion XL su Amazon Bedrock
  • Incorporamento di testo: Amazon Titan su Amazon Bedrock
  • Generazione di testo: Claude 2 su Amazon Bedrock
  • Database di vettori: FAISS, una libreria open source per la ricerca efficiente delle similarità
  • Libreria di prompt: Esempi di prompt da DiffusionDB, il primo dataset di galleria di prompt su larga scala per modelli generativi di testo-immagine

Inoltre, abbiamo incorporato LangChain per l’implementazione di LLM e Streamit per il componente dell’applicazione web, fornendo un’esperienza senza soluzione di continuità e user-friendly.

Prerequisiti

È necessario avere quanto segue per eseguire questa applicazione demo:

  • Un account AWS
  • Comprensione di base su come navigare Amazon SageMaker Studio
  • Comprensione di base su come scaricare un repository da GitHub
  • Conoscenza di base dell’esecuzione di un comando su un terminale

Esegui l’applicazione demo

Puoi scaricare tutto il codice necessario con le relative istruzioni dal repository di GitHub. Dopo che l’applicazione è stata implementata, vedrai una pagina simile alla seguente schermata.

Con questa dimostrazione, miriamo a rendere accessibile e comprensibile il processo di implementazione, fornendoti un’esperienza pratica per avviare il tuo viaggio nel mondo di RAG e del design dei prompt su AWS.

Pulisci

Dopo aver provato l’applicazione, pulisci le tue risorse arrestando l’applicazione.

Conclusioni

RAG è emerso come un paradigma rivoluzionario nel mondo del design di prompt, rivitalizzando le capacità di testo-immagine di Stable Diffusion. Armonizzando le tecniche RAG con approcci esistenti e utilizzando le risorse robuste di AWS, abbiamo scoperto una via per la creatività razionalizzata e l’apprendimento accelerato.

Per ulteriori risorse, visita i seguenti link: