Questo documento del Well-Architected Framework diGoogle Cloud : prospettiva di AI e ML fornisce una panoramica dei principi e dei suggerimenti per ottimizzare il costo dei tuoi sistemi di AI durante il ciclo di vita del ML. Adottando un approccio di gestione dei costi proattivo e informato, la tua organizzazione può sfruttare appieno il potenziale dei sistemi di AI e ML e mantenere al contempo la disciplina finanziaria. I consigli contenuti in questo documento sono in linea con il pilastro dell'ottimizzazione dei costi del Well-Architected Framework.
I sistemi di AI e ML possono aiutarti a ottenere insight preziosi e funzionalità predittive dai dati. Ad esempio, puoi ridurre gli attriti nei processi interni, migliorare le esperienze utente e ottenere insight personalizzati più approfonditi sui clienti. Il cloud offre enormi quantità di risorse e un rapido time-to-value senza grandi investimenti iniziali per i workload di AI e ML. Per massimizzare il valore aziendale e allineare la spesa ai tuoi obiettivi commerciali, devi comprendere i fattori di costo, ottimizzare i costi in modo proattivo, configurare i controlli di spesa e adottare pratiche FinOps.
I suggerimenti di questo documento sono mappati ai seguenti principi fondamentali:
- Definisci e misura costi e ritorni
- Ottimizza l'allocazione delle risorse
- Applicare pratiche di gestione dei dati e governance
- Automatizza e semplifica con MLOps
- Utilizza servizi gestiti e modelli preaddestrati
Definisci e misura costi e ritorni
Per gestire in modo efficace i costi di AI e ML in Google Cloud, devi definire e misurare i costi delle risorse cloud e il valore aziendale delle tue iniziative di AI e ML. Per aiutarti a monitorare le spese in modo granulare, Google Cloud fornisce strumenti completi di fatturazione e gestione dei costi, come i seguenti:
- Report sulla fatturazione Cloud e tabelle
- Dashboard, budget e avvisi di Data Studio
- Cloud Monitoring
- Cloud Logging
Per prendere decisioni consapevoli sull'allocazione e l'ottimizzazione delle risorse, tieni presente i seguenti suggerimenti.
Stabilisci gli obiettivi commerciali e i KPI
Allinea le scelte tecniche dei tuoi progetti di AI e ML agli obiettivi commerciali e agli indicatori chiave di prestazione (KPI).
Definisci gli obiettivi strategici e i KPI incentrati sul ROI
Assicurati che i progetti di AI e ML siano in linea con gli obiettivi strategici, come la crescita delle entrate, la riduzione dei costi, la soddisfazione del cliente e l'efficienza. Coinvolgi gli stakeholder per comprendere le priorità aziendali. Definisci obiettivi di AI e ML specifici, misurabili, raggiungibili, pertinenti e con scadenze precise (SMART). Ad esempio, un obiettivo SMART è: "Ridurre del 15% in 6 mesi il tempo di gestione delle chat per l'assistenza clienti utilizzando un chatbot AI".
Per fare progressi verso i tuoi obiettivi commerciali e misurare il ritorno sull'investimento (ROI), definisci i KPI per le seguenti categorie di metriche:
- Costi per l'addestramento, l'inferenza, l'archiviazione e le risorse di rete, inclusi i costi unitari specifici (ad esempio il costo per inferenza, punto dati o attività). Queste metriche ti aiutano a ottenere informazioni sull'efficienza e sulle opportunità di ottimizzazione dei costi. Puoi monitorare questi costi utilizzando i report sulla fatturazione Cloud e le dashboard di monitoraggio.
- Metriche del valore aziendale come crescita delle entrate, risparmi sui costi, soddisfazione del cliente, efficienza, accuratezza e adozione. Puoi monitorare queste metriche utilizzando BigQuery Analytics e le dashboard di Looker.
Metriche specifiche del settore, come:
- Settore della vendita al dettaglio: misura l'incremento delle entrate e il tasso di abbandono
- Settore sanitario: misurare il tempo dei pazienti e i risultati dei pazienti
- Settore finanziario: misurare la riduzione delle attività fraudolente
Metriche specifiche del progetto. Puoi monitorare queste metriche utilizzando Esperimenti su Gemini Enterprise Agent Platform e Valutazione.
- AI predittiva: misura l'accuratezza e la precisione
- AI generativa: misura l'adozione, la soddisfazione e la qualità dei contenuti
- AI di visione artificiale: misura l'accuratezza
Promuovi una cultura di consapevolezza dei costi e ottimizzazione continua
Adotta i principi FinOps per assicurarti che ogni progetto di AI e ML abbia costi stimati e modi per misurare e monitorare i costi effettivi durante tutto il suo ciclo di vita. Assicurati che i costi e i vantaggi aziendali dei tuoi progetti abbiano proprietari assegnati e una responsabilità chiara.
Per saperne di più, consulta Promuovi una cultura di consapevolezza dei costi nel pilastro Ottimizzazione dei costi del Well-Architected Framework.
Generare valore e ottimizzazione continua attraverso l'iterazione e il feedback
Mappa le tue applicazioni di AI e ML direttamente ai tuoi obiettivi commerciali e misura il ROI.
Per convalidare le tue ipotesi sul ROI, inizia con progetti pilota e utilizza il seguente ciclo di ottimizzazione iterativo:
- Monitora continuamente e analizza i dati: monitora i KPI e i costi per identificare deviazioni e opportunità di ottimizzazione.
- Apporta modifiche basate sui dati: ottimizza strategie, modelli, infrastruttura e allocazione delle risorse in base agli insight sui dati.
- Perfeziona in modo iterativo: adatta gli scopi commerciali e i KPI in base a ciò che hai appreso e alle esigenze aziendali in evoluzione. Questa iterazione ti aiuta a mantenere la pertinenza e l'allineamento strategico.
- Stabilisci un feedback loop: esamina le prestazioni, i costi e il valore con gli stakeholder per informare l'ottimizzazione continua e la pianificazione dei progetti futuri.
Gestisci i dati di fatturazione con la fatturazione Cloud e le etichette
Un'ottimizzazione efficace dei costi richiede la visibilità dell'origine di ogni elemento di costo. I suggerimenti in questa sezione possono aiutarti a utilizzare gli strumenti di Google Cloud per ottenere insight granulari sui costi di AI e ML. Puoi anche attribuire i costi a progetti, team e attività di AI e ML specifici. Questi insight gettano le basi per l'ottimizzazione dei costi.
Organizza ed etichetta le risorse Google Cloud
- Struttura i tuoi progetti e le tue risorse in una gerarchia che rifletta la tua struttura organizzativa e i tuoi workflow di AI e ML. Per monitorare e analizzare i costi a diversi livelli, organizza le risorse Google Cloud utilizzando organizzazioni, cartelle e progetti. Per saperne di più, consulta Decidi una gerarchia delle risorse per la tua zona di destinazione Google Cloud .
- Applica etichette significative alle tue risorse. Puoi utilizzare etichette che indicano il progetto, il team, l'ambiente, il nome del modello, il set di dati, il caso d'uso e i requisiti di prestazioni. Le etichette forniscono un contesto prezioso per i dati di fatturazione e consentono un'analisi granulare dei costi.
- Mantieni la coerenza nelle convenzioni di etichettatura in tutti i tuoi progetti di AI e ML. Convenzioni di etichettatura coerenti contribuiscono a garantire che i dati di fatturazione siano organizzati e possano essere analizzati facilmente.
Utilizzare gli strumenti correlati alla fatturazione
- Per facilitare l'analisi e la generazione di report dettagliati, esporta i dati di fatturazione in BigQuery. BigQuery dispone di potenti funzionalità di query che ti consentono di analizzare i dati di fatturazione per aiutarti a comprendere i costi.
- Per aggregare i costi in base a etichette, progetti o periodi di tempo specifici, puoi scrivere query SQL personalizzate in BigQuery. Queste query ti consentono di attribuire i costi ad attività di AI e ML specifiche, come l'addestramento del modello, l'ottimizzazione degli iperparametri o l'inferenza.
- Per identificare anomalie dei costi o picchi di spesa imprevisti, utilizza le funzionalità di analisi di BigQuery. Questo approccio può aiutarti a rilevare potenziali problemi o inefficienze nei tuoi workload di AI e ML.
- Per identificare e gestire i costi imprevisti, utilizza la dashboard di rilevamento di anomalie nella fatturazione Cloud.
- Per distribuire i costi tra diversi team o reparti in base all'utilizzo delle risorse, utilizza la funzionalità di allocazione dei costi di Google Cloud. L'allocazione dei costi promuove la responsabilità e la trasparenza.
- Per ottenere insight sui modelli di spesa, esplora i report sulla fatturazione Cloud predefiniti. Puoi filtrare e personalizzare questi report per concentrarti su progetti o servizi di AI e ML specifici.
Monitora le risorse in modo continuo con dashboard, avvisi e report
Per creare un modo scalabile e resiliente per monitorare i costi, devi eseguire il monitoraggio e i report in modo continuo. Dashboard, avvisi e report costituiscono la base per un monitoraggio efficace dei costi. Questa base ti consente di mantenere un accesso costante alle informazioni sui costi, identificare le aree di ottimizzazione e garantire l'allineamento tra obiettivi commerciali e costi.
Crea un sistema di reporting
Crea report pianificati e condividili con gli stakeholder appropriati.
Utilizza Monitoring per raccogliere metriche da varie origini, tra cui applicazioni, infrastruttura e servizi Google Cloud come Compute Engine, Google Kubernetes Engine (GKE) e Cloud Run Functions. Per visualizzare le metriche e i log in tempo reale, puoi utilizzare la dashboard di Monitoring predefinita o creare dashboard personalizzate. Le dashboard personalizzate ti consentono di definire e aggiungere metriche per monitorare aspetti specifici dei tuoi sistemi, come le prestazioni dei modelli, le chiamate API o i KPI a livello aziendale.
Utilizza Logging per la raccolta e l'archiviazione centralizzate dei log delle tue applicazioni, dei tuoi sistemi e dei tuoi servizi Google Cloud . Utilizza i log per i seguenti scopi:
- Monitora i costi e l'utilizzo di risorse come CPU, memoria, spazio di archiviazione e rete.
- Identifica i casi di overprovisioning (in cui le risorse non sono completamente utilizzate) e di underprovisioning (in cui le risorse sono insufficienti). L'overprovisioning comporta costi non necessari. Il provisioning insufficiente rallenta i tempi di addestramento e potrebbe causare problemi di prestazioni.
- Identifica le risorse inattive o sottoutilizzate, come VM e GPU, e adotta misure per arrestarle o ridimensionarle in modo da ottimizzare i costi.
- Identifica i picchi di costo per rilevare aumenti improvvisi e imprevisti dell'utilizzo o dei costi delle risorse.
Utilizza Looker o Data Studio per creare dashboard e report interattivi. Collega le dashboard e i report a varie origini dati, tra cui BigQuery e Monitoring.
Imposta soglie di avviso in base ai KPI chiave
Per i tuoi KPI, determina le soglie che devono attivare gli avvisi. Soglie di avviso significative possono aiutarti a evitare l'affaticamento da avvisi. Crea policy di avviso in Monitoring per ricevere notifiche relative ai tuoi KPI. Ad esempio, puoi ricevere notifiche quando l'accuratezza scende al di sotto di una determinata soglia o la latenza supera un limite definito. Gli avvisi basati sui dati di log possono informarti di potenziali problemi di costo in tempo reale. Questi avvisi ti consentono di intraprendere azioni correttive tempestivamente e di prevenire ulteriori perdite finanziarie.
Ottimizza l'allocazione delle risorse
Per ottenere l'efficienza dei costi per i workload di AI e ML in Google Cloud, devi ottimizzare l'allocazione delle risorse. Per evitare spese inutili e garantire che i tuoi workload dispongano delle risorse necessarie per funzionare in modo ottimale, allinea l'allocazione delle risorse alle esigenze dei tuoi workload.
Per ottimizzare l'allocazione delle risorse cloud ai workload di AI e ML, prendi in considerazione i seguenti suggerimenti.
Utilizza la scalabilità automatica per adattare dinamicamente le risorse
Utilizza i servizi Google Cloud che supportano la scalabilità automatica, che regola automaticamente l'allocazione delle risorse in base alla domanda attuale. La scalabilità automatica offre i seguenti vantaggi:
- Ottimizzazione di costi e prestazioni: eviti di pagare per le risorse inattive. Allo stesso tempo, la scalabilità automatica garantisce che i tuoi sistemi dispongano delle risorse necessarie per funzionare in modo ottimale, anche in caso di carico di picco.
- Maggiore efficienza: il tuo team può concentrarsi su altre attività.
- Maggiore agilità: puoi rispondere rapidamente alle mutevoli esigenze e mantenere un'alta affidabilità per le tue applicazioni.
Le sezioni seguenti riassumono le tecniche che puoi utilizzare per implementare la scalabilità automatica per le diverse fasi dei tuoi progetti di AI.
Formazione
- Utilizza servizi gestiti come Gemini Enterprise Agent Platform o GKE, che offrono funzionalità di scalabilità automatica integrate per i job di addestramento.
- Configura le policy di scalabilità automatica per scalare il numero di istanze di addestramento in base a metriche come l'utilizzo della CPU, la memoria utilizzata e la lunghezza della coda dei job.
- Utilizza metriche di scalabilità personalizzate per ottimizzare il comportamento della scalabilità automatica per i tuoi workload specifici.
Inferenza
- Esegui il deployment dei tuoi modelli su piattaforme scalabili come Gemini Enterprise Agent Platform Inference, GPU su GKE o Cloud TPU su GKE.
- Utilizza le funzionalità di scalabilità automatica per regolare il numero di repliche in base a metriche come tasso di richieste, latenza e utilizzo delle risorse.
- Implementa il bilanciamento del carico per distribuire il traffico in modo uniforme tra le repliche e garantire un'alta affidabilità.
Inizia con modelli e set di dati di piccole dimensioni
Per ridurre i costi, testa le ipotesi di ML su piccola scala, se possibile, e utilizza un approccio iterativo. Questo approccio, con modelli e set di dati più piccoli, offre i seguenti vantaggi:
- Costi ridotti fin dall'inizio: una minore potenza di calcolo, uno spazio di archiviazione ridotto e un tempo di elaborazione più breve possono comportare costi inferiori durante le fasi iniziali di sperimentazione e sviluppo.
- Iterazione più rapida: è necessario meno tempo per l'addestramento, il che ti consente di eseguire l'iterazione più velocemente, esplorare approcci alternativi e identificare direzioni promettenti in modo più efficiente.
- Complessità ridotta: debug, analisi e interpretazione dei risultati più semplici, con conseguenti cicli di sviluppo più rapidi.
- Utilizzo efficiente delle risorse: minore probabilità di overprovisioning delle risorse. Esegui il provisioning solo delle risorse necessarie per il workload attuale.
Prendi in considerazione i seguenti consigli:
- Utilizza prima i dati campionati: addestra i modelli su un sottoinsieme rappresentativo dei tuoi dati. Questo approccio ti consente di valutare le prestazioni del modello e identificare potenziali problemi senza elaborare l'intero set di dati.
- Sperimenta utilizzando i blocchi note: inizia con istanze più piccole e scala in base alle esigenze. Puoi utilizzare Gemini Enterprise Agent Platform Workbench, un ambiente di notebook Jupyter gestito, adatto per la sperimentazione con diverse architetture di modelli e set di dati.
Inizia con modelli più semplici o preaddestrati: utilizza Model Garden per scoprire ed esplorare i modelli preaddestrati. Questi modelli richiedono meno risorse di calcolo. Aumenta gradualmente la complessità in base alle esigenze di prestazioni.
- Utilizza modelli preaddestrati per attività come la classificazione delle immagini e l'elaborazione del linguaggio naturale. Per risparmiare sui costi di addestramento, puoi ottimizzare i modelli su set di dati più piccoli inizialmente.
- Utilizza BigQuery ML per i dati strutturati. BigQuery ML consente di creare ed eseguire il deployment dei modelli direttamente in BigQuery. Questo approccio può essere conveniente per la sperimentazione iniziale, perché puoi sfruttare il modello di prezzi con pagamento per query per BigQuery.
Scalabilità per l'ottimizzazione delle risorse: utilizza l'infrastruttura flessibile di Google Cloudper scalare le risorse in base alle esigenze. Inizia con istanze più piccole e modifica le dimensioni o il numero quando necessario.
Scopri i requisiti delle risorse tramite la sperimentazione
I requisiti delle risorse per i workload di AI e ML possono variare in modo significativo. Per ottimizzare l'allocazione delle risorse e i costi, devi comprendere le esigenze specifiche dei tuoi workload attraverso una sperimentazione sistematica. Per identificare la configurazione più efficiente per i tuoi modelli, testa diverse configurazioni e analizza le loro prestazioni. Quindi, in base ai requisiti, dimensiona correttamente le risorse che hai utilizzato per l'addestramento e la pubblicazione.
Per la sperimentazione, ti consigliamo il seguente approccio:
- Inizia con una base di riferimento: inizia con una configurazione di base basata sulle tue stime iniziali dei requisiti del workload. Per creare una base di riferimento, puoi utilizzare il Calcolatore prezzi diGoogle Cloud per i nuovi workload o utilizzare un report sulla fatturazione esistente.
- Comprendi le quote: prima di lanciare esperimenti estesi, acquisisci familiarità con lequotedel progetto Google Cloud per le risorse e le API che prevedi di utilizzare. Le quote determinano la gamma di configurazioni che puoi testare realisticamente. Se acquisisci familiarità con le quote, puoi lavorare entro i limiti delle risorse disponibili durante la fase di sperimentazione.
- Sperimenta sistematicamente: regola parametri come il numero di CPU, la quantità di memoria, il numero e il tipo di GPU e Cloud TPU e la capacità di archiviazione. Gemini Enterprise Agent Platform Managed Training e Agent Platform Inference ti consentono di sperimentare diversi tipi e configurazioni di macchine.
Monitora l'utilizzo, i costi e le prestazioni: monitora l'utilizzo delle risorse, i costi e le metriche chiave sul rendimento, come il tempo di addestramento, la latenza di inferenza e l'accuratezza del modello, per ogni configurazione con cui sperimenti.
- Per monitorare l'utilizzo delle risorse e le metriche sul rendimento, puoi utilizzare la console Agent Platform.
- Per raccogliere e analizzare metriche sul rendimento dettagliate, utilizza Monitoring.
- Per visualizzare i costi, utilizza i report sulla fatturazione Cloud e le dashboard di Monitoring.
- Per identificare i colli di bottiglia delle prestazioni nei modelli e ottimizzare l'utilizzo delle risorse, utilizza strumenti di profilazione come TensorBoard di Agent Platform.
Analizza i costi: confronta il costo e le prestazioni di ogni configurazione per identificare l'opzione più conveniente.
Stabilisci soglie delle risorse e target di miglioramento in base alle quote: definisci le soglie per quando la scalabilità inizia a produrre rendimenti decrescenti in termini di prestazioni, ad esempio una riduzione minima del tempo di addestramento o della latenza per un aumento significativo dei costi. Quando imposti queste soglie, tieni conto delle quote del progetto. Determina il punto in cui il costo e le potenziali implicazioni relative alla quota di un ulteriore scale up non sono più giustificati dai miglioramenti delle prestazioni.
Perfeziona in modo iterativo: ripeti il processo di sperimentazione con configurazioni perfezionate in base ai risultati. Assicurati sempre che l'utilizzo delle risorse rimanga entro le quote di allocazione allocate e sia in linea con le soglie di costi-benefici stabilite.
Utilizza MLOps per ridurre le inefficienze
Poiché le organizzazioni utilizzano sempre più il ML per promuovere l'innovazione e l'efficienza, la gestione efficace del ciclo di vita del ML diventa fondamentale. Le operazioni di ML (MLOps) sono un insieme di pratiche che automatizzano e semplificano il ciclo di vita del ML, dallo sviluppo del modello al deployment e al monitoraggio.
Allinea MLOps ai fattori di costo
Per sfruttare MLOps per l'efficienza dei costi, identifica i principali fattori di costo nel ciclo di vita del ML. In questo modo, puoi adottare e implementare pratiche MLOps allineate ai fattori di costo. Dai la priorità e adotta le funzionalità MLOps che affrontano i fattori di costo più significativi. Questo approccio contribuisce a garantire un percorso gestibile e di successo verso un risparmio significativo sui costi.
Implementa MLOps per l'ottimizzazione dei costi
Di seguito sono riportate alcune pratiche MLOps comuni che aiutano a ridurre i costi:
- Controllo della versione: strumenti come Git possono aiutarti a monitorare le versioni di codice, dati e modelli. Il controllo della versione garantisce la riproducibilità, facilita la collaborazione e previene costose rilavorazioni che possono essere causate da problemi di controllo della versione.
- Integrazione continua e distribuzione continua (CI/CD): Cloud Build e Artifact Registry ti consentono di implementare pipeline CI/CD per automatizzare la creazione, i test e il deployment dei tuoi modelli di ML. Le pipeline CI/CD garantiscono un utilizzo efficiente delle risorse e riducono al minimo i costi associati agli interventi manuali.
- Osservabilità: Monitoring e Logging consentono di monitorare le prestazioni del modello in produzione, identificare i problemi e attivare avvisi per un intervento proattivo. L'osservabilità ti consente di mantenere l'accuratezza del modello, ottimizzare l'allocazione delle risorse e prevenire costosi tempi di inattività o degrado delle prestazioni.
- Riqualificazione del modello: le pipeline di Gemini Enterprise Agent Platform semplificano i processi per riqualificare i modelli periodicamente o quando le prestazioni peggiorano. L'utilizzo delle pipeline di Agent Platform per l'addestramento contribuisce a garantire che i modelli rimangano accurati ed efficienti, il che può prevenire un consumo di risorse non necessario e mantenere prestazioni ottimali.
- Test e valutazione automatizzati: Agent Platform ti aiuta ad accelerare e standardizzare la valutazione dei modelli. Implementa test automatizzati durante l'intero ciclo di vita del ML per garantire la qualità e l'affidabilità dei tuoi modelli. Questi test possono aiutarti a rilevare tempestivamente gli errori, prevenire problemi costosi in produzione e ridurre la necessità di test manuali approfonditi.
Per saperne di più, consulta MLOps: pipeline di distribuzione continua e automazione nel machine learning.
Applicare pratiche di gestione dei dati e governance
Pratiche efficaci di gestione dei dati e governance sono fondamentali per l'ottimizzazione dei costi. Dati ben organizzati possono incoraggiare i team a riutilizzare i set di dati, evitare inutili duplicazioni e ridurre lo sforzo per ottenere dati di alta qualità. Gestendo i dati in modo proattivo, puoi ridurre i costi di archiviazione, migliorare la qualità dei dati e assicurarti che i tuoi modelli di ML vengano addestrati sui dati più pertinenti e preziosi.
Per implementare pratiche di gestione dei dati e governance dei dati, prendi in considerazione i seguenti suggerimenti.
Stabilisci e adotta un framework di governance dei dati
La crescente importanza dell'AI e del ML ha reso i dati l'asset più prezioso per le organizzazioni che stanno affrontando la trasformazione digitale. Un framework solido per la governance dei dati è un requisito fondamentale per gestire i workload di AI e ML in modo conveniente su larga scala. Un framework di governance dei dati con policy, procedure e ruoli chiaramente definiti fornisce un approccio strutturato per la gestione dei dati durante il loro ciclo di vita. Questo framework contribuisce a migliorare la qualità dei dati, la sicurezza e l'utilizzo, nonché a ridurre la ridondanza.
Stabilisci un framework di governance dei dati
Esistono molti framework preesistenti per la governance dei dati, come quelli pubblicati dall'EDM Council, con opzioni disponibili per diversi settori e dimensioni delle organizzazioni. Scegli e adatta un framework in linea con le tue esigenze e priorità specifiche.
Implementa il framework di governance dei dati
Google Cloud fornisce i seguenti servizi e strumenti per aiutarti a implementare un framework di governance dei dati solido:
Knowledge Catalog è un data fabric intelligente che ti aiuta a unificare i dati distribuiti e ad automatizzare la governance dei dati senza la necessità di consolidare i set di dati in un unico posto. In questo modo, è possibile ridurre i costi di distribuzione e manutenzione dei dati, facilitare il rilevamento dei dati e promuovere il riutilizzo.
- Per organizzare i dati, utilizza le astrazioni di Knowledge Catalog e configura i domini di dati e i prodotti di dati.
- Per amministrare l'accesso agli asset di dati e alle risorse di governance, utilizza i gruppi Google e i ruoli IAM (Identity and Access Management) di Knowledge Catalog.
- Per semplificare i processi di qualità dei dati, attiva la qualità dei dati automatica.
Knowledge Catalog è anche un servizio di gestione dei metadati completamente gestito e scalabile. Il catalogo fornisce una base che garantisce che gli asset di dati siano accessibili e riutilizzabili.
- I metadati provenienti dalle origini Google Cloud supportate vengono importati automaticamente nel catalogo. Per le origini dati esterne a Google Cloud, crea voci personalizzate.
- Per migliorare la rilevabilità e la gestione degli asset di dati, arricchisci i metadati tecnici con i metadati aziendali utilizzando gli aspetti.
- Assicurati che i data scientist e i professionisti del ML dispongano di autorizzazioni sufficienti per accedere a Knowledge Catalog e utilizzare la funzione di ricerca.
La condivisione di BigQuery ti consente di scambiare in modo efficiente e sicuro gli asset di dati tra le tue organizzazioni per far fronte alle sfide legate all'affidabilità e al costo dei dati.
- Configura gli scambi di dati e assicurati che gli asset di dati selezionati possano essere visualizzati come schede.
- Utilizza le data clean room per gestire in modo sicuro l'accesso ai dati sensibili e collaborare in modo efficiente con team e organizzazioni esterni su progetti di AI e ML.
- Assicurati che i data scientist e i professionisti del ML dispongano di autorizzazioni sufficienti per visualizzare e pubblicare i set di dati in BigQuery sharing.
Rendi i set di dati e le caratteristiche riutilizzabili durante l'intero ciclo di vita del ML
Per ottenere vantaggi significativi in termini di efficienza e costi, riutilizza i set di dati e le caratteristiche in più progetti di ML. Evitando attività ridondanti di data engineering e sviluppo delle caratteristiche, la tua organizzazione può accelerare lo sviluppo dei modelli, ridurre i costi dell'infrastruttura e liberare risorse preziose per altre attività critiche.
Google Cloud fornisce i seguenti servizi e strumenti per aiutarti a riutilizzare set di dati e caratteristiche:
- I professionisti dei dati e del ML possono pubblicare prodotti di dati per massimizzare il riutilizzo tra i team. I prodotti dati possono quindi essere scoperti e utilizzati tramite Knowledge Catalog e la condivisione di BigQuery.
- Per i set di dati tabulari e strutturati, puoi utilizzare Feature Store di Agent Platform per promuovere la riusabilità e semplificare la gestione delle caratteristiche tramite BigQuery.
- Puoi archiviare dati non strutturati in Cloud Storage e gestirli utilizzando tabelle di oggetti BigQuery e URL firmati.
- Puoi gestire i vector embedding includendo i metadati negli indici di Vector Search.
Automatizza e semplifica con MLOps
Un vantaggio principale dell'adozione di pratiche MLOps è la riduzione dei costi per la tecnologia e il personale. L'Automation ti aiuta a evitare la duplicazione delle attività di ML e a ridurre il carico di lavoro per data scientist e ML engineer.
Per automatizzare e semplificare lo sviluppo ML con MLOps, prendi in considerazione i seguenti consigli.
Automatizza e standardizza la raccolta e l'elaborazione dei dati
Per ridurre l'impegno e il tempo necessari per lo sviluppo del ML, automatizza e standardizza le tecnologie di raccolta ed elaborazione dei dati.
Automatizza la raccolta e l'elaborazione dei dati
Questa sezione riassume i prodotti, gli strumenti e le tecniche che puoi utilizzare per automatizzare la raccolta dei dati e l'elaborazione.
Identifica e scegli le origini dati pertinenti per le tue attività di AI e ML:
- Opzioni di database come Cloud SQL, Spanner, AlloyDB per PostgreSQL, Firestore e BigQuery. La scelta dipende dai tuoi requisiti, ad esempio la latenza per l'accesso in scrittura (statico o dinamico), il volume dei dati (alto o basso) e il formato dei dati (strutturato, non strutturato o semistrutturato). Per saperne di più, consulta i databaseGoogle Cloud .
- Data lake come Cloud Storage con BigLake.
- Knowledge Catalog per la governance dei dati tra le origini.
- Piattaforme di eventi in streaming come Pub/Sub, Dataflow o Apache Kafka.
- API esterne.
Per ogni origine dati, scegli uno strumento di importazione:
- Dataflow: per l'elaborazione batch e dei flussi di dati provenienti da varie origini, con integrazione dei componenti ML. Per un'architettura basata su eventi, puoi combinare Dataflow con Eventarc per elaborare in modo efficiente i dati per il ML. Per migliorare l'efficienza dei job MLOps e ML, utilizza le funzionalità GPU e di adattamento ottimale.
- Cloud Run Functions: per l'importazione dati basata su eventi attivata da modifiche nelle origini dati per le applicazioni in tempo reale.
- BigQuery: per l'importazione dati tabulari classici con accesso frequente.
Scegli gli strumenti per la trasformazione e il caricamento dei dati:
- Utilizza strumenti come Dataflow o Dataform per automatizzare le trasformazioni dei dati, come lo scale delle caratteristiche, la codifica delle variabili categoriche e la creazione di nuove caratteristiche in batch, in streaming o in tempo reale. Gli strumenti che selezioni dipendono dai tuoi requisiti e dai servizi scelti.
- Utilizza Feature Store per automatizzare la creazione e la gestione delle caratteristiche. Puoi centralizzare le caratteristiche per riutilizzarle in diversi modelli e progetti.
Standardizza la raccolta e l'elaborazione dei dati
Per rilevare, comprendere e gestire gli asset di dati, utilizza i servizi di gestione dei metadati come Knowledge Catalog. Ti aiuta a standardizzare le definizioni dei dati e a garantire la coerenza in tutta l'organizzazione.
Per applicare la standardizzazione ed evitare i costi di manutenzione di più implementazioni personalizzate, utilizza pipeline di addestramento e orchestrazione automatizzate. Per saperne di più, consulta la sezione successiva.
Automatizza le pipeline di addestramento e riutilizza gli asset esistenti
Per aumentare l'efficienza e la produttività in MLOps, le pipeline di addestramento automatizzate sono fondamentali. Google Cloud offre un solido set di strumenti e servizi per creare ed eseguire il deployment delle pipeline di addestramento, con una forte enfasi sul riutilizzo degli asset esistenti. Le pipeline di addestramento automatizzate aiutano ad accelerare lo sviluppo dei modelli, garantire la coerenza e ridurre gli sforzi ridondanti.
Automatizza le pipeline di addestramento
La tabella seguente descrive i servizi e le funzionalità Google Cloud che puoi utilizzare per automatizzare le diverse funzioni di una pipeline di addestramento.
| Funzione | Google Cloud servizi e funzionalità |
|---|---|
| Orchestrazione: definisci workflow di ML complessi costituiti da più passaggi e dipendenze. Puoi definire ogni passaggio come un'attività containerizzata separata, il che ti aiuta a gestire e scalare facilmente le singole attività. |
|
| Controllo delle versioni: monitora e controlla le diverse versioni di pipeline e componenti per garantire la riproducibilità e l'auditabilità. | Archivia i modelli di pipeline Kubeflow in un repository Kubeflow Pipelines in Artifact Registry. |
| Riutilizzabilità: riutilizza i componenti e gli artefatti della pipeline esistenti, come i set di dati preparati e i modelli addestrati, per accelerare lo sviluppo. | Archivia i template di pipeline in Cloud Storage e condividili con la tua organizzazione. |
| Monitoraggio: monitora l'esecuzione della pipeline per identificare e risolvere eventuali problemi. | Utilizza Logging e Monitoring. Per saperne di più, consulta Monitora le risorse in modo continuo con dashboard, avvisi e report. |
Espandi la riusabilità oltre le pipeline
Cerca opportunità per espandere la riusabilità oltre le pipeline di addestramento. Di seguito sono riportati esempi di funzionalità di Google Cloud che ti consentono di riutilizzare caratteristiche, set di dati, modelli e codice ML.
- Feature Store fornisce un repository centralizzato per l'organizzazione, l'archiviazione e la distribuzione di caratteristiche di ML. Consente di riutilizzare le caratteristiche in progetti e modelli diversi, il che può migliorare la coerenza e ridurre l'impegno di feature engineering. Puoi archiviare, condividere e accedere alle caratteristiche per casi d'uso sia online che offline.
- I set di dati di Agent Platform consentono ai team di creare e gestire i set di dati in modo centralizzato, in modo che la tua organizzazione possa massimizzare la riusabilità e ridurre la duplicazione dei dati. I tuoi team possono cercare e scoprire i set di dati utilizzando Knowledge Catalog.
- Model Registry su Gemini Enterprise Agent Platform consente di archiviare, gestire ed eseguire il deployment dei modelli addestrati. Model Registry ti consente di riutilizzare i modelli nelle pipeline successive o per la previsione online, il che ti aiuta a sfruttare gli sforzi di addestramento precedenti.
- I container personalizzati ti consentono di pacchettizzare il codice di addestramento e le dipendenze in container e di archiviarli in Artifact Registry. I container personalizzati ti consentono di fornire ambienti di addestramento coerenti e riproducibili in pipeline e progetti diversi.
Utilizza i servizi Google Cloud per la valutazione e l'ottimizzazione dei modelli
Google Cloud offre una potente suite di strumenti e servizi per semplificare e automatizzare la valutazione e l'ottimizzazione dei modelli. Questi strumenti e servizi possono aiutarti a ridurre i tempi di produzione e le risorse necessarie per l'addestramento e il monitoraggio continui. Utilizzando questi servizi, i tuoi team di AI e ML possono migliorare le prestazioni dei modelli con meno iterazioni costose, ottenere risultati più rapidi e ridurre al minimo lo spreco di risorse di computing.
Utilizza la valutazione e la sperimentazione dei modelli con un uso efficiente delle risorse
Inizia un progetto di AI con esperimenti prima di fare lo scale up della tua soluzione. Nei tuoi esperimenti, monitora vari metadati, come la versione del set di dati, i parametri del modello e il tipo di modello. Per una maggiore riproducibilità e un confronto dei risultati, utilizza il monitoraggio dei metadati oltre al controllo delle versioni del codice, in modo simile alle funzionalità di Git. Per evitare di perdere informazioni o di eseguire il deployment della versione sbagliata in produzione, utilizza Esperimenti su Agent Platform prima di implementare job di deployment o addestramento su larga scala.
Experiments on Agent Platform consente di:
- Semplifica e automatizza il monitoraggio e il rilevamento dei metadati tramite un'interfaccia utente e un'API facili da usare per i workload pronti per la produzione.
- Analizza le metriche sul rendimento del modello e confrontale tra più modelli.
Dopo l'addestramento del modello, monitora continuamente le prestazioni e la deviazione dei dati nel tempo per i dati in entrata. Per semplificare questo processo, utilizza Model Monitoring su Gemini Enterprise Agent Platform per accedere direttamente ai modelli creati in Model Registry. Model Monitoring su Agent Platform automatizza anche il monitoraggio dei dati e dei risultati tramite previsioni online e in batch. Puoi esportare i risultati in BigQuery per ulteriori analisi e monitoraggi.
Scegli le strategie ottimali per automatizzare l'addestramento
Per l'ottimizzazione degli iperparametri, consigliamo i seguenti approcci:
- Per automatizzare il processo di ricerca degli iperparametri ottimali per i tuoi modelli, utilizza l'ottimizzazione degli iperparametri di Agent Platform. Agent Platform utilizza algoritmi avanzati per esplorare lo spazio degli iperparametri e identificare la configurazione migliore.
- Per un'ottimizzazione efficiente degli iperparametri, valuta la possibilità di utilizzare tecniche di ottimizzazione bayesiana, soprattutto quando hai a che fare con modelli complessi e set di dati di grandi dimensioni.
Per l'addestramento distribuito, consigliamo i seguenti approcci:
Per set di dati di grandi dimensioni e modelli complessi, utilizza l'infrastruttura di addestramento distribuito di Agent Platform. Questo approccio ti consente di addestrare i modelli su più macchine, il che contribuisce a ridurre in modo significativo i tempi di addestramento e i costi associati. Utilizza strumenti come i seguenti:
- Ottimizzazione di Agent Platform per eseguire il fine-tuning supervisionato di Gemini, Imagen e altri modelli.
- Addestramento gestito di Agent Platform o Ray su Gemini Enterprise Agent Platform per l'addestramento distribuito personalizzato.
Scegli framework ML ottimizzati, come Keras e PyTorch, che supportano l'addestramento distribuito e l'utilizzo efficiente delle risorse.
Utilizza l'AI spiegabile
È fondamentale capire perché un modello prende determinate decisioni e identificare potenziali bias o aree di miglioramento. Utilizza tecniche di spiegabilità per ottenere insight sulle previsioni del modello.
- Basate sulle caratteristiche: per capire quali caratteristiche sono più influenti nelle previsioni del modello, analizza le attribuzioni delle caratteristiche. Questa comprensione può guidare le attività di feature engineering e migliorare l'interpretabilità del modello.
- Basate su esempi: per restituire un elenco degli esempi (di solito dal set di addestramento) più simili all'input, utilizza la ricerca del vicino più prossimo. Poiché input simili generalmente producono previsioni simili, puoi utilizzare queste spiegazioni per esplorare e spiegare il comportamento di un modello.
Utilizza servizi gestiti e modelli preaddestrati
Adotta un approccio incrementale alla selezione e allo sviluppo dei modelli. Questo approccio ti aiuta a evitare i costi eccessivi associati a un nuovo inizio ogni volta. Per controllare i costi, utilizza framework di ML, servizi gestiti e modelli preaddestrati.
Per ottenere il massimo valore dai servizi gestiti e dai modelli preaddestrati, tieni presente i seguenti consigli.
Utilizza i notebook per l'esplorazione e gli esperimenti
Gli ambienti Notebook sono fondamentali per una sperimentazione di ML conveniente. Un notebook fornisce uno spazio interattivo e collaborativo per data scientist e ingegneri per esplorare i dati, sviluppare modelli, condividere conoscenze ed eseguire iterazioni in modo efficiente. La collaborazione e la condivisione delle conoscenze tramite i notebook accelerano notevolmente lo sviluppo, le revisioni del codice e il trasferimento delle conoscenze. Notebooks aiutano a semplificare i flussi di lavoro e a ridurre le attività duplicate.
Anziché acquistare e gestire hardware costoso per il tuo ambiente di sviluppo, puoi utilizzare l'infrastruttura scalabile e on demand di Agent Platform Workbench e Colab Enterprise.
Agent Platform Workbench è un ambiente di sviluppo di blocchi note Jupyter per l'intero flusso di lavoro di data science. Puoi interagire con Agent Platform e altri servizi Google Cloud dall'interno del notebook Jupyter di un'istanza. Le integrazioni e le funzionalità di Agent Platform Workbench ti aiutano a:
- Accedere ai dati ed esplorarli da un blocco note Jupyter utilizzando le integrazioni di BigQuery e Cloud Storage.
- Automatizza gli aggiornamenti ricorrenti di un modello utilizzando esecuzioni pianificate del codice eseguito su Agent Platform.
- Elabora i dati rapidamente eseguendo un notebook su un cluster Managed Service for Apache Spark.
- Esegui un notebook come passaggio di una pipeline utilizzando le pipeline di Agent Platform.
Colab Enterprise è un ambiente di notebook gestito e collaborativo con le funzionalità di sicurezza e conformità di Google Cloud. Colab Enterprise è ideale se le priorità del tuo progetto includono lo sviluppo collaborativo e la riduzione dello sforzo per la gestione dell'infrastruttura. Colab Enterprise si integra con i serviziGoogle Cloud e l'assistenza basata sull'AI che utilizza Gemini. Colab Enterprise ti consente di:
- Lavora nei notebook senza dover gestire l'infrastruttura.
- Condividi un notebook con un singolo utente, un gruppo Google o un dominio Google Workspace. Puoi controllare l'accesso ai notebook tramite IAM.
- Interagire con le funzionalità integrate in Agent Platform e BigQuery.
Per monitorare le modifiche e ripristinare le versioni precedenti quando necessario, puoi integrare i tuoi notebook con strumenti di controllo della versione come Git.
Inizia con modelli esistenti e preaddestrati
L'addestramento di modelli complessi da zero, in particolare di modelli di deep learning, richiede risorse di calcolo e tempo significativi. Per accelerare il processo di selezione e sviluppo dei modelli, inizia con i modelli esistenti e preaddestrati. Questi modelli, addestrati su enormi set di dati, eliminano la necessità di addestrare i modelli da zero e riducono in modo significativo i costi e i tempi di sviluppo.
Riduci i costi di formazione e sviluppo
Seleziona un modello o un'API appropriati per ogni attività di ML e combinali per creare un processo di sviluppo ML end-to-end.
Model Garden offre una vasta raccolta di modelli preaddestrati per attività come la classificazione delle immagini, il rilevamento di oggetti e l'elaborazione del linguaggio naturale. I modelli sono raggruppati nelle seguenti categorie:
- Modelli Google come la famiglia di modelli Gemini e Imagen per la generazione di immagini.
- Modelli aperti come Gemma e Llama.
- Modelli di terze parti di partner come Anthropic.
Google Cloud fornisce API di AI e ML che consentono agli sviluppatori di integrare potenti funzionalità di AI nelle applicazioni senza la necessità di creare modelli da zero.
- L'API Cloud Vision ti consente di ricavare insight dalle immagini. Questa API è utile per applicazioni come l'analisi delle immagini, la moderazione dei contenuti e l'inserimento automatico dei dati.
- L'API Cloud Natural Language consente di analizzare il testo per comprenderne la struttura e il significato. Questa API è utile per attività come l'analisi dei feedback dei clienti, la categorizzazione dei contenuti e la comprensione delle tendenze dei social media.
- API Speech-to-Text: converte l'audio in testo. Questa API supporta un'ampia gamma di lingue e dialetti.
- L'API Document AI elabora i documenti per estrarre, classificare e comprendere i dati. Questa API ti aiuta ad automatizzare i flussi di lavoro di elaborazione dei documenti.
- L'API Dialogflow consente la creazione di interfacce di conversazione, come chatbot e assistenti vocali. Puoi utilizzare questa API per creare bot di assistenza clienti e assistenti virtuali.
- L'API Gemini fornisce l'accesso al modello di AI per finalità generali più potente di Google.
Riduci i costi di ottimizzazione
Per ridurre la necessità di dati estesi e tempi di calcolo, ottimizza i modelli preaddestrati su set di dati specifici. Consigliamo i seguenti approcci:
- Transfer learning: utilizza le conoscenze di un modello preaddestrato per una nuova attività, anziché iniziare da zero. Questo approccio richiede meno dati e tempo di calcolo, il che contribuisce a ridurre i costi.
- Ottimizzazione degli adattatori (ottimizzazione efficiente dei parametri): adatta i modelli a nuove attività o domini senza un fine-tuning completo. Questo approccio richiede risorse di calcolo significativamente inferiori e un set di dati più piccolo.
- Fine-tuning supervisionato: adatta il comportamento del modello con un set di dati etichettato. Questo approccio semplifica la gestione dell'infrastruttura sottostante e l'impegno di sviluppo richiesto per un job di addestramento personalizzato.
Esplora e sperimenta utilizzando Agent Studio su Gemini Enterprise Agent Platform
Agent Studio consente di testare, prototipare ed eseguire rapidamente il deployment di applicazioni di AI generativa.
- Integrazione con Model Garden: fornisce un accesso rapido ai modelli più recenti e consente di eseguirne il deployment in modo efficiente per risparmiare tempo e costi.
- Accesso unificato a modelli specializzati: consolida l'accesso a un'ampia gamma di modelli e API preaddestrati, tra cui quelli per chat, testo, contenuti multimediali, traduzione e voce. Questo accesso unificato può aiutarti a ridurre il tempo dedicato alla ricerca e all'integrazione dei singoli servizi.
Utilizza i servizi gestiti per addestrare o pubblicare i modelli
I servizi gestiti possono contribuire a ridurre i costi di addestramento dei modelli e semplificare la gestione dell'infrastruttura, consentendoti di concentrarti sullo sviluppo e sull'ottimizzazione dei modelli. Questo approccio può comportare vantaggi significativi in termini di costi e una maggiore efficienza.
Riduci l'overhead operativo
Per ridurre la complessità e i costi di gestione dell'infrastruttura, utilizza servizi gestiti come i seguenti:
- Agent Platform Managed Training fornisce un ambiente completamente gestito per l'addestramento dei modelli su larga scala. Puoi scegliere tra vari container predefiniti con framework ML più utilizzati o utilizzare i tuoi container personalizzati. Google Cloud gestisce il provisioning, la scalabilità e la manutenzione dell'infrastruttura, riducendo così l'overhead operativo.
- Agent Platform Inference gestisce la scalabilità dell'infrastruttura, il bilanciamento del carico e il routing delle richieste. Ottieni alta affidabilità e prestazioni senza intervento manuale.
- Ray su Gemini Enterprise Agent Platform fornisce un cluster Ray completamente gestito. Puoi utilizzare il cluster per eseguire workload di AI personalizzati complessi che eseguono molti calcoli (ottimizzazione degli iperparametri, ottimizzazione del modello, addestramento del modello distribuito e apprendimento per rinforzo con feedback umano) senza dover gestire la tua infrastruttura.
Utilizza i servizi gestiti per ottimizzare l'utilizzo delle risorse
Per informazioni dettagliate sull'utilizzo efficiente delle risorse, consulta Ottimizza l'allocazione delle risorse.
Collaboratori
Autori:
- Isaac Lo | AI Business Development Manager
- Anastasia Prokaeva | Field Solutions Architect, AI generativa
- Amy Southwood | Technical Solutions Consultant, Data Analytics, and AI
Altri collaboratori:
- Filipe Gracio, PhD | Customer Engineer, AI/ML Specialist
- Kumar Dhanagopal | Cross-Product Solution Developer
- Marwan Al Shawi | Partner Customer Engineer
- Nicolas Pintaux | Customer Engineer, Application Modernization Specialist