Prospettiva AI e ML: affidabilità

Last reviewed 2026-10-29 UTC

Questo documento del Google Cloud Well-Architected Framework: prospettiva di AI e ML fornisce una panoramica dei principi e dei consigli per progettare e gestire sistemi di AI e ML affidabili su Google Cloud. Esplora come integrare pratiche di affidabilità avanzate e osservabilità nei tuoi progetti di architettura. I suggerimenti contenuti in questo documento sono in linea con il pilastro dell'affidabilità del Well-Architected Framework.

Nel panorama in rapida evoluzione dell'AI e del ML, sistemi affidabili sono essenziali per garantire la soddisfazione del cliente e raggiungere gli obiettivi commerciali. Per soddisfare le esigenze uniche sia del ML predittivo che dell'AI generativa, hai bisogno di sistemi di AI e ML robusti, affidabili e adattabili. Per gestire le complessità di MLOps, dallo sviluppo al deployment e al miglioramento continuo, devi utilizzare un approccio incentrato sull'affidabilità. Google Cloud offre un'infrastruttura AI creata appositamente e allineata ai principi di Site Reliability Engineering (SRE), che fornisce una base solida per sistemi AI e ML affidabili.

I suggerimenti di questo documento sono mappati ai seguenti principi fondamentali:

Garantire che l'infrastruttura ML sia scalabile e ad alta affidabilità

I sistemi di AI e ML affidabili nel cloud richiedono un'infrastruttura scalabile e ad alta affidabilità. Questi sistemi hanno esigenze dinamiche, requisiti di risorse diversi e dipendenze critiche dalla disponibilità del modello. Le architetture scalabili si adattano ai carichi fluttuanti e alle variazioni del volume di dati o delle richieste di inferenza. L'alta affidabilità (HA) contribuisce a garantire la resilienza ai guasti a livello di componente, zona o regione.

Per creare un'infrastruttura ML scalabile e ad alta affidabilità, tieni presente i seguenti suggerimenti.

Implementare funzionalità di scalabilità automatica e dinamica

I workload di AI e ML sono dinamici, con una domanda che fluttua in base alla frequenza di arrivo dei dati, alla frequenza di addestramento e al volume del traffico di inferenza. La scalabilità automatica e dinamica adatta perfettamente le risorse dell'infrastruttura alle fluttuazioni della domanda. La scalabilità efficace dei workload aiuta a prevenire i tempi di inattività, mantenere le prestazioni e ottimizzare i costi.

Per scalare automaticamente i workload di AI e ML, utilizza i seguenti prodotti e funzionalità in Google Cloud:

  • Pipeline di trattamento dati: crea pipeline di dati in Dataflow. Configura le pipeline in modo che utilizzino la funzionalità di scalabilità automatica orizzontale di Dataflow, che regola in modo dinamico il numero di istanze worker in base all'utilizzo della CPU, al parallelismo delle pipeline e ai dati in attesa. Puoi configurare i parametri di scalabilità automatica tramite le opzioni della pipeline quando avvii i job.
  • Job di addestramento: automatizza la scalabilità dei job di addestramento utilizzando l'addestramento personalizzato di Gemini Enterprise Agent Platform. Puoi definire le specifiche dei pool di worker, come il tipo di macchina, il tipo e il numero di acceleratori e il numero di pool di worker. Per i job che possono tollerare le interruzioni e per i job in cui il codice di addestramento implementa il checkpointing, puoi ridurre i costi utilizzando le VM spot.
  • Inferenza online: per l'inferenza online, utilizza gli endpoint di Agent Platform. Per abilitare la scalabilità automatica, configura il numero minimo e massimo di repliche. Specifica un minimo di due repliche per l'alta affidabilità. La piattaforma Agent regola automaticamente il numero di repliche in base al traffico e alle metriche di scalabilità automatica configurate, come l'utilizzo della CPU e l'utilizzo delle repliche.
  • Workload containerizzati in Google Kubernetes Engine: configura la scalabilità automatica a livello di nodo e pod. Configura il gestore della scalabilità automatica dei cluster e il provisioning automatico dei nodi per regolare il numero di nodi in base alle richieste di risorse dei pod in attesa, come CPU, memoria, GPU e Cloud TPU. Utilizza Horizontal Pod Autoscaler (HPA) per i deployment per definire policy di scalabilità basate su metriche come l'utilizzo della CPU e della memoria. Puoi anche eseguire la scalabilità in base a metriche di AI e ML personalizzate, come l'utilizzo di GPU o Cloud TPU e le richieste di previsione al secondo.
  • Servizi containerizzati serverless: esegui il deployment dei servizi in Cloud Run e configura la scalabilità automatica specificando il numero minimo e massimo di istanze di container. Utilizza le best practice per scalare automaticamente le istanze abilitate per GPU specificando il tipo di acceleratore. Cloud Run scala automaticamente le istanze tra i limiti minimi e massimi configurati in base alle richieste in entrata. Quando non ci sono richieste, lo scale down viene eseguito in modo efficiente fino a zero istanze. Puoi sfruttare la scalabilità automatica basata sulle richieste di Cloud Run per eseguire il deployment di agenti e di workload di terze parti come modelli quantizzati utilizzando Ollama e inferenza LLM utilizzando vLLM.

Progetta per l'alta affidabilità e la tolleranza di errore

Per i workload di AI e ML di livello di produzione, è fondamentale garantire il funzionamento continuo e la resilienza agli errori. Per implementare l'alta affidabilità e la tolleranza di errore, devi integrare la ridondanza e la replica nella tua architettura su Google Cloud. Questo approccio contribuisce a garantire che un errore di un singolo componente non causi un errore dell'intero sistema.

Implementa la ridondanza per i componenti critici di AI e ML in Google Cloud. Di seguito sono riportati alcuni esempi di prodotti e funzionalità che consentono di implementare la ridondanza delle risorse:

  • Esegui il deployment dei cluster regionali GKE in più zone.
  • Garantisci la ridondanza dei dati per i set di dati e i checkpoint utilizzando i bucket multiregionali o a due regioni di Cloud Storage.
  • Utilizza Spanner per l'archiviazione dei metadati coerente a livello globale e ad alta affidabilità.
  • Configura le repliche di lettura di Cloud SQL per i database operativi.
  • Assicurati che i database vettoriali per la Retrieval Augmented Generation (RAG) siano ad alta affidabilità e multizona o multiregionali.

Gestire le risorse in modo proattivo e anticipare i requisiti

Una gestione efficace delle risorse è importante per ottimizzare i costi, le prestazioni e l'affidabilità. I workload di AI e ML sono dinamici e la domanda di hardware specializzato come GPU e Cloud TPU è elevata. Pertanto, è fondamentale applicare una gestione proattiva delle risorse e garantirne la disponibilità.

Pianifica la capacità in base ai dati di monitoraggio storici, come i tassi di utilizzo e throughput di GPU o Cloud TPU, da Cloud Monitoring e dai log in Cloud Logging. Analizza questi dati di telemetria utilizzando BigQuery o Data Studio e prevedi la domanda futura di GPU in base alla crescita o ai nuovi modelli. L'analisi dei pattern e delle tendenze di utilizzo delle risorse ti aiuta a prevedere quando e dove hai bisogno di acceleratori specializzati critici.

  • Convalida le stime della capacità tramite rigorosi test di carico. Simula il traffico sui servizi di AI e ML, come l'erogazione e le pipeline, utilizzando strumenti come Apache JMeter o LoadView.
  • Analizzare il comportamento del sistema sotto stress.
    • Per anticipare e soddisfare le maggiori esigenze di workload in produzione, identifica in modo proattivo i requisiti delle risorse. Monitora la latenza, il throughput, gli errori e l'utilizzo delle risorse, in particolare l'utilizzo di GPU e Cloud TPU. Aumenta le quote delle risorse, se necessario.
    • Per la gestione dell'AI generativa, esegui test con carichi elevati di concorrenza e identifica il livello in cui la disponibilità dell'acceleratore limita le prestazioni.
  • Esegui il monitoraggio continuo delle query del modello e configura avvisi proattivi per gli agenti.
    • Utilizza la dashboard di osservabilità del modello per visualizzare le metriche raccolte da Monitoring, come le query al secondo (QPS) del modello, il throughput dei token e le latenze del primo token.

