Prospettiva IA e ML: ottimizzazione dei costi

Last reviewed 2025-05-28 UTC

Questo documento in Well-Architected Framework: prospettiva AI e ML fornisce una panoramica dei principi e dei suggerimenti per ottimizzare il costo dei sistemi di AI durante il ciclo di vita del machine learning. Adottando un approccio proattivo e informato alla gestione dei costi, la tua organizzazione può realizzare tutto il potenziale dei sistemi AI e ML e mantenere la disciplina finanziaria. I suggerimenti contenuti in questo documento sono in linea con il pilastro dell'ottimizzazione dei costi del Google Cloud Well-Architected Framework.

I sistemi di AI e ML possono aiutarti a ottenere approfondimenti preziosi e funzionalità predittive dai dati. Ad esempio, puoi ridurre gli attriti nei processi interni, migliorare l'esperienza utente e ottenere insight più approfonditi sui clienti. Il cloud offre grandi quantità di risorse e un time-to-value rapido senza grandi investimenti iniziali per i carichi di lavoro di AI e ML. Per massimizzare il valore aziendale e allineare la spesa agli obiettivi aziendali, devi comprendere i fattori di costo, ottimizzare in modo proattivo i costi, configurare i controlli della spesa e adottare le pratiche FinOps.

I consigli contenuti in questo documento sono mappati ai seguenti principi fondamentali:

Definisci e misura costi e rendimenti

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, ad esempio:

  • Report e tabelle della fatturazione Cloud
  • Dashboard, budget e avvisi di Looker Studio
  • Cloud Monitoring
  • Cloud Logging

Per prendere decisioni informate sull'allocazione e l'ottimizzazione delle risorse, tieni presente i seguenti suggerimenti.

Stabilisci gli obiettivi commerciali e i KPI

Allinea le scelte tecniche nei tuoi progetti di AI e ML agli obiettivi aziendali e agli indicatori chiave di prestazione (KPI).

Definisci obiettivi strategici e KPI incentrati sul ROI

