Sviluppa un'applicazione di AI generativa

Last reviewed 2024-03-26 UTC

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 per soddisfare le 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 AI generativa, valuta idoneità tecnica e infrastruttura di un'organizzazione. Per informazioni su come valutare le tue capacità di AI e creare una roadmap sfruttarne il potenziale, vedi Workshop sulla preparazione all'IA. Se prevedi di sviluppare flussi di lavoro automatizzati dall'AI generativa, valuta se le persone debbano essere incluse 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

IA generativa di base vengono addestrati su set di dati multi-terabyte di testo, immagini, codice o altro 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 dell'AI generativa vengono create. I modelli capacità di risposta in abilità emergenti: con una 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. Prompt multimodali combinare 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. di Google Modelli Gemini sono realizzati da zero per la multimodalità e possono ragionare senza problemi testo, immagini, video, audio e codice. di Google Cloud Giardinaggio dei modelli e Vertex AI può 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 del modello. Scegli il modello più conveniente che soddisfa ancora la qualità e la latenza di risposta i tuoi requisiti.

  • 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.
  • Dimensioni: la dimensione di un modello viene generalmente misurata 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, alcuni modelli vengono addebitati in base di token di input e 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 sui costi di deployment dei modelli Google Kubernetes Engine (GKE), vedi Prezzi di GKE.

  • Funzionalità: non tutti i modelli supportano funzionalità quali ottimizzazione e distillazione. Se queste funzionalità sono importanti per te, controlla e le caratteristiche supportate da ogni 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, le 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 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, vedi 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 introducono queste tecniche e potranno aiutarti a capire come queste opzioni influenzano l'output del modello.

Chiamate di funzione ed estensioni

Chiamate di funzione e Estensioni Vertex AI per ampliare le capacità del modello. Valuta i casi d'uso per e dove l'utilizzo di un solo modello potrebbe non essere sufficiente. Puoi aiutare del modello aggiungendo chiamate di funzione o estensioni. Ad esempio, il modello può estrarre le informazioni del calendario dal testo e utilizzare un'estensione per trovare per prenotare.

Sebbene sia possibile usare le chiamate di funzione e le estensioni in modo intercambiabile, alcune differenze di alto livello. La chiamata di funzione è un'operazione asincrona senza dover includere le credenziali nel codice. Vertex AI Le estensioni offrono opzioni predefinite che puoi utilizzare per attività complesse in modo da non c'è bisogno di scrivere le proprie funzioni. Tuttavia, poiché Vertex AI Extensions restituisce e chiama funzioni per te, richiedono l'inclusione delle credenziali nel codice.

Grounding

Per collegamento si intende l'aumento delle risposte del modello ancorandole 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. RAG utilizza la funzionalità di ricerca per trovare informazioni pertinenti e poi aggiunge a un prompt del modello. Quando utilizzi RAG, l'output si basa su fatti e le ultime informazioni. 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ù sul grounding in Vertex AI, consulta Panoramica del percorso. Per informazioni su come configurare un flusso di lavoro di incorporamento in AlloyDB per PostgreSQL, vedi il esempio di flusso di lavoro di incorporamento.

Ottimizzazione del modello

Attività specializzate, come l'addestramento di un modello linguistico sulla terminologia specifica, potrebbero richiedere più addestramento rispetto alla sola progettazione 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'ottimizzazione come l'ottimizzazione supervisionata e l'apprendimento per rinforzo basato sul feedback umano. dell'ottimizzazione (RLHF) o distillazione del modello. Le dimensioni del set di dati e l'ottimizzazione dipendono dal modello e dall'obiettivo dell'ottimizzazione. Ad esempio: le attività di nicchia e specializzate richiedono un set di dati più piccolo per miglioramenti. Per scoprire di più sull'ottimizzazione del modello, consulta Ottimizza i modelli di base linguistici.

valuta un modello

La valutazione del modello ti aiuta a valutare in che modo i tuoi prompt e le tue personalizzazioni influiscono su una le prestazioni del 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 ovviare a questi inconvenienti, utilizza un'ampia gamma di metriche in combinazione con valutazioni umane.

L'IA generativa su Vertex AI offre valutazione affiancata, che ti consente di confrontare l'output di due modelli dati empirici reali. Un terzo modello ti aiuta a selezionare risposte di qualità superiore. Automatica la valutazione affiancata è alla pari con quella dei valutatori umani, ma è più rapida disponibili on demand. Tuttavia, per eseguire i confronti, questo metodo richiede modello più grande rispetto ai modelli che stai valutando, che possono presentare pregiudizi intrinsechi. Pertanto, dovresti comunque 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 e deployment continuo. Ad esempio, i modelli di base di Google disponibili in l'IA generativa su Vertex AI dispone già di endpoint. Gli endpoint sono specifiche per il tuo progetto Google Cloud e sono immediatamente disponibili per gli utilizzi odierni. Tuttavia, se ottimizzi uno di questi modelli, devi eseguirne il deployment 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 abilitare le previsioni online dove Vertex AI gestisce le risorse di deployment per te, vedi Eseguire il deployment di un modello in un endpoint. In un ambiente autogestito, hai un controllo più granulare sulle ma li gestisci autonomamente. Con gli ambienti autogestiti, lattina per gestire modelli su piattaforme come GKE.

Dopo aver deciso in quale tipo di ambiente eseguire il deployment, considera il traffico previsto, i requisiti di latenza e il budget. È necessario 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 costo inferiore. Testa sono un buon esempio di questo compromesso. Per ulteriori informazioni per scegliere un tipo di macchina, consulta il blocco note Determinazione del 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 assicurarti e utilizzarli in modo sicuro e responsabile. Grazie all'incredibile versatilità negli LLM, è difficile prevedere risposte non intenzionali o impreviste.

Quando sviluppi applicazioni per il tuo caso d'uso, considera i limiti del di AI generativa in modo da poter mitigare adeguatamente i potenziali usi impropri e non intenzionali. Un esempio di limitazione del modello è che un modello è sia la qualità dei 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. Altrimenti, il modello può 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