Ottimizza la disponibilità e l'ottenibilità delle risorse

Ottimizza i costi e garantisci la disponibilità delle risorse selezionando strategicamente le risorse di computing appropriate in base ai requisiti del workload.

  • Per un'inferenza stabile 24 ore su 24, 7 giorni su 7 o per workload di addestramento con requisiti di capacità fissi o prevedibili, utilizza gli sconti per impegno di utilizzo (CUD) per VM e acceleratori.
  • Per i nodi GKE e le VM di Compute Engine, utilizza le funzionalità delle VM spot e di Dynamic Workload Scheduler (DWS):

    • Per attività a tolleranza di errore, come i workload di valutazione e sperimentazione, utilizza le VM spot. Le VM spot possono essere prerilasciate, ma possono aiutarti a ridurre i costi complessivi.
    • Per gestire il rischio di prerilascio per gli acceleratori con una domanda elevata, puoi garantire una migliore disponibilità utilizzando DWS.
      • Per l'addestramento batch complesso che richiede GPU di fascia alta per l'esecuzione fino a sette giorni, utilizza la modalità di avvio flessibile di DWS.
      • Per workload di lunga durata che vengono eseguiti per un massimo di tre mesi, utilizza la modalità Calendario per prenotare GPU specifiche (H100 e H200) e Cloud TPU (Trillium).
  • Per ottimizzare l'inferenza AI su GKE, puoi eseguire un motore vLLM che utilizza dinamicamente Cloud TPU e GPU per soddisfare le esigenze di capacità e prestazioni fluttuanti. Per saperne di più, consulta Fungibilità GPU/TPU vLLM.

  • Per scenari avanzati con esigenze complesse di risorse e topologia che coinvolgono acceleratori, utilizza strumenti per astrarre la gestione delle risorse.

    • Cluster Director consente di eseguire il deployment e gestire gruppi di acceleratori con collocazione e pianificazione per l'addestramento multi-GPU (A3 Ultra H200 e A4 B200). Cluster Director supporta i cluster GKE e Slurm.
    • Ray su Gemini Enterprise Agent Platform astrae l'infrastruttura di computing distribuito. Consente alle applicazioni di richiedere risorse per l'addestramento e la distribuzione senza la necessità di gestire direttamente VM e container.

Distribuisci il traffico in entrata su più istanze

Un bilanciamento del carico efficace è fondamentale per le applicazioni di AI con richieste fluttuanti. Il bilanciamento del carico distribuisce il traffico, ottimizza l'utilizzo delle risorse, fornisce alta affidabilità e bassa latenza e contribuisce a garantire un'esperienza utente ottimale.

  • Inferenza con esigenze di risorse variabili: implementa il bilanciamento del carico in base alle metriche del modello. GKE Inference Gateway consente di eseguire il deployment dei modelli dietro un bilanciatore del carico con routing basato sui modelli. Il gateway dà la priorità alle istanze con acceleratori GPU e Cloud TPU per attività ad alta intensità di calcolo come l'AI generativa e l'inferenza LLM. Configura controlli di integrità dettagliati per valutare lo stato del modello. Utilizza framework di gestione come vLLM o Triton per le metriche LLM e integrali in Monitoring utilizzando Google Cloud Managed Service per Prometheus.
  • Workload di inferenza che richiedono GPU o Cloud TPU: per garantire che i workload di inferenza AI e ML critici vengano eseguiti in modo coerente su macchine adatte ai requisiti dei workload, in particolare quando la disponibilità di GPU e Cloud TPU è limitata, utilizza le classi di computing personalizzate di GKE. Puoi definire profili di computing specifici con policy di riserva per la scalabilità automatica. Ad esempio, puoi definire un profilo che specifica una priorità più alta per le istanze GPU o Cloud TPU prenotate. Il profilo può includere un fallback per utilizzare VM spot convenienti se le risorse prenotate non sono temporaneamente disponibili.
  • AI generativa su diverse piattaforme di orchestrazione: utilizza un bilanciatore del carico centralizzato. Ad esempio, per l'efficienza dei costi e della gestione, puoi instradare le richieste con esigenze di GPU ridotte a Cloud Run e instradare le attività più complesse e ad alta intensità di GPU a GKE. Per la comunicazione tra servizi e la gestione delle policy, implementa un mesh di servizi utilizzando Cloud Service Mesh. Garantire un logging e un monitoraggio coerenti utilizzando Logging e Monitoring.
  • Distribuzione del carico globale: per bilanciare il carico del traffico proveniente da utenti globali che richiedono una bassa latenza, utilizza un bilanciatore del carico delle applicazioni esterno globale. Configura il routing di geolocalizzazione verso la regione più vicina e implementa il failover. Stabilisci la replica degli endpoint regionali in Agent Platform o GKE. Configura Cloud CDN per gli asset statici. Monitorare il traffico e la latenza globali utilizzando Monitoring.
  • Gestione granulare del traffico: per le richieste con tipi di dati o complessità diversi e per le richieste a lunga esecuzione, implementa una gestione granulare del traffico.
    • Configura il routing basato sui contenuti per indirizzare le richieste a backend specializzati in base ad attributi come percorsi e intestazioni degli URL. Ad esempio, indirizza le richieste ai backend abilitati per GPU per i modelli di immagini o video e ai backend ottimizzati per CPU per i modelli basati su testo.
    • Per richieste di AI generativa o workload batch a lunga esecuzione, utilizza WebSockets o gRPC. Implementa la gestione del traffico per gestire i timeout e il buffering. Configura i timeout e i nuovi tentativi delle richieste e implementa la limitazione di frequenza e le quote utilizzando API Gateway o Apigee.

Utilizza un'architettura modulare e a basso accoppiamento

In un'architettura di AI e ML modulare e a basso accoppiamento, i sistemi complessi sono suddivisi in componenti più piccoli e autonomi che interagiscono tramite interfacce ben definite. Questa architettura riduce al minimo le dipendenze dei moduli, semplifica lo sviluppo e i test, migliora la riproducibilità e la tolleranza di errore contenendo gli errori. L'approccio modulare è fondamentale per gestire la complessità, accelerare l'innovazione e garantire la manutenibilità a lungo termine.

Per progettare un'architettura modulare e a basso accoppiamento per i workload di AI e ML, considera i seguenti suggerimenti.

Implementa piccoli moduli o componenti autonomi

Suddividi il sistema AI e ML end-to-end in moduli o componenti piccoli e autonomi. Ogni modulo o componente è responsabile di una funzione specifica, come l'importazione dati, la trasformazione delle caratteristiche, l'addestramento del modello, l'inferenza o la valutazione. Un design modulare offre diversi vantaggi chiave per i sistemi di AI e ML: migliore gestibilità, maggiore scalabilità, riusabilità e maggiore flessibilità e agilità.

Le sezioni seguenti descrivono i prodotti, le funzionalità e gli strumenti Google Cloud che puoi utilizzare per progettare un'architettura modulare per i tuoi sistemi di AI e ML.

Microservizi containerizzati su GKE

Per sistemi AI e ML complessi o pipeline di AI generativa intricate che richiedono un'orchestrazione granulare, implementa i moduli come microservizi orchestrati utilizzando GKE. Pacchettizza ogni fase distinta come un singolo microservizio all'interno di container Docker. Queste fasi distinte includono l'importazione dati personalizzata per diversi formati, la pre-elaborazione dei dati specializzata o il feature engineering, l'addestramento del modello distribuito o l'ottimizzazione di modelli di base di grandi dimensioni, la valutazione o l'erogazione.