Assicurati che i progetti di AI e ML siano in linea con gli obiettivi strategici, come crescita del fatturato, riduzione dei costi, soddisfazione dei clienti ed efficienza. Coinvolgi gli stakeholder per comprendere le priorità aziendali. Definisci obiettivi di AI e ML che siano specifici, misurabili, attuabili, pertinenti e in un tempo definito (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 risorse di addestramento, inferenza, archiviazione e rete, inclusi costi unitari specifici (ad esempio il costo per inferenza, punto dati o attività). Queste metriche ti aiutano a ottenere informazioni sulle opportunità di efficienza e ottimizzazione dei costi. Puoi monitorare questi costi utilizzando i report di fatturazione Cloud e i pannelli di Cloud Monitoring.
  • Metriche sul valore aziendale come crescita delle entrate, risparmio sui costi, soddisfazione dei clienti, efficienza, precisione e adozione. Puoi monitorare queste metriche utilizzando BigQuery Analytics e dashboard Looker.
  • Metriche specifiche del settore, come le seguenti:

    • Settore della vendita al dettaglio: misura l'incremento delle entrate e il churn
    • Settore sanitario: misura il tempo dei pazienti e i risultati per i pazienti
    • Settore finanziario: misura la riduzione delle frodi
  • Metriche specifiche del progetto. Puoi monitorare queste metriche utilizzando Vertex AI Experiments e valutazione.

    • AI predittiva: misura l'accuratezza e la precisione
    • AI generativa: misura l'adozione, la soddisfazione e la qualità dei contenuti
    • AI per la visione artificiale: misura l'accuratezza

Promuovere una cultura della consapevolezza dei costi e dell'ottimizzazione continua

Adotta i principi di FinOps per garantire che ogni progetto di AI e ML abbia costi stimati e modi per misurare e monitorare i costi effettivi durante il suo ciclo di vita. Assicurati che i costi e i vantaggi aziendali dei tuoi progetti abbiano proprietari assegnati e una responsabilità chiara.

Per ulteriori informazioni, consulta Promuovere una cultura della consapevolezza dei costi nel pilastro Ottimizzazione dei costi del Google Cloud Well-Architected Framework.

Generare valore e ottimizzazione continua tramite iterazione e feedback

Mappa le tue applicazioni di AI e ML direttamente in base ai tuoi obiettivi aziendali e misura il ROI.

Per convalidare le ipotesi sul ROI, inizia con progetti pilota e utilizza il seguente ciclo di ottimizzazione iterativo:

  1. Monitora continuamente e analizza i dati: monitora i KPI e i costi per identificare deviazioni e opportunità di ottimizzazione.
  2. Apportare modifiche basate sui dati: ottimizza strategie, modelli, infrastruttura e allocazione delle risorse in base agli approfondimenti sui dati.
  3. Perfezionamento iterativo: adatta gli obiettivi aziendali e i KPI in base a ciò che hai imparato e alle esigenze aziendali in evoluzione. Questa iterazione ti aiuta a mantenere la pertinenza e l'allineamento strategico.
  4. Crea un ciclo di feedback: esamina il rendimento, i costi e il valore con gli stakeholder per informare l'ottimizzazione continua e la pianificazione dei progetti futuri.

Gestire i dati di fatturazione con la fatturazione Cloud e le etichette

Un'ottimizzazione efficace dei costi richiede visibilità sull'origine di ogni elemento di costo. I suggerimenti in questa sezione possono aiutarti a utilizzare Google Cloud strumenti per ottenere informazioni dettagliate sui costi di AI e ML. Puoi anche attribuire i costi a progetti, team e attività specifici di AI e ML. Questi approfondimenti pongono le basi per l'ottimizzazione dei costi.

Organizzare ed etichettare le risorse Google Cloud

  • Struttura i tuoi progetti e le tue risorse in una gerarchia che rifletta la tua struttura organizzativa e i tuoi flussi di lavoro di AI e ML. Per monitorare e analizzare i costi a diversi livelli, organizza le risorse Google Cloud utilizzando organizzazioni, cartelle e progetti. Per ulteriori informazioni, vedi Decidere una gerarchia delle risorse per la Google Cloud landing zone.
  • 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 rendimento. 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 garantiscono che i dati di fatturazione siano organizzati e possano essere analizzati facilmente.
  • Per facilitare l'analisi e la generazione di report dettagliati, esporta i dati di fatturazione in BigQuery. BigQuery offre potenti funzionalità di query che ti consentono di analizzare i dati di fatturazione per comprendere meglio i costi.
  • Per aggregare i costi per etichette, progetti o periodi di tempo specifici, puoi scrivere query SQL personalizzate in BigQuery. Queste query ti consentono di attribuire i costi ad attività specifiche di AI e ML, come l'addestramento del modello, l'ottimizzazione degli iperparametri o l'inferenza.
  • Per identificare anomalie nei 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 carichi di lavoro di AI e ML.
  • Per identificare e gestire i costi imprevisti, utilizza la dashboard di rilevamento delle anomalie nel fatturazione Cloud.
  • Per distribuire i costi tra team o reparti diversi 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 informazioni sui modelli di spesa, esplora i report di fatturazione Cloud predefiniti. Puoi filtrare e personalizzare questi report per concentrarti su progetti o servizi specifici di AI e ML.

Monitorare continuamente le risorse con dashboard, avvisi e report

Per creare un modo scalabile e resiliente per monitorare i costi, devi monitorare e generare report in modo continuo. Dashboard, avvisi e report costituiscono la base per un monitoraggio efficace dei costi. Questa base ti consente di mantenere l'accesso costante alle informazioni sui costi, identificare le aree di ottimizzazione e garantire l'allineamento tra gli obiettivi aziendali e i costi.

Creare un sistema di segnalazione

Crea report pianificati e condividili con gli stakeholder appropriati.

Utilizza Cloud Monitoring per raccogliere metriche da varie origini, tra cui applicazioni, infrastruttura e Google Cloud servizi come Compute Engine, Google Kubernetes Engine (GKE) e le funzioni Cloud Run. Per visualizzare metriche e log in tempo reale, puoi utilizzare la dashboard di Cloud Monitoring predefinita o creare dashboard personalizzate. Le dashboard personalizzate ti consentono di definire e aggiungere metriche per monitorare aspetti specifici dei tuoi sistemi, come il rendimento del modello, le chiamate API o i KPI a livello aziendale.

Utilizza Cloud 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 over-provisioning (in cui le risorse non vengono utilizzate completamente) e di under-provisioning (in cui le risorse sono insufficienti). Il provisioning eccessivo comporta costi inutili. 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 dimensionarle correttamente per ottimizzare i costi.
  • Identifica i picchi di costi per rilevare aumenti improvvisi e imprevisti dell'utilizzo delle risorse o dei costi.

Utilizza Looker o Looker Studio per creare dashboard e report interattivi. Collega i dashboard e i report a varie origini dati, tra cui BigQuery e Cloud Monitoring.

Impostare le soglie di avviso in base ai KPI chiave

Per i KPI, determina le soglie che devono attivare gli avvisi. Soglie di avviso significative possono aiutarti a evitare l'affaticamento da avvisi. Crea criteri di avviso in Cloud 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 in tempo reale di potenziali problemi di costi. Questi avvisi ti consentono di intraprendere azioni correttive tempestive ed evitare ulteriori perdite finanziarie.

Ottimizzare l'allocazione delle risorse

Per ottenere l'efficienza dei costi per i tuoi carichi di lavoro AI e ML in Google Cloud, devi ottimizzare l'allocazione delle risorse. Per aiutarti a evitare spese inutili e garantire che i tuoi carichi di lavoro dispongano delle risorse necessarie per funzionare in modo ottimale, allinea l'allocazione delle risorse alle esigenze dei tuoi carichi di lavoro.

Per ottimizzare l'allocazione delle risorse cloud ai carichi di lavoro AI e ML, prendi in considerazione i seguenti suggerimenti.

Utilizza la scalabilità automatica per adattare dinamicamente le risorse

Utilizza Google Cloud servizi 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 dei costi e delle prestazioni: eviti di pagare per le risorse inattive. Allo stesso tempo, la scalabilità automatica garantisce che i sistemi dispongano delle risorse necessarie per funzionare in modo ottimale, anche in caso di picchi di carico.
  • Maggiore efficienza: il tuo team può concentrarsi su altre attività.
  • Maggiore agilità: puoi rispondere rapidamente alle mutevoli esigenze e mantenere un'elevata disponibilità per le tue applicazioni.

La seguente tabella riassume le tecniche che puoi utilizzare per implementare lo scaling automatico per le diverse fasi dei tuoi progetti di AI.

Fase Tecniche di scalabilità automatica
Formazione
  • Utilizza servizi gestiti come Vertex AI o GKE, che offrono funzionalità di scalabilità automatica integrate per i job di addestramento.
  • Configura i criteri di scalabilità automatica per scalare il numero di istanze di addestramento in base a metriche come l'utilizzo della CPU, l'utilizzo della memoria e la lunghezza della coda dei job.
  • Utilizza metriche di scalabilità personalizzate per perfezionare il comportamento della scalabilità automatica per i tuoi carichi di lavoro specifici.
Inferenza
  • Esegui il deployment dei modelli su piattaforme scalabili come Vertex AI Inference, GPU su GKE, o TPU su GKE.
  • Utilizza le funzionalità di scalabilità automatica per regolare il numero di repliche in base a metriche come il tasso di richieste, la latenza e l'utilizzo delle risorse.
  • Implementa il bilanciamento del carico per distribuire il traffico in modo uniforme tra le repliche e garantire l'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: meno potenza di calcolo, spazio di archiviazione e tempo di elaborazione possono comportare costi inferiori durante le fasi iniziali di sperimentazione e sviluppo.
  • Iterazione più rapida: è necessario meno tempo di addestramento, il che ti consente di iterare più rapidamente, esplorare approcci alternativi e identificare direzioni promettenti in modo più efficiente.
  • Complessità ridotta: debug, analisi e interpretazione dei risultati più semplici, il che porta a cicli di sviluppo più rapidi.
  • Utilizzo efficiente delle risorse: ridotta probabilità di provisioning eccessivo delle risorse. Esegui il provisioning solo delle risorse necessarie per il carico di lavoro attuale.

Prendi in considerazione i seguenti consigli:

  • Utilizza prima i dati di esempio: 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 notebook: inizia con istanze più piccole e scalale in base alle esigenze. Puoi utilizzare Vertex AI Workbench, un ambiente di notebook Jupyter gestito, ideale per sperimentare diverse architetture di modelli e set di dati.
  • Inizia con modelli più semplici o preaddestrati: utilizza Vertex AI 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 rendimento.

    • 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 inizialmente su set di dati più piccoli.
    • Utilizza BigQuery ML per i dati strutturati. BigQuery ML ti consente di creare ed eseguire il deployment di 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 regola le dimensioni o il numero quando necessario.

Scopri i requisiti delle risorse tramite la sperimentazione

I requisiti delle risorse per i carichi di lavoro 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, prova diverse configurazioni e analizza il loro rendimento. Poi, in base ai requisiti, dimensiona correttamente le risorse che hai utilizzato per l'addestramento e la pubblicazione.

Ti consigliamo il seguente approccio per la sperimentazione:

  1. Inizia con una baseline: inizia con una configurazione di base basata sulle stime iniziali dei requisiti del workload. Per creare una baseline, puoi utilizzare lo strumento di stima dei costi per i nuovi carichi di lavoro o un report di fatturazione esistente. Per ulteriori informazioni, consulta Unlock the true cost of enterprise AI on Google Cloud.
  2. Comprendi le tue quote: prima di lanciare esperimenti su larga scala, familiarizza con le quote del tuo Google Cloud progetto per le risorse e le API che prevedi di utilizzare. Le quote determinano l'intervallo di configurazioni che puoi testare in modo realistico. Se acquisisci familiarità con le quote, puoi lavorare entro i limiti delle risorse disponibili durante la fase di sperimentazione.
  3. Sperimenta in modo sistematico: modifica parametri come il numero di CPU, la quantità di memoria, il numero e il tipo di GPU e TPU e la capacità di archiviazione. Vertex AI Training e Vertex AI Predictions ti consentono di sperimentare diversi tipi e configurazioni di macchine.
  4. Monitora utilizzo, costi e prestazioni: monitora l'utilizzo delle risorse, i costi e le metriche chiave delle prestazioni, come il tempo di addestramento, la latenza di inferenza e l'accuratezza del modello, per ogni configurazione che sperimenti.

    • Per monitorare l'utilizzo delle risorse e le metriche sulle prestazioni, puoi utilizzare la console Vertex AI.
    • Per raccogliere e analizzare metriche dettagliate sul rendimento, utilizza Cloud Monitoring.
    • Per visualizzare i costi, utilizza i report di fatturazione Cloud e le dashboard di Cloud Monitoring.
    • Per identificare i colli di bottiglia nelle prestazioni dei tuoi modelli e ottimizzare l'utilizzo delle risorse, utilizza strumenti di profilazione come Vertex AI TensorBoard.
  5. Analizza i costi: confronta il costo e le prestazioni di ogni configurazione per identificare l'opzione più conveniente.

  6. Stabilisci soglie delle risorse e target di miglioramento in base alle quote: definisci le soglie per quando lo scaling 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 della quota di un ulteriore scalabilità non sono più giustificati dai miglioramenti delle prestazioni.

  7. Perfezionamento iterativo: ripeti il processo di sperimentazione con configurazioni perfezionate in base ai risultati. Assicurati sempre che l'utilizzo delle risorse rimanga entro le quote assegnate e sia in linea con le soglie di costi-benefici stabilite.

Utilizzare MLOps per ridurre le inefficienze

Man mano che 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 machine learning (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.

Allineare MLOps ai fattori di costo

Per sfruttare MLOps per l'efficienza dei costi, identifica i principali fattori di costo nel ciclo di vita del machine learning. A questo punto, puoi adottare e implementare pratiche MLOps in linea con i fattori di costo. Dai la priorità e adotta le funzionalità MLOps che riguardano i fattori di costo più significativi. Questo approccio contribuisce a garantire un percorso gestibile e di successo verso un risparmio significativo dei costi.

Implementare MLOps per l'ottimizzazione dei costi

Di seguito sono riportate alcune pratiche MLOps comuni che contribuiscono a ridurre i costi:

  • Controllo della versione: strumenti come Git possono aiutarti a monitorare le versioni di codice, dati e modelli. Il controllo delle versioni garantisce la riproducibilità, facilita la collaborazione e previene costose rielaborazioni che possono essere causate da problemi di controllo delle versioni.
  • Integrazione e distribuzione continue (CI/CD): Cloud Build e Artifact Registry ti consentono di implementare pipeline CI/CD per automatizzare la creazione, il 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à: Cloud Monitoring e Cloud Logging ti 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 ed evitare costosi tempi di inattività o un calo delle prestazioni.
  • Riapprendimento del modello: Vertex AI Pipelines semplifica le procedure per il riaddestramento periodico dei modelli o quando le prestazioni peggiorano. Quando utilizzi Vertex AI Pipelines per il retraining, contribuisci a garantire che i tuoi modelli rimangano accurati ed efficienti, il che può impedire il consumo non necessario di risorse e mantenere prestazioni ottimali.
  • Test e valutazione automatizzati: Vertex AI 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 gli errori in anticipo, a evitare problemi costosi in produzione e a ridurre la necessità di test manuali approfonditi.

Per saperne di più, consulta MLOps: pipeline di distribuzione continua e automazione nel machine learning.

Applicare le pratiche di gestione e governance dei dati

Pratiche efficaci di gestione e governance dei dati sono fondamentali per l'ottimizzazione dei costi. Dati ben organizzati possono incoraggiare i team a riutilizzare i set di dati, evitare duplicazioni inutili e ridurre l'impegno necessario per ottenere dati di alta qualità. Gestendo in modo proattivo i dati, puoi ridurre i costi di archiviazione, migliorare la qualità dei dati e assicurarti che i tuoi modelli ML vengano addestrati sui dati più pertinenti e preziosi.

Per implementare pratiche di gestione e governance dei dati, prendi in considerazione i seguenti suggerimenti.

Stabilire e adottare 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 subendo una trasformazione digitale. Un framework solido per la governance dei dati è un requisito fondamentale per gestire i workload di AI e ML in modo economicamente vantaggioso su larga scala. Un framework di governance dei dati con criteri, procedure e ruoli chiaramente definiti fornisce un approccio strutturato per la gestione dei dati durante il loro ciclo di vita. Un framework di questo tipo contribuisce a migliorare la qualità dei dati, aumentare la sicurezza, migliorare l'utilizzo e ridurre la ridondanza.

Stabilire 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 dell'organizzazione. 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:

  • Dataplex Universal Catalog è un data fabric intelligente che consente di unificare i dati distribuiti e automatizzare la governance dei dati senza la necessità di consolidare i set di dati in un unico luogo. Ciò contribuisce a ridurre i costi di distribuzione e manutenzione dei dati, a facilitare l'individuazione dei dati e a promuovere il riutilizzo.

  • Dataplex Universal 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 delle origini Google Cloud supportate vengono importati automaticamente nel catalogo universale. Per le origini dati al di fuori di Google Cloud, crea voci personalizzate.
    • Per migliorare l'individuazione e la gestione degli asset di dati, arricchisci i metadati tecnici con metadati aziendali utilizzando gli aspetti.
    • Assicurati che i data scientist e i professionisti del machine learning dispongano di autorizzazioni sufficienti per accedere a Dataplex Universal Catalog e utilizzare la funzione di ricerca.
  • La condivisione di BigQuery 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 Data Exchange 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 a progetti di AI e ML.
    • Assicurati che i data scientist e i professionisti di ML dispongano di autorizzazioni sufficienti per visualizzare e pubblicare i set di dati nella condivisione BigQuery.

Rendi riutilizzabili i set di dati e le funzionalità durante tutto il ciclo di vita di ML

Per ottenere vantaggi significativi in termini di efficienza e costi, riutilizza set di dati e funzionalità in più progetti di machine learning. Se eviti attività ridondanti di data engineering e sviluppo di funzionalità, la tua organizzazione può accelerare lo sviluppo del modello, 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 dataset e funzionalità:

  • Gli esperti di dati e ML possono pubblicare prodotti di dati per massimizzare il riutilizzo tra i team. I prodotti di dati possono quindi essere scoperti e utilizzati tramite Dataplex Universal Catalog e la condivisione di BigQuery.
  • Per i set di dati tabulari e strutturati, puoi utilizzare Vertex AI Feature Store per promuovere la riutilizzabilità e semplificare la gestione delle funzionalità tramite BigQuery.
  • Puoi archiviare dati non strutturati in Cloud Storage e gestirli utilizzando tabelle degli oggetti BigQuery e URL firmati.
  • Puoi gestire gli embedding vettoriali includendo i metadati negli indici Vector Search.

Automatizzare e semplificare con MLOps

Uno dei principali vantaggi dell'adozione delle 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 ingegneri ML.

Per automatizzare e semplificare lo sviluppo ML con MLOps, prendi in considerazione i seguenti suggerimenti.

Automatizzare e standardizzare la raccolta e l'elaborazione dei dati

Per ridurre l'impegno e il tempo di sviluppo dell'ML, automatizza e standardizza le tecnologie di raccolta ed elaborazione dei dati.

Automatizzare la raccolta e l'elaborazione dei dati

Questa sezione riassume i prodotti, gli strumenti e le tecniche che puoi utilizzare per automatizzare la raccolta e il trattamento dei dati.

Identifica e scegli le origini dati pertinenti per le tue attività di AI e ML:

Per ogni origine dati, scegli uno strumento di importazione:

  • Dataflow: per l'elaborazione batch e in streaming dei dati provenienti da varie origini, con integrazione dei componenti ML. Per un'architettura basata sugli eventi, puoi combinare Dataflow con Eventarc per elaborare in modo efficiente i dati per il machine learning. Per migliorare l'efficienza dei job MLOps e ML, utilizza le funzionalità GPU e di adattamento ottimale.
  • Funzioni Cloud Run: Per l'importazione dati basata su eventi che viene attivata dalle modifiche alle 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 il ridimensionamento delle funzionalità, la codifica delle variabili categoriche e la creazione di nuove funzionalità in batch, in streaming o in tempo reale. Gli strumenti che selezioni dipendono dai tuoi requisiti e dai servizi scelti.
  • Utilizza Vertex AI Feature Store per automatizzare la creazione e la gestione delle caratteristiche. Puoi centralizzare le funzionalità per riutilizzarle in diversi modelli e progetti.

Standardizzare la raccolta e l'elaborazione dei dati

Per scoprire, comprendere e gestire gli asset di dati, utilizza servizi di gestione dei metadati come Dataplex Universal Catalog. Ti aiuta a standardizzare le definizioni dei dati e a garantire la coerenza in tutta l'organizzazione.

Per applicare la standardizzazione ed evitare il costo di gestione di più implementazioni personalizzate, utilizza pipeline di addestramento e orchestrazione automatizzate. Per ulteriori informazioni, consulta la sezione successiva.

Automatizzare le pipeline di addestramento e riutilizzare gli asset esistenti

Per aumentare l'efficienza e la produttività in MLOps, le pipeline di addestramento automatizzate sono fondamentali. Google Cloud offre un solido insieme di strumenti e servizi per creare ed eseguire il deployment di pipeline di addestramento, con una forte enfasi sul riutilizzo di asset esistenti. Le pipeline di addestramento automatizzate contribuiscono ad accelerare lo sviluppo del modello, garantiscono la coerenza e riducono gli sforzi ridondanti.

Automatizzare le pipeline di addestramento

La tabella seguente descrive i Google Cloud servizi e le funzionalità che puoi utilizzare per automatizzare le diverse funzioni di una pipeline di addestramento.

Funzione Google Cloud servizi e funzionalità
Orchestrazione: definisci flussi di lavoro ML complessi costituiti da più passaggi e dipendenze. Puoi definire ogni passaggio come un'attività in contenitori separata, il che ti aiuta a gestire e scalare facilmente le singole attività.
  • Per creare e orchestrare le pipeline, utilizza Vertex AI Pipelines o Kubeflow Pipelines. Questi strumenti supportano la trasformazione semplice dei dati, l'addestramento del modello, il deployment del modello e il controllo delle versioni della pipeline. Ti consentono di definire le dipendenze tra i passaggi, gestire il flusso di dati e automatizzare l'esecuzione dell'intero workflow.
  • Per attività operative complesse con requisiti elevati di CI/CD ed estrazione, trasformazione e caricamento (ETL), utilizza Cloud Composer. Se preferisci Airflow per l'orchestrazione dei dati, Cloud Composer è un servizio gestito compatibile basato su Airflow.
  • Per le pipeline gestite al di fuori di Vertex AI Pipelines, utilizza Workflows per attività incentrate sull'infrastruttura, come l'avvio e l'arresto di VM o l'integrazione con sistemi esterni.
  • Per automatizzare il processo CI/CD, utilizza Cloud Build con Pub/Sub. Puoi configurare notifiche e trigger automatici per quando viene eseguito il push di nuovo codice o quando è necessario addestrare un nuovo modello.
  • Per una soluzione scalabile e completamente gestita per la gestione delle pipeline, utilizza Cloud Data Fusion.
Controllo delle versioni: monitora e controlla le diverse versioni di pipeline e componenti per garantire riproducibilità e verificabilità. Archivia i modelli di pipeline Kubeflow in un repository Kubeflow Pipelines in Artifact Registry.
Riutilizzabilità: riutilizza i componenti e gli artefatti della pipeline esistenti, ad esempio set di dati preparati e modelli addestrati, per accelerare lo sviluppo. Archivia i modelli di pipeline in Cloud Storage e condividili in tutta l'organizzazione.
Monitoraggio: monitora l'esecuzione della pipeline per identificare e risolvere eventuali problemi. Utilizza Cloud Logging e Cloud Monitoring. Per saperne di più, consulta Monitorare le risorse in modo continuo con dashboard, avvisi e report.

Estendere la riutilizzabilità oltre le pipeline

Cerca opportunità per espandere la riutilizzabilità oltre le pipeline di addestramento. Di seguito sono riportati esempi di funzionalità che consentono di riutilizzare funzionalità, set di dati, modelli e codice ML. Google Cloud

  • Vertex AI Feature Store fornisce un repository centralizzato per organizzare, archiviare e distribuire le caratteristiche di ML. Consente di riutilizzare le funzionalità in diversi progetti e modelli, il che può migliorare la coerenza e ridurre lo sforzo di feature engineering. Puoi archiviare, condividere e accedere alle funzionalità per casi d'uso online e offline.
  • I set di dati Vertex AI consentono ai team di creare e gestire i set di dati in modo centralizzato, in modo che la tua organizzazione possa massimizzare la riutilizzabilità e ridurre la duplicazione dei dati. I tuoi team possono cercare e scoprire i set di dati utilizzando Dataplex Universal Catalog.
  • Vertex AI Model Registry ti 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 i precedenti sforzi di addestramento.
  • 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 diverse pipeline e progetti.

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 il tempo 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 le risorse di calcolo sprecate.

Utilizzare la valutazione e la sperimentazione dei modelli efficienti in termini di risorse

Inizia un progetto di AI con esperimenti prima di scalare la 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 errata in produzione, utilizza Vertex AI Experiments prima di implementare job di addestramento o deployment su larga scala.

Vertex AI Experiments ti consente di:

  • Semplifica e automatizza il monitoraggio e il rilevamento dei metadati tramite un'API e un'interfaccia utente intuitive per carichi di lavoro pronti per la produzione.
  • Analizza le metriche di rendimento del modello e confrontale tra più modelli.

Una volta addestrato il modello, monitora continuamente il rendimento e la deriva dei dati nel tempo per i dati in arrivo. Per semplificare questo processo, utilizza Vertex AI Model Monitoring per accedere direttamente ai modelli creati in Model Registry. Model Monitoring automatizza anche il monitoraggio di dati e risultati tramite previsioni online e batch. Puoi esportare i risultati in BigQuery per ulteriori analisi e monitoraggio.

Scegliere 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 Vertex AI. Vertex AI 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 Vertex AI. 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:

  • Scegli framework ML ottimizzati, come Keras e PyTorch, che supportano l'addestramento distribuito e l'utilizzo efficiente delle risorse.

Utilizzare l'AI spiegabile

È fondamentale capire perché un modello prende determinate decisioni e identificare potenziali distorsioni o aree di miglioramento. Utilizza Vertex Explainable AI per ottenere informazioni dettagliate sulle previsioni del modello. Vertex Explainable AI offre un modo per automatizzare le spiegazioni basate su caratteristiche ed esempi collegate agli esperimenti di Vertex AI.

  • Basata sulle caratteristiche: per capire quali caratteristiche sono più influenti nelle previsioni del modello, analizza le attribuzioni delle caratteristiche. Questa comprensione può guidare gli sforzi di feature engineering e migliorare l'interpretabilità del modello.
  • Basate su esempi: Per restituire un elenco di esempi (di solito dal set di addestramento) più simili all'input, Vertex AI 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.

Utilizzare servizi gestiti e modelli preaddestrati

Adotta un approccio incrementale alla selezione e allo sviluppo dei modelli. Questo approccio ti aiuta a evitare costi eccessivi associati all'avvio da zero ogni volta. Per controllare i costi, utilizza framework ML, servizi gestiti e modelli preaddestrati.

Per ottenere il massimo valore dai servizi gestiti e dai modelli preaddestrati, tieni presenti i seguenti consigli.

Utilizzare i notebook per l'esplorazione e gli esperimenti

Gli ambienti notebook sono fondamentali per una sperimentazione di machine learning economicamente vantaggiosa. Un notebook fornisce uno spazio interattivo e collaborativo in cui data scientist e ingegneri possono esplorare i dati, sviluppare modelli, condividere conoscenze e iterare 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é procurarti e gestire hardware costoso per il tuo ambiente di sviluppo, puoi utilizzare l'infrastruttura scalabile e on demand di Vertex AI Workbench e Colab Enterprise.

  • Vertex AI Workbench è un ambiente di sviluppo di blocchi note Jupyter per l'intero flusso di lavoro di data science. Puoi interagire con Vertex AI e altri servizi Google Cloud dall'interno del notebook Jupyter di un'istanza. Le integrazioni e le funzionalità di Vertex AI Workbench ti aiutano a:

    • Accedi ed esplora i dati da un notebook Jupyter utilizzando le integrazioni di BigQuery e Cloud Storage.
    • Automatizza gli aggiornamenti ricorrenti di un modello utilizzando le esecuzioni pianificate del codice eseguito su Vertex AI.
    • Elabora i dati rapidamente eseguendo un notebook su un cluster Dataproc.
    • Esegui un notebook come passaggio di una pipeline utilizzando Vertex AI Pipelines.
  • 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 dell'impegno per gestire l'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 blocchi note senza la necessità di gestire l'infrastruttura.
    • Condividi un notebook con un singolo utente, un gruppo Google o un dominio Google Workspace. Puoi controllare l'accesso ai blocchi note tramite Identity and Access Management (IAM).
    • Interagisci con le funzionalità integrate in Vertex AI e BigQuery.

Per monitorare le modifiche e ripristinare le versioni precedenti quando necessario, puoi integrare i tuoi blocchi note con strumenti di controllo della versione come Git.

Inizia con modelli esistenti e preaddestrati

L'addestramento di modelli complessi da zero, in particolare i modelli di deep learning, richiede risorse di calcolo e tempo significativi. Per accelerare la selezione e lo sviluppo dei modelli, inizia con modelli esistenti e pre-addestrati. Questi modelli, addestrati su vasti set di dati, eliminano la necessità di addestrare i modelli da zero e riducono significativamente i costi e i tempi di sviluppo.

Ridurre 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.

Vertex AI Model Garden offre una vasta raccolta di modelli preaddestrati per attività come la classificazione delle immagini, il rilevamento degli oggetti e l'elaborazione del linguaggio naturale. I modelli sono raggruppati nelle seguenti categorie:

Google Cloud fornisce API 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 estrarre informazioni 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 del feedback dei clienti, la classificazione dei contenuti e la comprensione delle tendenze dei social media.
  • L'API Speech-to-Text converte l'audio in testo. Questa API supporta un'ampia gamma di lingue e dialetti.
  • L'API Video Intelligence analizza i contenuti video per identificare oggetti, scene e azioni. Utilizza questa API per l'analisi dei contenuti video, la moderazione dei contenuti e la ricerca di video.
  • L'API Document AI elabora i documenti per estrarre, classificare e comprendere i dati. Questa API consente di 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 in Vertex AI fornisce l'accesso al modello di AI più potente e generico di Google.

Ridurre i costi di ottimizzazione

Per ridurre la necessità di grandi quantità di dati e tempi di calcolo, ottimizza i modelli preaddestrati su set di dati specifici. Ti 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 dell'adattatore (ottimizzazione efficiente dei parametri): adatta i modelli a nuove attività o domini senza un'ottimizzazione completa. Questo approccio richiede risorse di calcolo notevolmente inferiori e un set di dati più piccolo.
  • Ottimizzazione supervisionata: Adatta il comportamento del modello con un set di dati etichettati. Questo approccio semplifica la gestione dell'infrastruttura sottostante e lo sforzo di sviluppo richiesto per un job di addestramento personalizzato.

Esplorare e sperimentare utilizzando Vertex AI Studio

Vertex AI Studio consente di testare, prototipare ed eseguire il deployment rapidamente 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 preaddestrati e API, inclusi quelli per chat, testo, contenuti multimediali, traduzione e sintesi vocale. Questo accesso unificato può aiutarti a ridurre il tempo dedicato alla ricerca e all'integrazione di singoli servizi.

Utilizzare i servizi gestiti per addestrare o pubblicare modelli

I servizi gestiti possono contribuire a ridurre il costo dell'addestramento dei modelli e a semplificare la gestione dell'infrastruttura, consentendoti di concentrarti sullo sviluppo e sull'ottimizzazione dei modelli. Questo approccio può comportare notevoli vantaggi in termini di costi e maggiore efficienza.

Riduci l'overhead operativo

Per ridurre la complessità e il costo della gestione dell'infrastruttura, utilizza servizi gestiti come i seguenti:

  • Vertex AI Training fornisce un ambiente completamente gestito per l'addestramento dei modelli su larga scala. Puoi scegliere tra vari container predefiniti con framework ML popolari o utilizzare i tuoi container personalizzati. Google Cloud gestisce il provisioning, lo scaling e la manutenzione dell'infrastruttura, in modo da ridurre i costi operativi.
  • Vertex AI Prediction gestisce lo scaling dell'infrastruttura, il bilanciamento del carico e il routing delle richieste. Ottieni disponibilità e prestazioni elevate senza intervento manuale.
  • Ray on Vertex AI fornisce un cluster Ray completamente gestito. Puoi utilizzare il cluster per eseguire carichi di lavoro di AI personalizzati complessi che eseguono molti calcoli (ottimizzazione degli iperparametri, perfezionamento del modello, addestramento distribuito del modello 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, vedi Ottimizzare l'utilizzo delle risorse.

Collaboratori

Autori:

Altri collaboratori: