Sviluppa un'applicazione di AI generativa

Questo documento ti aiuta a capire come affrontare le sfide in ogni fase dello sviluppo di un'applicazione di AI generativa. Descrive come selezionare un modello, personalizzarne l'output in base alle tue esigenze, valutare le personalizzazioni ed eseguire il deployment del modello. Questo documento presuppone che tu abbia già in mente un caso d'uso e che questo sia adatto all'AI generativa. Per informazioni su come sviluppare un caso d'uso, consulta Valuta e definisci il tuo caso d'uso aziendale dell'AI generativa.

Prima di iniziare a sviluppare un'applicazione di AI generativa, valuta la preparazione tecnica della tua organizzazione (funzionalità e infrastruttura). Per informazioni su come valutare le tue funzionalità di AI e creare una roadmap per sfruttarne il potenziale, consulta AI Readiness Workshop. Se prevedi di sviluppare workflow automatizzati dall'AI generativa, valuta se gli esseri umani devono essere inclusi nel ciclo per le fasi decisionali critiche. La revisione umana può aiutare a prendere decisioni come garantire un utilizzo responsabile, soddisfare requisiti specifici di controllo qualità o monitorare i contenuti generati.

Modelli di AI generativa

I foundation model di AI generativa vengono addestrati su set di dati di più terabyte di testo, immagini, codice o altri contenuti multimediali. I dati e l'architettura del modello consentono ai modelli di identificare pattern complessi, acquisire una comprensione profonda e contestuale e produrre nuovi contenuti come testo, immagini, musica o video basati sui dati di addestramento.

I foundation model costituiscono il nucleo su cui vengono create numerose applicazioni di AI generativa. Le capacità dei modelli si traducono in abilità emergenti: con una semplice istruzione di prompt testuale, i foundation model di AI generativa possono imparare a eseguire una serie di attività, come tradurre lingue, rispondere a domande, scrivere una poesia o scrivere codice, senza un addestramento esplicito per ogni attività. I foundation model di AI generativa possono anche adattarsi per eseguire attività specifiche con alcune tecniche di prompt o possono essere ottimizzati con dati di addestramento aggiuntivi minimi.

I modelli linguistici di grandi dimensioni (LLM) vengono addestrati sul testo e sono un esempio di foundation model che in genere si basano su architetture di deep learning, come il Transformer sviluppato da Google nel 2017. Gli LLM possono essere addestrati su miliardi di esempi di testo e altri contenuti e possono essere personalizzati per domini specifici.

Altri modelli multimodali estendono la capacità di un'applicazione di AI generativa di elaborare informazioni da più modalità, tra cui immagini, video, audio e testo. I prompt multimodali combinano più formati di input, come testo, immagini e audio. Ad esempio, puoi inserire un'immagine e chiedere a un'applicazione di AI generativa di elencare o descrivere gli oggetti nell'immagine. I modelli Gemini di Google sono stati sviluppati da zero appositamente per essere multimodali e permetterti di elaborare testo, immagini, video, audio e codice. Model Garden e Vertex AI di Google Cloudpossono aiutarti a trovare e personalizzare una gamma di modelli di base di Google, open source e di terze parti.

Scelta di un modello

Quando scegli un modello, considera la modalità, le dimensioni e il costo. Scegli il modello più conveniente che soddisfi comunque i tuoi requisiti di qualità e latenza delle risposte.

  • Modalità: come descritto nella sezione precedente, la modalità di un modello corrisponde alle categorie di dati di alto livello per cui un modello è addestrato, come testo, immagini e video. In genere, il caso d'uso e la modalità del modello sono strettamente associati. Se il tuo caso d'uso prevede la generazione da testo a immagine, devi trovare un modello addestrato su dati di testo e immagini. Se hai bisogno della flessibilità di più modalità, come nella ricerca multimodale, esistono modelli che supportano anche casi d'uso multimodali, ma i costi e la latenza potrebbero essere più elevati.
    • Modelli di Vertex AI offre un ampio elenco di modelli di AI generativa che puoi utilizzare.
    • Model Garden fornisce un elenco di offerte di modelli ML proprietari e open source suGoogle Cloud.
  • Dimensioni: le dimensioni di un modello vengono in genere misurate in base al numero di parametri. In generale, un modello più grande può apprendere pattern e relazioni più complessi all'interno dei dati, il che può portare a risposte di qualità superiore. Poiché i modelli più grandi della stessa famiglia possono avere latenza e costi più elevati, potresti dover sperimentare e valutare i modelli per determinare quale dimensione del modello è più adatta al tuo caso d'uso.
  • Costo: il costo di un modello è correlato alle sue funzionalità, che di solito sono correlate al numero di parametri del modello. I modelli possono anche essere misurati e addebitati in modo diverso. Ad esempio, per alcuni modelli l'addebito si basa sul numero di token di input e output. Altri modelli vengono addebitati in base al numero di ore nodo utilizzate durante il deployment del modello.

    • Per informazioni sui prezzi dei modelli di AI generativa su Vertex AI, consulta Prezzi di Vertex AI.

    • Per informazioni sui costi di deployment dei modelli su Google Kubernetes Engine (GKE), consulta Prezzi di GKE.

  • Funzionalità: non tutti i modelli supportano funzionalità come l'ottimizzazione e la distillazione. Se queste funzionalità sono importanti per te, controlla le funzionalità supportate da ciascun modello.

Prompt di progettazione

La progettazione dei prompt è il processo di creazione di coppie di prompt e risposte per fornire ai modelli linguistici contesto e istruzioni aggiuntivi. Dopo aver creato i prompt, li fornisci al modello come set di dati di prompt per il pre-addestramento. Quando un modello fornisce previsioni, risponde con le istruzioni integrate.

Se vuoi ottenere un output specifico, puoi utilizzare strategie di progettazione dei prompt, ad esempio istruire il modello a completare un input parziale o fornirgli esempi di risposte ideali. Per saperne di più, consulta Prompt engineering dell'AI agentica.

Personalizza un modello

Dopo la progettazione dei prompt, potresti scoprire che le risposte di un modello funzionano bene, quindi non è necessario personalizzarlo. Se il modello non ha un buon rendimento, ad esempio se genera allucinazioni, puoi utilizzare tecniche di personalizzazione aggiuntive. Le sezioni seguenti presentano queste tecniche e possono aiutarti a capire in che modo queste opzioni influiscono sull'output del modello.

Chiamata di funzione ed estensioni

Le chiamate di funzione e le estensioni di Vertex AI espandono le funzionalità del tuo modello. Considera i casi d'uso della tua applicazione e i casi in cui l'utilizzo di un modello da solo potrebbe non essere sufficiente. Puoi aiutare il modello aggiungendo chiamate di funzione o estensioni. Ad esempio, il modello può estrarre informazioni sul calendario dal testo e poi utilizzare un'estensione per trovare e prenotare una prenotazione.

Sebbene sia possibile utilizzare la chiamata di funzione e le estensioni in modo intercambiabile, esistono alcune differenze di alto livello. La chiamata di funzione è un'operazione asincrona e non è necessario includere le credenziali nel codice. Le estensioni Vertex AI forniscono opzioni predefinite che puoi utilizzare per attività complesse, in modo da non dover scrivere le tue funzioni. Tuttavia, poiché le estensioni di Vertex AI restituiscono e chiamano le funzioni per tuo conto, richiedono l'inserimento delle credenziali nel codice.

Grounding

Il grounding si riferisce al miglioramento delle risposte del modello ancorandole a fonti di informazioni verificabili. Per eseguire il grounding di un modello, devi collegarlo a un'origine dati. La base di un modello contribuisce a migliorare l'affidabilità dei contenuti generati riducendo le allucinazioni.

La Retrieval-Augmented Generation (RAG) è una tecnica di grounding di uso comune. La RAG utilizza la funzionalità di ricerca per trovare informazioni pertinenti e poi le aggiunge a un prompt del modello. Quando utilizzi la RAG, l'output si basa su fatti e informazioni aggiornate. La ricerca RAG utilizza vector embedding e database vettoriali, che archiviano i dati come rappresentazioni numeriche di dati non strutturati come testo e immagini. Per saperne di più, consulta Che cos'è un database vettoriale.

Per scoprire di più sul grounding in Vertex AI, consulta la panoramica del grounding. Per informazioni su come configurare un flusso di lavoro di embedding in AlloyDB per PostgreSQL, consulta l'esempio di flusso di lavoro di embedding.

Ottimizzazione del modello

Le attività specializzate, come l'addestramento di un modello linguistico su una terminologia specifica, potrebbero richiedere un addestramento più approfondito di quello che puoi eseguire con la sola progettazione dei prompt. In questo scenario, puoi utilizzare l'ottimizzazione del modello per migliorare le prestazioni e fare in modo che il modello rispetti requisiti di output specifici.

Per ottimizzare un modello, devi creare un set di dati di addestramento e poi selezionare un metodo di ottimizzazione, come l'ottimizzazione supervisionata, l'ottimizzazione con apprendimento per rinforzo con feedback umano (RLHF) o la distillazione del modello. Le dimensioni del set di dati e i metodi di ottimizzazione dipendono dal modello e da ciò che stai ottimizzando. Ad esempio, le attività specializzate e di nicchia richiedono un set di dati più piccolo per ottenere miglioramenti significativi. Per scoprire di più sull'ottimizzazione dei modelli, consulta Ottimizza i foundation model linguistici.

Valuta un modello

La valutazione del modello ti aiuta a valutare l'impatto dei prompt e delle personalizzazioni sulle prestazioni di un modello. Ogni metodo di valutazione ha i propri punti di forza e di debolezza da considerare. Ad esempio, le valutazioni basate su metriche possono essere automatizzate e scalate rapidamente con un modo quantificabile per misurare le prestazioni. Tuttavia, le metriche possono semplificare eccessivamente i risultati e non cogliere il contesto e le sfumature del linguaggio naturale. Per mitigare queste carenze, utilizza un'ampia gamma di metriche in combinazione con le valutazioni umane.

L'AI generativa su Vertex AI offre una valutazione affiancata automatica, che ti consente di confrontare l'output di due modelli con il dato di fatto. Un terzo modello ti aiuta a selezionare le risposte di qualità superiore. La valutazione affiancata automatica è paragonabile a quella dei valutatori umani, ma è più rapida e disponibile on demand. Tuttavia, per eseguire i confronti, questo metodo richiede un modello più grande di quelli che stai valutando, il che può presentare bias intrinseci. Pertanto, è comunque necessario eseguire alcune valutazioni umane.

Per tutti i metodi di valutazione, è necessario un set di dati di valutazione. Un set di dati di valutazione include coppie di prompt e dati di fatto (risposta ideale) che crei. Quando crei il set di dati, includi un insieme diversificato di esempi in linea con l'attività che stai valutando per ottenere risultati significativi.

Esegui il deployment di un modello

Il deployment di un modello associa un endpoint e risorse di macchine fisiche al tuo modello per fornire previsioni online a bassa latenza. Non tutti i modelli richiedono il deployment. Ad esempio, i foundation model di Google disponibili nell'AI generativa su Vertex AI hanno già degli endpoint. Gli endpoint sono specifici per il tuo progetto Google Cloud e sono immediatamente disponibili per l'utilizzo. Tuttavia, se ottimizzi uno di questi modelli, devi eseguirne il deployment in un endpoint.

Quando esegui il deployment di un modello, decidi se preferisci eseguire il deployment dei modelli in un ambiente completamente gestito o in un ambiente autogestito. In un ambiente completamente gestito, selezioni le risorse fisiche di cui hai bisogno, come il tipo di macchina e il tipo di acceleratore, quindi Vertex AI crea un'istanza e gestisce le risorse per te. Ad esempio, per abilitare le previsioni online in cui Vertex AI gestisce le risorse di deployment per te, consulta Esegui il deployment di un modello in un endpoint. In un ambiente autogestito, hai un controllo più granulare sulle tue risorse, ma le gestisci in autonomia. Con gli ambienti autogestiti, puoi gestire i modelli su piattaforme come GKE.

Dopo aver deciso il tipo di ambiente in cui eseguire il deployment, considera il traffico previsto, i requisiti di latenza e il budget. Devi bilanciare questi fattori con le tue risorse fisiche. Ad esempio, se la priorità è un costo inferiore, potresti essere in grado di tollerare una latenza più elevata con macchine a un costo inferiore. Gli ambienti di test sono un buon esempio di questo compromesso. Per saperne di più su come scegliere un tipo di macchina, consulta il notebook Determinazione del tipo di macchina ideale da utilizzare per gli endpoint Vertex AI.

AI responsabile

L'AI generativa su Vertex AI è progettata tenendo conto dei principi dell'AI di Google. Tuttavia, è importante testare i modelli per assicurarsi che vengano utilizzati in modo sicuro e responsabile. A causa dell'incredibile versatilità degli LLM, è difficile prevedere risposte indesiderate o impreviste.

Quando sviluppi applicazioni per il tuo caso d'uso, tieni conto delle limitazioni dei modelli di AI generativa in modo da poter mitigare correttamente potenziali usi impropri e problemi imprevisti. Un esempio di limitazione del modello è che un modello è valido solo quanto i dati che utilizzi. Se fornisci al modello dati non ottimali, ad esempio dati imprecisi o incompleti, non puoi aspettarti prestazioni ottimali. Verifica che i dati di input e i prompt siano accurati. In caso contrario, il modello potrebbe avere prestazioni non ottimali o output falsi. Per scoprire di più sulle limitazioni dei modelli di AI generativa, consulta AI responsabile.

Passaggi successivi