Esegui il deployment dei microservizi containerizzati su GKE e sfrutta la scalabilità automatica basata sull'utilizzo della CPU e della memoria o su metriche personalizzate come l'utilizzo della GPU, gli aggiornamenti in sequenza e le configurazioni riproducibili nei manifest YAML. Garantire una comunicazione efficiente tra i microservizi utilizzando il Service Discovery di GKE. Per i pattern asincroni, utilizza code di messaggi come Pub/Sub.

L'approccio basato sui microservizi su GKE ti aiuta a creare piattaforme scalabili e resilienti per attività come applicazioni RAG complesse in cui le fasi possono essere progettate come servizi distinti.

Servizi serverless basati su eventi

Per le attività basate su eventi che possono trarre vantaggio dalla scalabilità automatica serverless, utilizza Cloud Run o Cloud Run Functions. Questi servizi sono ideali per attività asincrone come la pre-elaborazione o per job di inferenza più piccoli. Attiva Cloud Run Functions in base a eventi, ad esempio un nuovo file di dati creato in Cloud Storage o aggiornamenti dei modelli in Artifact Registry. Per le attività o i servizi webhook che richiedono un ambiente container, utilizza Cloud Run.

I servizi Cloud Run e Cloud Run Functions possono fare lo scale up rapidamente e fare lo scale down fino a zero, il che contribuisce a garantire l'efficienza dei costi per i workload fluttuanti. Questi servizi sono adatti per i componenti modulari nei workflow di Agent Conversation. Puoi orchestrare le sequenze di componenti con Workflows o Application Integration.

Servizi gestiti di Agent Platform

I servizi di Agent Platform supportano la modularità e ti aiutano a semplificare lo sviluppo e il deployment dei tuoi sistemi di AI e ML. I servizi astraggono le complessità dell'infrastruttura in modo che tu possa concentrarti sulla logica dell'applicazione.

  • Per orchestrare i workflow creati da passaggi modulari, utilizza le pipeline di Gemini Enterprise Agent Platform.
  • Per eseguire codice AI e ML personalizzato, pacchettizza il codice in container Docker che possono essere eseguiti su servizi gestiti come l'addestramento personalizzato di Agent Platform e la previsione di Agent Platform.
  • Per pipeline di feature engineering modulari, utilizza Agent Platform Feature Store.
  • Per l'esplorazione e la prototipazione modulari, utilizza ambienti di notebook come Gemini Enterprise Agent Platform Workbench o Colab Enterprise. Organizza il codice in funzioni, classi e script riutilizzabili.

Applicazioni agentiche

Per gli agenti AI, Agent Development Kit (ADK) fornisce funzionalità modulari come Tools e State. Per abilitare l'interoperabilità tra framework come LangChain, LangGraph, LlamaIndex e Agent Platform, puoi combinare ADK con il protocollo Agent2Agent (A2A) e il Model Context Protocol (MCP). Questa interoperabilità ti consente di comporre workflow agentici utilizzando diversi componenti.

Puoi eseguire il deployment degli agenti su Agent Runtime su Gemini Enterprise Agent Platform, un runtime gestito ottimizzato per il deployment scalabile degli agenti. Per eseguire agenti containerizzati, puoi sfruttare le funzionalità di scalabilità automatica di Cloud Run.

Progetta interfacce ben definite

Per creare sistemi software solidi e gestibili, è fondamentale garantire che i componenti di un sistema siano a basso accoppiamento e modularizzati. Questo approccio offre vantaggi significativi, perché riduce al minimo le dipendenze tra le diverse parti del sistema. Quando i moduli sono a basso accoppiamento, le modifiche in un modulo hanno un impatto minimo sugli altri moduli. Questo isolamento consente aggiornamenti e flussi di lavoro di sviluppo indipendenti per i singoli moduli.

Le sezioni seguenti forniscono indicazioni per garantire una comunicazione e un'integrazione senza interruzioni tra i moduli dei tuoi sistemi di AI e ML.

Scelta del protocollo

  • Per l'accesso universale, utilizza le API HTTP, rispetta i principi RESTful e utilizza JSON per lo scambio di dati indipendente dal linguaggio. Progetta gli endpoint API in modo che rappresentino le azioni sulle risorse.
  • Per una comunicazione interna ad alte prestazioni tra i microservizi, utilizza gRPC con buffer di protocollo (Protobuf) per una serializzazione efficiente e una tipizzazione rigorosa. Definisci strutture di dati come ModelInput, PredictionResult o dati dello strumento ADK utilizzando i file .proto, quindi genera i binding del linguaggio.
  • Per i casi d'uso in cui le prestazioni sono fondamentali, utilizza lo streaming gRPC per set di dati di grandi dimensioni o per flussi continui come applicazioni di sintesi vocale o video in tempo reale. Esegui il deployment dei servizi gRPC su GKE.

Documentazione standardizzata e completa

Indipendentemente dal protocollo di interfaccia scelto, la documentazione standardizzata è fondamentale. La specifica OpenAPI descrive le API RESTful. Utilizza OpenAPI per documentare le tue API di AI e ML: percorsi, metodi, parametri, formati di richiesta-risposta collegati a schemi JSON e sicurezza. Una documentazione dell'API completa aiuta a migliorare la rilevabilità e l'integrazione dei client. Per la creazione e la visualizzazione delle API, utilizza strumenti UI come Swagger Editor. Per accelerare lo sviluppo e garantire la coerenza, puoi generare SDK client e stub server utilizzando strumenti di programmazione assistita dall'AI come Gemini Code Assist. Integra la documentazione OpenAPI nel tuo flusso CI/CD.

Interazione con i servizi gestiti di Google Cloud come Agent Platform

Scegli tra l'astrazione più elevata dell'SDK Agent Platform, che è preferibile per la produttività dello sviluppo, e il controllo granulare fornito dall'API REST.

  • L'SDK Agent Platform semplifica le attività e l'autenticazione. Utilizza l'SDK quando devi interagire con Agent Platform.
  • L'API REST è un'alternativa efficace, soprattutto quando è richiesta l'interoperabilità tra i livelli del sistema. È utile per gli strumenti in linguaggi che non dispongono di un SDK o quando hai bisogno di un controllo granulare.

Utilizza le API per isolare i moduli e astrarre i dettagli di implementazione

Per garantire sicurezza, scalabilità e visibilità, è fondamentale implementare una gestione delle API efficace per i servizi di AI e ML. Per implementare la gestione delle API per le interfacce definite, utilizza i seguenti prodotti:

  • API Gateway: per le API esposte e gestite esternamente, API Gateway fornisce un punto di ingresso centralizzato e sicuro. Semplifica l'accesso ai servizi di backend serverless, come le API di previsione, addestramento e dati. API Gateway aiuta a consolidare i punti di accesso, applicare i contratti API e gestire le funzionalità di sicurezza come le chiavi API e OAuth 2.0. Per proteggere i backend dal sovraccarico e garantire l'affidabilità, implementa la limitazione di frequenza e le quote di utilizzo in API Gateway.
  • Cloud Endpoints: per semplificare lo sviluppo e il deployment delle API su GKE e Cloud Run, utilizza Endpoints, che offre una soluzione intuitiva per gli sviluppatori per la generazione di chiavi API. Inoltre, fornisce il monitoraggio e il tracciamento integrati per le chiamate API e automatizza la generazione di specifiche OpenAPI, semplificando la documentazione e l'integrazione dei client. Puoi utilizzare Endpoints per gestire l'accesso alle API di AI e ML interne o controllate, ad esempio per attivare l'addestramento e gestire gli archivi di caratteristiche.
  • Apigee: per l'AI e il ML su scala aziendale, in particolare per le API di AI generativa sofisticate, Apigee offre una gestione delle API avanzata e completa. Utilizza Apigee per la sicurezza avanzata, come la protezione dalle minacce e OAuth 2.0, per la gestione del traffico, come la memorizzazione nella cache, le quote e la mediazione, e per l'analisi. Apigee può aiutarti a ottenere insight approfonditi su pattern di utilizzo, prestazioni e coinvolgimento delle API, che sono fondamentali per comprendere l'utilizzo delle API di AI generativa.

Pianifica la riduzione controllata

Nei sistemi di AI e ML di produzione, gli errori dei componenti sono inevitabili, proprio come in altri sistemi. La riduzione controllata garantisce che le funzioni essenziali continuino a funzionare, potenzialmente con prestazioni ridotte. Questo approccio previene le interruzioni complete e migliora la disponibilità complessiva. La riduzione controllata è fondamentale per l'inferenza sensibile alla latenza, l'addestramento distribuito e l'AI generativa.

Le sezioni seguenti descrivono le tecniche che puoi utilizzare per pianificare e implementare la riduzione controllata.

Isolamento dei guasti

  • Per isolare i componenti difettosi nelle architetture distribuite, implementa il pattern dell'interruttore di sicurezza utilizzando librerie di resilienza, come Resilience4j in Java e CircuitBreaker in Python.
  • Per evitare errori a cascata, configura le soglie in base alle metriche dei workload di AI e ML, come i tassi di errore e la latenza, e definisci i fallback, come modelli più semplici e dati memorizzati nella cache.

Ridondanza dei componenti

Per i componenti critici, implementa la ridondanza e il failover automatico. Ad esempio, utilizza i cluster multizona o i cluster regionali GKE ed esegui il deployment dei servizi Cloud Run in modo ridondante in regioni diverse. Per instradare il traffico alle istanze integre quando vengono rilevate istanze non integre, utilizza Cloud Load Balancing.

Garantisci la ridondanza dei dati utilizzando i bucket multiregionali di Cloud Storage. Per l'addestramento distribuito, implementa il checkpoint asincrono per riprendere dopo gli errori. Per un addestramento resiliente ed elastico, utilizza Pathways.

Monitoraggio proattivo

La riduzione controllata contribuisce a garantire la disponibilità del sistema durante un errore, ma devi anche implementare misure proattive per controlli di integrità continui e un monitoraggio completo. Raccogli metriche specifiche per AI e ML, come latenza, throughput e utilizzo della GPU. Inoltre, raccogli le metriche di peggioramento delle prestazioni del modello, come la deviazione dei dati e del modello, utilizzando Monitoring e Model Monitoring su Gemini Enterprise Agent Platform.

I controlli di integrità possono attivare la necessità di sostituire i nodi difettosi, eseguire il deployment di una maggiore capacità o attivare automaticamente l'addestramento continuo o l'ottimizzazione delle pipeline che utilizzano dati aggiornati. Questo approccio proattivo aiuta a prevenire sia la riduzione controllata basata sull'accuratezza sia quella a livello di sistema e contribuisce a migliorare l'affidabilità complessiva.

Pratiche SRE

Per monitorare l'integrità dei tuoi sistemi, valuta la possibilità di adottare pratiche SRE per implementare gli obiettivi del livello di servizio (SLO). Gli avvisi sulla perdita del budget di errore e sulla burn rate possono essere indicatori precoci di problemi di affidabilità del sistema. Per saperne di più sulle pratiche SRE, consulta il libro Google SRE.

Crea una piattaforma MLOps end-to-end automatizzata

Un sistema di AI e ML solido, scalabile e affidabile su Google Cloud richiede una piattaforma MLOps end-to-end automatizzata per il ciclo di vita dello sviluppo del modello. Il ciclo di vita dello sviluppo include la gestione iniziale dei dati, l'addestramento continuo del modello, il deployment e il monitoraggio in produzione. Automatizzando queste fasi su Google Cloud, stabilisci processi ripetibili, riduci il lavoro manuale, minimizzi gli errori e acceleri il ritmo dell'innovazione.

Una piattaforma MLOps automatizzata è essenziale per garantire l'affidabilità di livello di produzione per le tue applicazioni. L'Automation contribuisce a garantire la qualità del modello, la riproducibilità e l'integrazione e la distribuzione continue degli artefatti AI e ML.

Per creare una piattaforma MLOps end-to-end automatizzata, tieni conto dei seguenti suggerimenti.

Automatizza il ciclo di vita dello sviluppo dei modelli

Un elemento fondamentale di una piattaforma MLOps automatizzata è l'orchestrazione dell'intero workflow di AI e ML come una serie di passaggi connessi e automatizzati: dalla preparazione e convalida dei dati all'addestramento, alla valutazione, al deployment e al monitoraggio del modello.

  • Utilizza le pipeline di Agent Platform come orchestratore centrale:
    • Definisci workflow end-to-end con componenti modulari per l'elaborazione, l'addestramento, la valutazione e il deployment dei dati.
    • Automatizza le esecuzioni della pipeline utilizzando pianificazioni o trigger come nuovi dati o modifiche al codice.
    • Implementa la parametrizzazione e il controllo delle versioni automatici per ogni esecuzione della pipeline e crea una cronologia delle versioni.
    • Monitora l'avanzamento della pipeline e l'utilizzo delle risorse utilizzando il logging e il tracciamento integrati e l'integrazione con gli avvisi di Monitoring.
  • Definisci le pipeline ML in modo programmatico utilizzando l'SDK Kubeflow Pipelines (KFP) o l'SDK TensorFlow Extended. Per saperne di più, consulta Interfacce per le pipeline di Agent Platform.
  • Orchestra le operazioni utilizzando servizi Google Cloud come Dataflow, addestramento personalizzato di Agent Platform, Model Registry su Gemini Enterprise Agent Platform ed endpoint di Agent Platform.
  • Per i workflow di AI generativa, orchestra i passaggi per la gestione dei prompt, l'inferenza in batch, la valutazione human-in-the-loop (HITL) e il coordinamento dei componenti ADK.

Gestisci l'infrastructure as code

Infrastructure as Code (IaC) è fondamentale per la gestione dell'infrastruttura dei sistemi di AI e ML e per consentire deployment riproducibili, scalabili e gestibili. Le esigenze infrastrutturali dei sistemi di AI e ML sono dinamiche e complesse. I sistemi spesso richiedono hardware specializzato come GPU e Cloud TPU. L'IaC aiuta a mitigare i rischi della gestione manuale dell'infrastruttura garantendo la coerenza, consentendo i rollback e rendendo ripetibili i deployment.

Per gestire in modo efficace le risorse dell'infrastruttura come codice, utilizza le seguenti tecniche.

Automatizza il provisioning delle risorse

Per gestire in modo efficace l'IaC su Google Cloud, definisci ed esegui il provisioning delle risorse dell'infrastruttura AI e ML utilizzando Terraform. L'infrastruttura potrebbe includere risorse come:

  • Cluster GKE configurati con node pool. I node pool possono essere ottimizzati in base ai requisiti del workload. Ad esempio, puoi utilizzare GPU A100, H100, H200 o B200 per l'addestramento e GPU L4 per l'inferenza.
  • Endpoint Agent Platform configurati per l'erogazione del modello, con tipi di macchine e policy di scalabilità definiti.
  • Bucket Cloud Storage per dati e artefatti.

Utilizza i modelli di configurazione

Organizza le tue configurazioni Terraform come template modulari. Per accelerare il provisioning delle risorse AI e ML, puoi utilizzare Cluster Toolkit. Il toolkit fornisce progetti di esempio, ovvero modelli Terraform curati da Google che puoi utilizzare per eseguire il deployment di cluster HPC, AI e ML pronti all'uso in Slurm o GKE. Puoi personalizzare il codice Terraform e gestirlo nel tuo sistema di controllo della versione. Per automatizzare il provisioning delle risorse e aggiornare il workflow, puoi integrare il codice nelle pipeline CI/CD utilizzando Cloud Build.

Automatizza le modifiche alla configurazione

Dopo aver eseguito il provisioning dell'infrastruttura, gestisci le modifiche alla configurazione in corso in modo dichiarativo:

  • In ambienti incentrati su Kubernetes, gestisci le tue risorse Google Cloud come oggetti Kubernetes utilizzando Config Connector.
  • Definisci e gestisci le risorse della piattaforma degli agenti, come set di dati, modelli ed endpoint, istanze Cloud SQL, argomenti Pub/Sub e bucket Cloud Storage, utilizzando i manifest YAML.
  • Esegui il deployment dei manifest nel cluster GKE per integrare la configurazione dell'applicazione e dell'infrastruttura.
  • Automatizza gli aggiornamenti della configurazione utilizzando le pipeline CI/CD e utilizza i modelli per gestire le differenze tra gli ambienti.
  • Implementare configurazioni per policy e service account di Identity and Access Management (IAM) utilizzando l'IaC.

Integrazione con CI/CD

  • Automatizza il ciclo di vita delle risorse dell'infrastruttura Google Cloud integrando l'IaC nelle pipeline CI/CD utilizzando strumenti come Cloud Build e Infrastructure Manager.
  • Definisci i trigger per gli aggiornamenti automatici sui commit del codice.
  • Implementa test e convalide automatici all'interno della pipeline. Ad esempio, puoi creare uno script per eseguire automaticamente i comandi Terraform validate e plan.
  • Archiviare le configurazioni come artefatti e attivare il controllo delle versioni.
  • Definisci ambienti separati, come sviluppo, gestione temporanea e produzione, con configurazioni distinte nel controllo della versione e automatizza la promozione degli ambienti.

Convalida il comportamento del modello

Per mantenere l'accuratezza e la pertinenza del modello nel tempo, automatizza il processo di addestramento e valutazione all'interno della tua piattaforma MLOps. Questa automazione, unita a una convalida rigorosa, contribuisce a garantire che i modelli si comportino come previsto con i dati pertinenti prima di essere sottoposti a deployment in produzione.

  • Configura pipeline di addestramento continuo, attivate da nuovi dati e indicatori di monitoraggio come la deviazione dei dati o eseguite in base a una pianificazione.
    • Per gestire i job di addestramento automatizzati, come le prove di ottimizzazione degli iperparametri e le configurazioni di addestramento distribuito per modelli più grandi, utilizza l'addestramento personalizzato di Agent Platform.
    • Per l'ottimizzazione dei foundation model, automatizza il processo di ottimizzazione e integra i job nelle tue pipeline.
  • Implementa il controllo delle versioni automatico dei modelli e archivia in modo sicuro gli artefatti dei modelli addestrati dopo ogni esecuzione di addestramento riuscita. Puoi archiviare gli artefatti in Cloud Storage o registrarli in Model Registry.
  • Definisci le metriche di valutazione e imposta soglie chiare, come l'accuratezza minima, il tasso di errore massimo e il punteggio F1 minimo.
    • Assicurati che un modello soddisfi le soglie per superare automaticamente la valutazione ed essere preso in considerazione per il deployment.
    • Automatizza la valutazione utilizzando servizi come la valutazione dei modelli in Agent Platform.
    • Assicurati che la valutazione includa metriche specifiche per la qualità dell'output generato, l'accuratezza dei fatti, gli attributi di sicurezza e l'aderenza allo stile o al formato specificato.
  • Per registrare e monitorare automaticamente i parametri, le versioni del codice, le versioni dei set di dati e i risultati di ogni esecuzione di addestramento e valutazione, utilizza Esperimenti su Gemini Enterprise Agent Platform. Questo approccio fornisce una cronologia utile per il confronto, il debug e la riproducibilità.
  • Per ottimizzare l'ottimizzazione degli iperparametri e automatizzare la ricerca di configurazioni ottimali del modello in base all'obiettivo definito, utilizza Agent Platform Vizier.
  • Per visualizzare le metriche di addestramento ed eseguire il debug durante lo sviluppo, utilizza TensorBoard di Agent Platform.

Convalida gli input e gli output delle pipeline di AI e ML

Per garantire l'affidabilità e l'integrità dei tuoi sistemi di AI e ML, devi convalidare i dati quando entrano nei sistemi e si spostano attraverso le pipeline. Devi anche verificare gli input e gli output ai confini dei componenti. Una convalida solida di tutti gli input e gli output (dati non elaborati, dati elaborati, configurazioni, argomenti e file) aiuta a prevenire comportamenti imprevisti e a mantenere la qualità del modello durante l'intero ciclo di vita di MLOps. L'integrazione di questo approccio proattivo nella tua piattaforma MLOps aiuta a rilevare gli errori prima che si propaghino in un sistema e consente di risparmiare tempo e risorse.

Per convalidare in modo efficace gli input e gli output delle pipeline di AI e ML, utilizza le seguenti tecniche.

Automatizza la convalida dei dati

  • Implementa la convalida automatica dei dati nelle pipeline di importazione e pre-elaborazione dei dati utilizzando TensorFlow Data Validation (TFDV).
    • Per i controlli di qualità dei dati su larga scala basati su SQL, utilizza servizi di elaborazione scalabili come BigQuery.
    • Per una convalida programmatica complessa dei dati in modalità flusso o batch, utilizza Dataflow.
  • Monitora le distribuzioni dei dati nel tempo con le funzionalità di TFDV.
    • Visualizza le tendenze utilizzando strumenti integrati con Monitoring per rilevare la deviazione nei dati. Puoi attivare automaticamente le pipeline di riaddestramento del modello quando i pattern dei dati cambiano in modo significativo.
  • Archivia i risultati e le metriche di convalida in BigQuery per l'analisi e il monitoraggio storico e archivia gli artefatti di convalida in Cloud Storage.

Convalida le configurazioni della pipeline e i dati di input

Per evitare errori della pipeline o comportamenti imprevisti causati da impostazioni errate, implementa una convalida rigorosa per tutte le configurazioni della pipeline e gli argomenti della riga di comando:

  • Definisci schemi chiari per i file di configurazione come YAML o JSON utilizzando librerie di convalida degli schemi come jsonschema per Python. Convalida gli oggetti di configurazione rispetto a questi schemi prima dell'inizio di un'esecuzione della pipeline e prima dell'esecuzione di un componente.
  • Implementa la convalida degli input per tutti gli argomenti della riga di comando e i parametri della pipeline utilizzando librerie di analisi degli argomenti come argparse. La convalida deve verificare i tipi di dati corretti, i valori validi e gli argomenti obbligatori.
  • All'interno delle pipeline di Agent Platform, definisci i tipi e le proprietà previsti dei parametri dei componenti utilizzando le funzionalità di convalida degli input dei componenti integrate.
  • Per garantire la riproducibilità delle esecuzioni della pipeline e mantenere una traccia di audit, archivia i file di configurazione con controllo della versione convalidati in Cloud Storage o Artifact Registry.

Convalida i file di input e output

Convalida i file di input e output, come set di dati, artefatti del modello e report di valutazione, per verificarne l'integrità e la correttezza del formato:

  • Convalida i formati file come CSV, Parquet e i tipi di immagini utilizzando le librerie.
  • Per file di grandi dimensioni o artefatti critici, convalida le dimensioni dei file e i checksum per rilevare eventuali danneggiamenti o trasferimenti incompleti utilizzando la convalida dei dati e il rilevamento delle modifiche di Cloud Storage.
  • Esegui la convalida dei file utilizzando Cloud Run Functions (ad esempio, in base agli eventi di caricamento dei file) o all'interno delle pipeline di Dataflow.
  • Archivia i risultati della convalida in BigQuery per semplificare il recupero e l'analisi.

