Sviluppa un'applicazione di AI generativa
Questo documento ti aiuta a imparare ad affrontare le sfide in ogni fase del sviluppare un'applicazione di AI generativa. Descrive come selezionare un modello, personalizzare l'output del modello in base alle tue esigenze, valutare le personalizzazioni ed eseguire il deployment del modello. In questo documento si presuppone che tu abbia già un caso d'uso in e che il caso d'uso sia adatto all'AI generativa. Per informazioni su come sviluppare un caso d'uso, vedi Valuta e definisci il tuo caso d'uso aziendale dell'AI generativa.
Prima di iniziare a sviluppare un'applicazione di IA generativa, valuta l'idoneità tecnica della tua organizzazione (funzionalità e infrastruttura). Per informazioni su come valutare le tue funzionalità di IA e creare una roadmap per sfruttarne il potenziale, consulta il seminario sulla preparazione all'IA. Se prevedi di sviluppare flussi di lavoro automatizzati dall'IA generativa, valuta se è opportuno includere persone nel loop per le fasi decisionali critiche. La revisione umana può aiutare a prendere decisioni, ad esempio garantire un uso responsabile, soddisfare requisiti specifici per il controllo qualità o monitorare i contenuti generati.
Modelli di AI generativa
I modelli di base di IA generativa vengono addestrati su set di dati di diversi terabyte di testo, immagini, codice o altri contenuti multimediali. I dati e l'architettura del modello consentono ai modelli di identificare schemi complessi e una profonda comprensione contestuale e produrre nuovi contenuti come testo, immagini, musica o video basati sui dati di addestramento.
I modelli di base sono il nucleo su cui si basano numerose applicazioni di AI generativa vengono create. I modelli capacità di risposta alle emergenze semplici istruzioni con prompt di testo, i modelli di base dell'AI generativa possono imparare eseguire varie attività, come tradurre lingue, rispondere a domande, scrivere poesia o scrivere codice, senza un addestramento esplicito per ogni attività. IA generativa i modelli di base possono anche adattarsi per eseguire attività specifiche tecniche di prompt oppure possono essere ottimizzati con dati di addestramento aggiuntivi minimi.
Modelli linguistici di grandi dimensioni (LLM) sono addestrati sul testo e sono un esempio di modelli di base che tipicamente basate su architetture di deep learning come il modello sviluppati da Google nel 2017. gli LLM possono essere addestrati su miliardi di campioni di testo e altri contenuti e un LLM può essere personalizzato per domini specifici.
Altro multimodale di IA generativa estendono la capacità di un'applicazione di AI generativa di elaborare le informazioni da diverse modalità tra cui immagini, video, audio e testo. I prompt multimodali combinano più formati di input come testo, immagini e audio. Ad esempio, può inserire un'immagine e chiedere a un'applicazione di AI generativa di elencare o descrivere oggetti presenti nell'immagine. I modelli Gemini di Google sono progettati da zero per la multimodalità e possono ragionare senza problemi su testo, immagini, video, audio e codice. di Google Cloud Giardinaggio modelli e Vertex AI può aiutarti a trovare e personalizzare una serie di modelli di base di Google, open source e di terze parti.
Scelta di un modello
Quando scegli un modello, tieni conto della modalità, delle dimensioni e del costo. Scegli il modello più conveniente che soddisfi comunque i tuoi requisiti di latenza e qualità della risposta.
- Modalità: come descritto nella sezione precedente, la modalità di una
corrisponde alle categorie di dati di alto livello su cui viene addestrato un modello
come testo, immagini e video. In genere, il tuo caso d'uso e
sono strettamente associate. Se il tuo caso d'uso prevede la conversione da testo a immagine
, devi trovare un modello addestrato con dati di testo e immagine. Se
necessitano della flessibilità di più modalità, come nella ricerca multimodale,
sono modelli che supportano anche casi d'uso multimodali, ma costi e latenza
potrebbe essere più alto.
- Modelli Vertex AI offre un ampio elenco di modelli di AI generativa che puoi usare.
- Giardinaggio modelli fornisce un elenco delle offerte di modelli ML proprietari e open source su in Google 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 più complessi e relazioni 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 modello la dimensione più adatta al tuo caso d'uso.
Costo: il costo di un modello è correlato alle sue capacità, che di solito è correlato al conteggio dei parametri del modello. I modelli possono anche essere misurati e addebitato in modo diverso. Ad esempio, per alcuni modelli l'addebito avviene in base al numero di token di input e di output. Gli altri modelli vengono addebitati in base di ore nodo utilizzate durante il deployment del modello.
Per informazioni sui prezzi dei modelli di AI generativa Vertex AI, vedi Prezzi di Vertex AI.
Per informazioni sul costo per il deployment dei modelli su Google Kubernetes Engine (GKE), consulta i prezzi di GKE.
Funzionalità: non tutti i modelli supportano funzionalità come la regolazione e la distillazione. Se queste funzionalità sono importanti per te, controlla le funzionalità supportate da ciascun modello.
Progettare i prompt
La progettazione di prompt è il processo di creazione di coppie di prompt e risposte per fornire linguistici di grandi dimensioni, contesto aggiuntivo e istruzioni. Dopo aver creato i prompt, li fornisci al modello come set di dati di prompt per il preaddestramento. Quando un modello fornisce previsioni, risponde con le tue istruzioni integrate.
Se vuoi ottenere un output specifico, puoi usare le strategie di progettazione dei prompt, ad esempio dando istruzioni al modello di completare l'input parziale o dando al modello esempi di risposte ideali. Per ulteriori informazioni, consulta la sezione Introduzione alla progettazione dei prompt.
Personalizza un modello
Dopo la progettazione dei prompt, potresti scoprire che le risposte di un modello funzionano bene, non occorre personalizzarlo. Se il rendimento del modello non è soddisfacente, ad esempio Ad esempio, se ha allucinazioni, puoi usare opzioni di personalizzazione aggiuntive tecniche. Le sezioni seguenti illustrano queste tecniche e possono aiutarti a comprendere in che modo queste opzioni influiscono sull'output del modello.
Chiamate di funzione ed estensioni
Le chiamate di funzione e le estensioni di Vertex AI espandeno le funzionalità del tuo modello. Valuta i casi d'uso della tua applicazione e i casi in cui l'utilizzo di un solo modello potrebbe non essere sufficiente. Puoi aiutare il modello aggiungendo chiamate di funzione o estensioni. Ad esempio, il modello può estrarre le informazioni del calendario dal testo e poi utilizzare un'estensione per trovare e prenotare una prenotazione.
Sebbene tu possa utilizzare le chiamate di funzione e le estensioni in modo intercambiabile, esistono alcune differenze di alto livello. La chiamata di funzione è un'operazione asincrona senza dover 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, devi includere le credenziali nel codice.
Grounding
Per grounding si intende l'aumento delle risposte del modello tramite l'ancoraggio a fonti di informazioni verificabili. Per mettere a terra un modello, devi connetterlo a una sorgente. Il grounding di un modello consente di migliorare l'affidabilità del modello contenuti riducendo le allucinazioni.
La generazione aumentata del recupero (RAG) è una tecnica di grounding comunemente utilizzata. 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 sulle informazioni più recenti. La ricerca RAG utilizza incorporamenti vettoriali e database vettoriali, che archiviano i dati sotto forma di rappresentazioni numeriche di dati non strutturati, come testo e in formato Docker. Per ulteriori informazioni, vedi Che cos'è un database vettoriale.
Per scoprire di più sull'isolamento in Vertex AI, consulta la panoramica dell'isolamento. Per informazioni su come configurare un flusso di lavoro di incorporamento in AlloyDB per PostgreSQL, consulta il flusso di lavoro di incorporamento di esempio.
Ottimizzazione del modello
Attività specializzate, come l'addestramento di un modello linguistico su terminologia specifica, potrebbero richiedere più addestramento di quanto puoi fare con il solo design dei prompt. In questo puoi utilizzare l'ottimizzazione per migliorare le prestazioni e ottenere rispettino requisiti di output specifici.
Per ottimizzare un modello, devi creare un set di dati di addestramento e poi selezionare un metodo di ottimizzazione, ad esempio l'ottimizzazione supervisionata, l'ottimizzazione RLHF (apprendimento per rinforzo con feedback umano) o la distillazione del modello. Le dimensioni del set di dati e l'ottimizzazione dipendono dal modello e dall'obiettivo dell'ottimizzazione. 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 Ottimizzare i modelli di base per le lingue.
Valutare un modello
La valutazione del modello ti aiuta a valutare l'impatto dei prompt e delle personalizzazioni sul rendimento di un modello. Ogni metodo di valutazione ha i suoi punti deboli e punti di forza le informazioni da considerare. Ad esempio: valutazioni basate sulle metriche possono essere automatizzati e scalati rapidamente con un modo quantificabile di misurare delle prestazioni. Tuttavia, le metriche possono semplificare i risultati in modo eccessivo e non includere il contesto. tutte le sfumature del linguaggio naturale. Per attenuare queste carenze, utilizza una vasta gamma di metriche in combinazione con le valutazioni umane.
L'IA generativa su Vertex AI offre la valutazione affiancata automatica, che consente di confrontare l'output di due modelli con i dati empirici reali. Un terzo modello ti aiuta a selezionare risposte di qualità superiore. La valutazione automatica affiancata è alla pari con quella dei valutatori umani, ma è più rapida e disponibile su richiesta. Tuttavia, per eseguire i confronti, questo metodo richiede un modello più grande di quelli che stai valutando, che può presentare bias inerenti. Dovresti quindi eseguire alcune valutazioni umane.
Per tutti i metodi di valutazione, è necessario un set di dati di valutazione. Una valutazione il set di dati include coppie di prompt e dati empirici reali (risposta ideale) create da te. Quando crei il tuo set di dati, includi un insieme eterogeneo 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 le risorse delle macchine fisiche a il modello per fornire previsioni online a bassa latenza. Non tutti i modelli richiedono il deployment. Ad esempio, i modelli di base di Google disponibili in l'IA generativa su Vertex AI dispone già di endpoint. Gli endpoint sono specifici per il tuo progetto Google Cloud e sono disponibili immediatamente per il tuo utilizzo. Tuttavia, se ne ottimizzi uno, 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 gestito o autogestito. In un ambiente completamente gestito dell'ambiente, selezioni le risorse fisiche di cui hai bisogno, come la macchina e il tipo di acceleratore, poi Vertex AI crea un'istanza e che gestisce le risorse per te. Ad esempio, per attivare le previsioni online in cui Vertex AI gestisce le risorse di deployment per te, consulta Eseguire il deployment di un modello in un endpoint. In un ambiente autogestito, hai un controllo più granulare sulle tue risorse, ma devi gestirle autonomamente. Con gli ambienti self-managed, puoi pubblicare modelli su piattaforme come GKE.
Una volta deciso il tipo di ambiente in cui eseguire il deployment, tieni conto del traffico previsto, dei requisiti di latenza e del budget. Devi bilanciare questi fattori con le tue risorse fisiche. Ad esempio, se il costo ridotto è una priorità, potresti essere in grado di tollerare una latenza più elevata con macchine a basso costo. Testa sono un buon esempio di questo compromesso. Per saperne di più su come scegliere un tipo di macchina, consulta il notebook Determinare il tipo di macchina ideale da utilizzare per gli endpoint Vertex AI.
AI responsabile
L'IA generativa su Vertex AI è progettata con l'IA di Google principi dell'IA. 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 IA generativa per poter mitigare adeguatamente i potenziali usi impropri e i problemi involontari. Un esempio di limitazione di un modello è che è buono solo quanto i dati che utilizzi. Se fornisci al modello dati non ottimali, come dati imprecisi o incompleti, non puoi aspettarti un rendimento ottimale. Verifica che i dati di input e i prompt siano accurati. In caso contrario, il modello hanno prestazioni non ottimali o output del modello falsi. Per scoprire di più su i limiti del modello di AI generativa, vedi IA responsabile.
Passaggi successivi
- Prova la Tutorial per blocchi note Vertex AI.
- Scopri di più su MLOps (Operazioni di machine learning) per l'IA generativa.