Automatizza il deployment e implementa il monitoraggio continuo

Il deployment automatico e il monitoraggio continuo dei modelli in produzione contribuiscono a garantire l'affidabilità, eseguire aggiornamenti rapidi e rilevare tempestivamente i problemi. Ciò comporta la gestione delle versioni del modello, il deployment controllato, il deployment automatizzato tramite CI/CD e il monitoraggio completo, come descritto nelle sezioni seguenti.

Gestisci le versioni del modello

Gestisci le iterazioni del modello e gli artefatti associati utilizzando gli strumenti di controllo delle versioni:

  • Per monitorare le versioni e i metadati dei modelli e per collegarli agli artefatti dei modelli sottostanti, utilizza Model Registry.
  • Implementa uno schema di controllo delle versioni chiaro (ad esempio, il controllo delle versioni semantico). Per ogni versione del modello, allega metadati completi come parametri di addestramento, metriche di valutazione delle pipeline di convalida e versione del set di dati.
  • Archivia gli artefatti del modello, come i file del modello, i pesi preaddestrati e le immagini container di distribuzione in Artifact Registry e utilizza le sue funzionalità di controllo delle versioni e tagging.
  • Per soddisfare i requisiti di sicurezza e governance, definisci policy di controllo degli accessi rigorose per Model Registry e Artifact Registry.
  • Per registrare e gestire le versioni in modo programmatico e per integrarle nelle pipeline CI/CD automatizzate, utilizza l'SDK o l'API Agent Platform.

Esegui il deployment controllato

Controlla il deployment delle versioni dei modelli negli endpoint utilizzando le funzionalità di gestione del traffico della tua piattaforma di gestione.

  • Implementa un deployment graduale utilizzando la funzionalità di suddivisione del traffico degli endpoint di Agent Platform.
  • Se esegui il deployment del modello in GKE, utilizza tecniche avanzate di gestione del traffico come il deployment canary:
    1. Indirizza un piccolo sottoinsieme del traffico di produzione a una nuova versione del modello.
    2. Monitora continuamente le prestazioni e le percentuali di errore tramite le metriche.
    3. Stabilire che il modello è affidabile.
    4. Implementa la versione per tutto il traffico.
  • Esegui test A/B degli agenti AI:
    1. Esegui il deployment di due diverse versioni di agenti di modelli o di modelli completamente diversi sullo stesso endpoint.
    2. Suddividi il traffico tra i deployment.
    3. Analizza i risultati in base agli scopi commerciali.
  • Implementa meccanismi di rollback automatici in grado di ripristinare rapidamente il traffico dell'endpoint a una versione stabile precedente del modello se vengono attivati avvisi di monitoraggio o se non vengono raggiunte le soglie di prestazioni.
  • Configura le impostazioni di suddivisione del traffico e di deployment in modo programmatico utilizzando l'SDK o l'API Agent Platform.
  • Utilizza Monitoring per monitorare le prestazioni e il traffico tra le versioni.
  • Automatizza il deployment con le pipeline CI/CD. Puoi utilizzare Cloud Build per creare container, creare versioni degli artefatti e attivare il deployment negli endpoint della piattaforma dell'agente.
  • Assicurati che le pipeline CI/CD gestiscano le versioni ed eseguano il pull da Artifact Registry.
  • Prima di spostare il traffico, esegui test automatici degli endpoint per verificare la correttezza delle previsioni, la latenza, la velocità effettiva e la funzione API.
  • Archivia tutte le configurazioni nel controllo della versione.

Monitoraggio continuo

  • Utilizza Model Monitoring su Agent Platform per rilevare automaticamente il degrado delle prestazioni, la deviazione dei dati (variazioni nella distribuzione degli input rispetto all'addestramento) e la deviazione della previsione (variazioni negli output del modello).
    • Configura i job di rilevamento della deviazione con soglie e avvisi.
    • Monitora le prestazioni in tempo reale: latenza di previsione, velocità effettiva, percentuali di errore.
  • Definisci metriche personalizzate in Monitoring per i KPI aziendali.
  • Integra i risultati di Model Monitoring su Agent Platform e le metriche personalizzate con Monitoring per avvisi e dashboard.
  • Configura canali di notifica come email, Slack o PagerDuty e configura la correzione automatica.
  • Per eseguire il debug dei log di previsione, utilizza Logging.
  • Integrare il monitoraggio con la gestione degli incidenti.

Per gli endpoint di AI generativa, monitora le caratteristiche dell'output come tossicità e coerenza:

  • Monitora la deviazione dell'erogazione delle caratteristiche.
  • Implementa una convalida granulare delle previsioni: convalida gli output rispetto a intervalli e formati previsti utilizzando una logica personalizzata.
  • Monitora le distribuzioni delle previsioni per rilevare eventuali variazioni.
  • Convalida lo schema di output.
  • Configura gli avvisi per output e variazioni imprevisti.
  • Monitora e rispondi agli eventi di convalida in tempo reale utilizzando Pub/Sub.

Assicurati che l'output del monitoraggio completo venga utilizzato per l'addestramento continuo.

Mantieni la fiducia e il controllo attraverso la governance dei dati e dei modelli

L'affidabilità dell'AI e del ML va oltre l'uptime tecnico. Include fiducia e una governance solida di dati e modelli. Gli output dell'AI potrebbero essere imprecisi, distorti o obsoleti. Questi problemi minano la fiducia e possono causare danni. Tracciabilità completa, controllo dell'accesso efficace, convalida automatizzata e pratiche trasparenti contribuiscono a garantire che gli output dell'AI siano affidabili, attendibili e conformi agli standard etici.

Per mantenere la fiducia e il controllo attraverso la governance di dati e modelli, tieni presente i seguenti suggerimenti.

Stabilisci cataloghi di dati e modelli per la tracciabilità

Per facilitare il tracciamento, l'audit e la comprensione della derivazione dei tuoi asset di AI e ML, mantieni un registro solido e centralizzato delle versioni dei dati e dei modelli durante il loro ciclo di vita. Un catalogo di dati e modelli affidabile funge da Single Source Of Truth per tutti gli artefatti utilizzati e prodotti dalle pipeline di AI e ML, dalle origini dati non elaborate e dai set di dati elaborati alle versioni dei modelli addestrati e agli endpoint di cui è stato eseguito il deployment.

Utilizza i seguenti prodotti, strumenti e tecniche per creare e gestire i cataloghi per i tuoi asset di dati:

  • Crea un catalogo a livello aziendale dei tuoi asset di dati utilizzando Knowledge Catalog. Per rilevare e creare automaticamente inventari degli asset di dati, integra Knowledge Catalog con i tuoi sistemi di archiviazione, come BigQuery, Cloud Storage e Pub/Sub.
  • Assicurati che i tuoi dati siano ad alta affidabilità e durabilità archiviandoli in bucket multiregionali o a due regioni di Cloud Storage. I dati caricati in questi bucket vengono archiviati in modo ridondante in almeno due posizioni geografiche distinte. Questa ridondanza offre una resilienza integrata contro le interruzioni a livello di regione e contribuisce a garantire l'integrità dei dati.
  • Tagga e annota i tuoi set di dati con metadati aziendali pertinenti, informazioni sulla proprietà, livelli di sensibilità e dettagli sulla derivazione. Ad esempio, collega un set di dati elaborato alla sua origine non elaborata e alla pipeline che ha creato il set di dati.
  • Crea un repository centrale per le versioni dei modelli utilizzando Model Registry. Registra ogni versione del modello addestrato e collegala ai metadati associati. I metadati possono includere quanto segue:
    • Parametri di addestramento.
    • Metriche di valutazione delle pipeline di convalida.
    • Versione del set di dati utilizzata per l'addestramento, con derivazione risalente alla voce pertinente di Knowledge Catalog.
    • La versione del codice che ha generato il set di dati.
    • Dettagli sul framework o sul foundation model utilizzato.
  • Prima di importare un modello in Model Registry, archivia gli artefatti del modello, come i file del modello e i pesi preaddestrati, in un servizio come Cloud Storage. Archivia le immagini container personalizzate per la distribuzione o i job di addestramento personalizzato in un repository sicuro come Artifact Registry.
  • Per garantire che gli asset di dati e modelli vengano registrati e aggiornati automaticamente nei rispettivi cataloghi al momento della creazione o della modifica, implementa processi automatizzati all'interno delle pipeline MLOps. Questa catalogazione completa fornisce una tracciabilità end-to-end dai dati non elaborati alla previsione, consentendoti di controllare gli input e i processi che hanno portato a una versione del modello o a una previsione specifica. La funzionalità di controllo è fondamentale per il debug di comportamenti imprevisti, per garantire la conformità alle norme di utilizzo dei dati e per comprendere l'impatto delle modifiche ai dati o ai modelli nel tempo.
  • Per l'AI generativa e i foundation model, il catalogo deve anche monitorare i dettagli sul foundation model specifico utilizzato, i parametri di ottimizzazione e i risultati della valutazione specifici per la qualità e la sicurezza dell'output generato.

Implementa controlli dell'accesso e tracce di audit efficaci

Per mantenere la fiducia e il controllo nei tuoi sistemi di AI e ML, è essenziale proteggere i dati e i modelli sensibili da accessi non autorizzati e garantire la responsabilità di tutte le modifiche.

  • Implementa controlli degli accessi rigorosi e mantieni tracce di audit dettagliate in tutti i componenti dei tuoi sistemi di AI e ML in Google Cloud.
  • Definisci autorizzazioni granulari in IAM per utenti, gruppi e service account che interagiscono con le tue risorse di AI e ML.
  • Segui rigorosamente il principio del privilegio minimo.
  • Concedi solo le autorizzazioni minime necessarie per attività specifiche. Ad esempio, un account di servizio di addestramento deve avere l'accesso in lettura ai dati di addestramento e l'accesso in scrittura agli artefatti del modello, ma il servizio potrebbe non avere bisogno dell'accesso in scrittura agli endpoint di distribuzione in produzione.

Applica le policy IAM in modo coerente a tutti gli asset e le risorse pertinenti nei tuoi sistemi di AI e ML, tra cui:

  • Bucket Cloud Storage che contengono dati sensibili o artefatti del modello.
  • Set di dati BigQuery.
  • Risorse di Agent Platform, come repository di modelli, endpoint, pipeline e risorse Feature Store.
  • Risorse di computing, come i cluster GKE e i servizi Cloud Run.

Utilizza l'audit e i log per acquisire, monitorare e analizzare l'attività di accesso:

  • Abilita Cloud Audit Logs per tutti i servizi Google Cloud utilizzati dal tuo sistema di AI e ML.
  • Configura gli audit log per acquisire informazioni dettagliate sulle chiamate API, sugli eventi di accesso ai dati e sulle modifiche alla configurazione apportate alle tue risorse. Monitora i log per rilevare attività sospette, tentativi di accesso non autorizzati o modifiche impreviste ai dati critici o agli asset del modello.
  • Per l'analisi, gli avvisi e la visualizzazione in tempo reale, trasmetti in streaming gli audit log a Logging.
  • Per un'archiviazione a lungo termine conveniente e un'analisi della sicurezza retrospettiva o audit di conformità, esporta i log in BigQuery.
  • Per il monitoraggio centralizzato della sicurezza, integra gli audit log con i tuoi sistemi di security information and event management (SIEM). Esamina regolarmente le policy di accesso e le tracce di audit per assicurarti che siano in linea con i tuoi requisiti di governance e per rilevare potenziali violazioni delle policy.
  • Per le applicazioni che gestiscono dati sensibili, come le informazioni che consentono l'identificazione personale (PII) per l'addestramento o l'inferenza, utilizza i controlli di Sensitive Data Protection all'interno delle pipeline o nel datastore.
  • Per l'AI generativa e le soluzioni agentiche, utilizza le tracce di audit per monitorare chi ha eseguito l'accesso a modelli o strumenti specifici, quali dati sono stati utilizzati per l'ottimizzazione o il prompting e quali query sono state inviate agli endpoint di produzione. Le tracce di audit ti aiutano a garantire la responsabilità e forniscono dati cruciali per indagare sull'uso improprio dei dati o sulle violazioni delle policy.

Affronta i bias, la trasparenza e la spiegabilità

Per creare sistemi di AI e ML affidabili, devi affrontare i potenziali bias insiti nei dati e nei modelli, puntare alla trasparenza nel comportamento del sistema e fornire spiegabilità per gli output dei modelli. È particolarmente importante creare sistemi affidabili in domini sensibili o quando utilizzi modelli complessi come quelli che vengono solitamente utilizzati per le applicazioni di AI generativa.

  • Implementa pratiche proattive per identificare e mitigare i bias durante l'intero ciclo di vita di MLOps.
  • Analizza i dati di addestramento per individuare eventuali bias utilizzando strumenti che rilevano l'asimmetria nelle distribuzioni delle caratteristiche tra diversi gruppi demografici o attributi sensibili.
  • Valuta le prestazioni complessive del modello e le prestazioni in sezioni di dati predefinite. Questa valutazione ti aiuta a identificare prestazioni disparate o bias che influiscono su sottogruppi specifici.

Per la trasparenza e la spiegabilità del modello, utilizza strumenti che aiutino gli utenti e gli sviluppatori a capire perché un modello ha effettuato una determinata previsione o ha prodotto un output specifico.

  • Per i modelli tabulari di cui è stato eseguito il deployment sugli endpoint di Agent Platform, genera attribuzioni delle caratteristiche, che indicano le caratteristiche di input che hanno contribuito maggiormente alla previsione.
  • Esplora in modo interattivo il comportamento del modello e i potenziali bias su un set di dati utilizzando strumenti indipendenti dal modello come lo strumento What-If, che si integra con TensorBoard.
  • Integra la spiegabilità nelle dashboard di monitoraggio. Nelle situazioni in cui comprendere il ragionamento del modello è importante per la fiducia o il processo decisionale, fornisci i dati di spiegabilità direttamente agli utenti finali tramite le interfacce dell'applicazione.
  • Per modelli complessi come gli LLM utilizzati per i modelli di AI generativa, spiega il processo seguito da un agente, ad esempio utilizzando i log di traccia. La spiegabilità è relativamente complessa per questi modelli, ma è comunque fondamentale.
  • Nelle applicazioni RAG, fornisci citazioni per le informazioni recuperate. Puoi anche utilizzare tecniche come il prompt engineering per guidare il modello a fornire spiegazioni o mostrare i suoi passaggi di ragionamento.
  • Rileva i cambiamenti nel comportamento o negli output del modello che potrebbero indicare bias o iniquità emergenti implementando il monitoraggio continuo in produzione. Documenta le limitazioni del modello, i casi d'uso previsti e i potenziali bias noti come parte dei metadati del modello in Model Registry.

Implementa pratiche olistiche di osservabilità e affidabilità di AI e ML

L'osservabilità olistica è essenziale per la gestione di sistemi di AI e ML complessi in produzione. È inoltre essenziale per misurare l'affidabilità di sistemi AI e ML complessi, in particolare per l'AI generativa, a causa della sua complessità, dell'intensità delle risorse e del potenziale di output imprevedibili. L'osservabilità olistica prevede l'osservazione dell'infrastruttura, del codice dell'applicazione, dei dati e del comportamento del modello per ottenere insight per il rilevamento, la diagnosi e la risposta proattivi ai problemi. Questa osservabilità porta in ultima analisi a sistemi affidabili e ad alte prestazioni. Per ottenere un'osservabilità olistica, devi:

  • Adotta i principi SRE.
  • Definisci obiettivi di affidabilità chiari.
  • Monitora le metriche nei vari livelli del sistema.
  • Utilizza gli insight dell'osservabilità per il miglioramento continuo e la gestione proattiva.

Per implementare pratiche di osservabilità e affidabilità olistiche per i workload di AI e ML in Google Cloud, prendi in considerazione i seguenti suggerimenti.

Stabilisci obiettivi di affidabilità e metriche aziendali

Identifica gli indicatori chiave di prestazione (KPI) su cui il tuo sistema di AI e ML influisce direttamente. I KPI potrebbero includere le entrate influenzate dai suggerimenti dell'AI, il tasso di abbandono dei clienti previsto o mitigato dai sistemi di AI e il coinvolgimento degli utenti e i tassi di conversione generati dalle funzionalità di AI generativa.

Per ogni KPI, definisci le metriche di affidabilità tecnica corrispondenti che influiscono sul KPI. Ad esempio, se il KPI è "soddisfazione del cliente con un assistente AI conversazionale", le metriche di affidabilità corrispondenti possono includere:

  • Il tasso di successo delle richieste degli utenti.
  • La latenza delle risposte: tempo al primo token (TTFT) e streaming dei token per gli LLM.
  • La percentuale di risposte non pertinenti o dannose.
  • La percentuale di completamento delle attività da parte dell'agente.

Per l'addestramento di AI e ML, le metriche di affidabilità possono includere l'utilizzo di FLOPS del modello (MFU), le iterazioni al secondo, i token al secondo e i token per dispositivo.

Per misurare e migliorare efficacemente l'affidabilità di AI e ML, inizia impostando obiettivi di affidabilità chiari e allineati agli scopi commerciali generali. Adotta l'approccio SRE definendo SLO che quantificano i livelli accettabili di affidabilità e prestazioni per i tuoi servizi di AI e ML dal punto di vista degli utenti. Quantifica queste metriche di affidabilità tecnica con target SLO specifici.

Di seguito sono riportati alcuni esempi di target SLO:

  • Il 99,9% delle chiamate API deve restituire una risposta positiva.
  • La latenza di inferenza del 95° percentile deve essere inferiore a 300 ms.
  • Il TTFT deve essere inferiore a 500 ms per il 99% delle richieste.
  • La percentuale di output dannosi deve essere inferiore allo 0,1%.

L'allineamento degli SLO direttamente alle esigenze aziendali garantisce che gli sforzi di affidabilità siano concentrati sul comportamento del sistema più critico che influisce sugli utenti e sull'attività. Questo approccio aiuta a trasformare l'affidabilità in una proprietà di engineering misurabile e attuabile.

Monitora le prestazioni dell'infrastruttura e delle applicazioni

Monitora le metriche dell'infrastruttura in tutte le risorse utilizzate dai tuoi sistemi di AI e ML. Le metriche includono l'utilizzo del processore (CPU, GPU e Cloud TPU), la memoria utilizzata, il throughput e la latenza di rete e l'I/O del disco. Monitora le metriche per gli ambienti gestiti, come l'addestramento e la distribuzione di Agent Platform, e per le risorse autogestite, come i nodi GKE e le istanze Cloud Run.

Monitora i quattro segnali d'oro per le tue applicazioni AI e ML:

  • Latenza: tempo necessario per rispondere alle richieste.
  • Traffico: volume di richieste o workload.
  • Tasso di errore: tasso di richieste o operazioni non riuscite.
  • Saturazione: utilizzo di risorse critiche come CPU, memoria e acceleratori GPU o Cloud TPU, che indica quanto il sistema è vicino ai limiti di capacità.

Esegui il monitoraggio utilizzando le seguenti tecniche:

  • Raccogli, archivia e visualizza le metriche dell'infrastruttura e delle applicazioni utilizzando Monitoring. Puoi utilizzare dashboard predefinite per i servizi Google Cloud e creare dashboard personalizzate in base agli indicatori di prestazioni specifici e allo stato dell'infrastruttura del tuo workload.
  • Raccogli log dettagliati dalle tue applicazioni di AI e ML e dall'infrastruttura sottostante utilizzando Logging. Questi log sono essenziali per la risoluzione dei problemi e l'analisi del rendimento. Forniscono il contesto di eventi ed errori.
  • Individua i problemi di latenza e comprendi i flussi di richieste tra microservizi di AI e ML distribuiti utilizzando Cloud Trace. Questa funzionalità è fondamentale per il debug di interazioni complesse di Agent Conversation o di pipeline di inferenza con più componenti.
  • Identifica i colli di bottiglia delle prestazioni all'interno dei blocchi di funzioni nel codice dell'applicazione utilizzando Cloud Profiler. Identificare i colli di bottiglia delle prestazioni può aiutarti a ottimizzare l'utilizzo delle risorse e il tempo di esecuzione.
  • Raccogli metriche specifiche relative agli acceleratori, come l'utilizzo dettagliato della GPU per processo, l'utilizzo della memoria per processo e la temperatura, utilizzando strumenti come NVIDIA Data Center GPU Manager (DCGM).

Implementa l'osservabilità dei dati e dei modelli

I sistemi di AI generativa affidabili richiedono una solida osservabilità dei dati e dei modelli, che inizia con il monitoraggio della pipeline end-to-end.

  • Monitora le velocità di importazione dati, i volumi elaborati e le latenze di trasformazione utilizzando servizi come Dataflow.
  • Monitora i tassi di successo e di errore dei job all'interno delle tue pipeline MLOps, incluse le pipeline gestite da Agent Platform Pipelines.

La valutazione continua della qualità dei dati è fondamentale.

  • Gestisci e amministra i dati utilizzando Knowledge Catalog:
    • Valuta l'accuratezza convalidando i dati rispetto ai dati di fatto o monitorando i tassi di rilevamento degli outlier.
    • Monitora l'aggiornamento in base all'età dei dati e alla frequenza degli aggiornamenti rispetto agli SLA.
    • Valuta la completezza monitorando le percentuali di valori nulli e i tassi di compilazione dei campi obbligatori.
    • Garantire la validità e la coerenza tramite controlli di conformità allo schema e di duplicazione.
  • Rileva in modo proattivo le anomalie utilizzando gli avvisi di Monitoring e tramite una chiara derivazione dei dati per la tracciabilità.
  • Per i sistemi RAG, esamina la pertinenza del contesto recuperato e la fondatezza (attribuzione alla fonte) delle risposte.
  • Monitora il throughput delle query del database vettoriale.

Le metriche chiave di osservabilità del modello includono i conteggi dei token di input-output e i tassi di errore specifici del modello, come le allucinazioni o gli errori di risoluzione delle query. Per monitorare queste metriche, utilizza Model Monitoring su Agent Platform.

  • Monitora costantemente i punteggi di tossicità dell'output e le valutazioni dei feedback degli utenti.
  • Automatizza la valutazione degli output del modello in base a criteri definiti utilizzando il servizio di valutazione dell'AI generativa.
  • Garantisci prestazioni costanti monitorando sistematicamente la deviazione dei dati e dei concetti con metriche complete sul tasso di errore.

Per monitorare le metriche del modello, puoi utilizzare TensorBoard o MLflow. Per un'analisi e una profilazione approfondite per risolvere i problemi di prestazioni, puoi profilare i modelli sulle VM Cloud TPU o utilizzare NVIDIA Nsight.

Collaboratori

Autori:

Altri collaboratori: