Best practice per l'implementazione del machine learning su Google Cloud

Last reviewed 2022-12-15 UTC

Questo documento introduce le best practice per l'implementazione del machine learning (ML) su Google Cloud, con particolare attenzione ai modelli con addestramento personalizzato basati dati e codice. Forniamo consigli su come sviluppare un modello di modello in tutto il flusso di lavoro di machine learning, tra cui azioni chiave e link per ulteriori approfondimenti.

Il seguente diagramma fornisce una panoramica generale delle fasi del processo di ML trattato in questo documento, che includono:

  1. Sviluppo dell'ML
  2. Trattamento dati
  3. Formazione operativa
  4. Deployment e distribuzione del modello
  5. Orchestrazione dei flussi di lavoro ML
  6. organizzazione degli artefatti
  7. Monitoraggio del modello

Flusso di lavoro di machine learning su Google Cloud

Il documento non è un elenco esaustivo delle raccomandazioni. il suo obiettivo è aiutare data scientist e architetti di machine learning comprendono l'ambito attività coinvolte nell'uso del ML su Google Cloud e pianificarle di conseguenza. E mentre per lo sviluppo di ML come AutoML sono menzionati in Utilizzare gli strumenti e i prodotti consigliati, Questo documento è incentrato sui modelli con addestramento personalizzato.

Prima di seguire le best practice riportate in questo documento, ti consigliamo di leggi Introduzione a Vertex AI.

Ai fini del presente documento, si presume che:

  • Stai utilizzando principalmente i servizi Google Cloud. ibrido e on-premise approcci non trattati in questo documento.

  • Prevedi di raccogliere i dati di addestramento e archiviarli in Google Cloud.

  • Hai una conoscenza di livello intermedio di machine learning, big data di sviluppo e pre-elaborazione dei dati, nonché una familiarità con Cloud Storage BigQuery e Concetti fondamentali di Google Cloud.

Se non hai mai utilizzato il machine learning, dai un'occhiata al Machine Learning Crash Course di Google.

Nella tabella che segue sono elencati gli strumenti e i prodotti consigliati per ogni fase del Flusso di lavoro ML come descritto in questo documento:

Passaggio del flusso di lavoro di machine learning Strumenti e prodotti consigliati
Configurazione dell'ambiente ML
Sviluppo del ML
Trattamento dati
Addestramento operativo
Deployment e distribuzione del modello
Orchestrazione dei flussi di lavoro ML
Organizzazione degli artefatti
Monitoraggio del modello

Google offre AutoML, Previsioni di Vertex AI, e BigQuery ML come alternative di routine di addestramento al modello con addestramento personalizzato di Vertex AI soluzioni. La tabella seguente fornisce consigli su quando utilizzare questi per Vertex AI.

Ambiente ML Descrizione Scegli questo ambiente se...
BigQuery ML BigQuery ML riunisce dati, infrastruttura e predefiniti in un unico sistema.
  • Tutti i dati sono contenuti in BigQuery.
  • Non hai problemi con l'SQL.
  • L'insieme di modelli disponibili in BigQuery ML corrisponde al problema che stai cercando di risolvere.
AutoML (nel contesto di Vertex AI) AutoML fornisce routine di addestramento per problemi comuni come la classificazione delle immagini e la regressione tabulare. Quasi tutti gli aspetti della per addestrare e fornire un modello, come la scelta di un'architettura, l'ottimizzazione degli iperparametri e le macchine di provisioning vengono gestite automaticamente.
Modelli Vertex AI con addestramento personalizzato Vertex consente di eseguire routine di addestramento personalizzate ed eseguire il deployment di modelli di qualsiasi tipo sull'architettura serverless. Vertex AI offre servizi aggiuntivi, come il monitoraggio e l'ottimizzazione degli iperparametri, per semplifica lo sviluppo di un modello. Consulta Scelta di un metodo di addestramento personalizzato.
  • Il tuo problema non corrisponde ai criteri elencati in questa tabella per in BigQuery ML o AutoML.
  • Stai già eseguendo l'addestramento on-premise o su un'altra piattaforma cloud, e serve coerenza tra le piattaforme.

Configurazione dell'ambiente di machine learning

Usa le istanze di Vertex AI Workbench per la sperimentazione e lo sviluppo

Indipendentemente dagli strumenti di cui disponi, ti consigliamo di utilizzare Vertex AI Workbench di Compute Engine per la sperimentazione e lo sviluppo, inclusa la scrittura del codice, l'avvio di job, eseguire query e controllare lo stato. Istanze di Vertex AI Workbench ti consentono di accedere a tutti i dati di Google Cloud e l'intelligenza artificiale (AI) in modo semplice e riproducibile.

Le istanze di Vertex AI Workbench offrono anche un insieme sicuro di software e pattern di accesso all'interno della confezione. È pratica comune personalizzare Google Cloud proprietà come la rete e Identity and Access Management e il software (tramite un container) associate a un'istanza di Vertex AI Workbench. Vedi Introduzione a Vertex AI e Introduzione a Vertex AI Workbench di Compute Engine per ulteriori informazioni.

Crea un'istanza di Vertex AI Workbench per ogni membro del team

Crea un Vertex AI Workbench istanza per ciascun membro del team di data science. Se un membro del team è coinvolto in a più progetti, soprattutto quelli con dipendenze diverse, consigliamo di utilizzare più istanze, trattare ognuna come area di lavoro virtuale. Tieni presente che puoi interrompere le istanze di Vertex AI Workbench quando non sono in uso.

Archivia le risorse e gli artefatti ML in base ai criteri aziendali

Il controllo dell'accesso più semplice consiste nell'archiviare sia le risorse non elaborate che quelle di Vertex AI e artefatti, come set di dati e modelli, nello stesso progetto Google Cloud. Generalmente, l'azienda ha delle norme che controllano l'accesso. Nei casi in cui sono archiviate le risorse e gli artefatti nei progetti, configurare il controllo dell'accesso aziendale tra progetti con Identity and Access Management (IAM).

Usa l'SDK Vertex AI per Python

Usa l'SDK Vertex AI per Python, un metodo Python per utilizzare Vertex AI flussi di lavoro end-to-end per la creazione di modelli, che funzionano perfettamente con i framework ML preferiti, tra cui PyTorch, TensorFlow, XGBoost e scikit-learn.

In alternativa, puoi utilizzare la console Google Cloud, che supporta la funzionalità di Vertex AI come interfaccia utente tramite il browser.

Sviluppo del machine learning

Lo sviluppo del machine learning riguarda la preparazione dei dati, la sperimentazione, e la valutazione del modello. Per risolvere un problema di machine learning, in genere necessarie per creare e confrontare molti modelli diversi per capire cosa funziona meglio.

In genere, i data scientist addestrano i modelli utilizzando diverse architetture, input set di dati, iperparametri e hardware. I data scientist valutano i modelli risultanti esaminando metriche di rendimento aggregate come accuratezza, precisione e richiamo sui set di dati di test. Infine, i data scientist valutano le prestazioni dei modelli rispetto a determinati sottoinsiemi di dati diverse versioni e architetture dei modelli.

Prepara i dati di addestramento

I dati utilizzati per addestrare un modello possono provenire da un numero qualsiasi di sistemi, ad esempio ad esempio log di un sistema di servizi online, immagini di un dispositivo locale o documenti copiati dal web.

Indipendentemente dall'origine dei dati, estrai i dati dai sistemi di origine e convertire nel formato e nell'archiviazione (separata dall'origine operativa) ottimizzate per l'addestramento ML. Per ulteriori informazioni sulla preparazione dei dati di utilizzare con Vertex AI, consulta Preparare i dati di addestramento da utilizzare con Vertex AI.

Archivia dati strutturati e semistrutturati in BigQuery

Se utilizzi i modelli strutturati semistrutturati, consigliamo di archiviare tutti i dati in BigQuery, seguendo il consiglio di BigQuery per la struttura del progetto. Nella maggior parte dei casi, puoi archiviare dati intermedi, anche in BigQuery. Per ottenere la massima velocità, è meglio memorizzare ai dati materializzati invece di utilizzare viste o sottoquery per i dati di addestramento.

Leggere i dati da BigQuery utilizzando l'API BigQuery Storage. Per il monitoraggio degli artefatti, valuta l'utilizzo di un set di dati tabulare gestito. La tabella seguente elenca gli strumenti di Google Cloud che semplificano utilizza l'API:

Se utilizzi... Utilizza questo strumento Google Cloud
TensorFlow o Keras Lettore tf.data.dataset per BigQuery
TFX Client BigQuery
Dataflow Connettore I/O BigQuery
Qualsiasi altro framework (ad esempio PyTorch, XGBoost o scilearn-kit) Libreria client Python di BigQuery

Archivia immagini, video, audio e dati non strutturati su Cloud Storage

Archivia questi dati in container di grandi dimensioni su Cloud Storage. Applicabile in file TFRecord con sharding se utilizzi TensorFlow o file Avro, stai utilizzando qualsiasi altro framework.

Combinare più immagini, video o clip audio singoli in file di grandi dimensioni, In questo modo migliorerai la velocità effettiva di lettura e scrittura in Cloud Storage. Punta a file di almeno 100 MB e tra 100 e 10.000 shard.

Per abilitare la gestione dei dati, utilizza i bucket e le directory Cloud Storage raggruppare gli shard. Per ulteriori informazioni, vedi Che cos'è Cloud Storage?

Utilizzare Vertex AI Data Labeling per i dati non strutturati

Potresti aver bisogno di essere umani per fornire etichette ai tuoi dati, soprattutto quando arriva ai dati non strutturati. Per questo lavoro, utilizza Vertex AI Data Labeling. Puoi assumere i tuoi etichettatori e utilizzare il software di Google Cloud per la gestione il loro lavoro oppure puoi utilizzare gli etichettatori interni di Google per l'attività. Per ulteriori informazioni informazioni, consulta la sezione Richiedere l'etichettatura dei dati.

Utilizza Vertex AI Feature Store per i dati strutturati

Quando si addestra un modello con dati strutturati, indipendentemente da dove ti trovi per addestrare il modello, segui questi passaggi:

  1. Cerca Vertex AI Feature Store per determinare se le funzionalità esistenti soddisfano i tuoi requisiti.

    1. Apri Vertex AI Feature Store ed esegui una ricerca per vedere se una caratteristica è già che correla il tuo caso d'uso o copre l'indicatore che stai interessato a passare al modello.

    2. Se ci sono caratteristiche che vuoi utilizzare in Vertex AI Feature Store, recupera queste caratteristiche per le etichette di addestramento Funzionalità di recupero dati in batch di Vertex AI Feature Store.

  2. Crea una nuova funzionalità. Se Vertex AI Feature Store non include le caratteristiche che ti servono, creane una nuova utilizzando i dati del tuo data lake.

    1. Recupera i dati non elaborati dal tuo data lake e scrivi gli script da eseguire l'elaborazione e l'ingegneria delle caratteristiche necessarie.

    2. Unire i valori delle caratteristiche recuperati da Vertex AI Feature Store e i nuovi valori delle caratteristiche creati dal data lake. Unione i valori delle caratteristiche producono il set di dati di addestramento.

    3. Imposta un job periodico per calcolare i valori aggiornati della nuova caratteristica. Una volta stabilito che una caratteristica è utile e vuoi metterla in produzione, impostare un job programmato regolarmente con frequenza per calcolare i valori aggiornati di quella caratteristica e importarli in Vertex AI Feature Store. Aggiungendo la nuova funzionalità a Vertex AI Feature Store, ha automaticamente una soluzione la pubblicazione online (per i casi d'uso di previsione online) e puoi condividere funzionalità con altri nell'organizzazione che potrebbero trarne vantaggio. per i propri modelli di ML.

Per saperne di più, consulta Vertex AI Feature Store.

Evita l'archiviazione a blocchi dei dati

Evita di archiviare i dati nell'archiviazione a blocchi, come i file system di rete, o su virtuali dei dischi rigidi di una macchina (VM). Questi strumenti sono più difficili da gestire rispetto a Cloud Storage e BigQuery, e spesso presentano difficoltà nell'ottimizzazione delle prestazioni. Analogamente, evitare di leggere i dati direttamente da database come Cloud SQL. Archivia invece i dati in BigQuery e Cloud Storage. Per ulteriori informazioni, vedi Documentazione di Cloud Storage e Introduzione al caricamento dei dati per BigQuery.

Utilizzare Vertex AI TensorBoard e Vertex AI Experiments per analizzare gli esperimenti

Durante lo sviluppo dei modelli, utilizza Vertex AI TensorBoard per visualizzare e confrontare esperimenti specifici, ad esempio basati su iperparametri. Vertex AI TensorBoard è una versione gestita di Vertex AI TensorBoard di livello enterprise economicamente conveniente e sicura che consente a data scientist e I ricercatori ML collaborano facilmente rendendo più semplici il monitoraggio, il confronto e per condividere i propri esperimenti. Vertex AI TensorBoard consente il monitoraggio metriche dell'esperimento come la perdita e l'accuratezza nel tempo, la visualizzazione del modello grafico, proiezione degli incorporamenti in uno spazio dimensionale più basso e molto altro ancora.

Usa Vertex AI Experiments per l'integrazione con Vertex ML Metadata e registrare e creare collegamenti tra parametri, metriche e artefatti di set di dati e modelli.

Addestra un modello all'interno di un'istanza di Vertex AI Workbench per set di dati di piccole dimensioni

Addestramento di un modello con Vertex AI Workbench istanza può essere sufficiente per set di dati di piccole dimensioni o sottoinsiemi di un set di dati più grande. Potrebbe essere utile per usare il servizio di addestramento per set di dati più grandi o per set di dati addestramento. Utilizzo dell'addestramento Vertex AI servizio si consiglia anche di mettere in produzione l'addestramento anche su set di dati di piccole dimensioni la formazione viene svolta in base a un programma o in risposta all'arrivo di dati aggiuntivi.

Massimizza l'accuratezza predittiva del tuo modello con l'ottimizzazione degli iperparametri

Per massimizzare l'accuratezza predittiva del modello, utilizza l'ottimizzazione degli iperparametri, strumento di miglioramento automatico dei modelli fornito da Vertex AI Training che sfrutta l'infrastruttura di elaborazione di Google Cloud Vertex AI Vizier da testare configurazioni diverse degli iperparametri durante l'addestramento del modello. L'ottimizzazione degli iperparametri elimina la necessità di regolare manualmente gli iperparametri nel corso di numerose esecuzioni di addestramento per arrivare ai valori ottimali.

Per saperne di più sull'ottimizzazione degli iperparametri, consulta Panoramica dell'ottimizzazione degli iperparametri e Utilizzo dell'ottimizzazione degli iperparametri.

Utilizzare un'istanza di Vertex AI Workbench per comprendere i tuoi modelli

Usa un Vertex AI Workbench istanza per valutare e comprendere i modelli. Oltre alle librerie comuni integrate come scikit-learn, le istanze di Vertex AI Workbench includono Strumento What-If (WIT) e lo Strumento di interpretabilità linguistica (LIT). WIT consente di analizzare in modo interattivo i bias dei modelli utilizzando più tecniche del linguaggio naturale, mentre LIT aiuta a comprendere di comportamento del modello attraverso uno strumento visivo, interattivo ed estensibile.

Utilizza le attribuzioni delle caratteristiche per ottenere approfondimenti sulle previsioni del modello

Vertex Explainable AI è parte integrante del processo di implementazione dell'ML, offrendo attribuzioni delle caratteristiche per fornire approfondimenti sul motivo per cui i modelli generano per le previsioni. Descrivendo l'importanza di ciascuna caratteristica utilizzata da un modello di input per fare una previsione, Vertex Explainable AI aiuta a comprendere il comportamento del modello e creare fiducia nei modelli.

Vertex Explainable AI supporta modelli con addestramento personalizzato basati su tabelle come immagini.

Per saperne di più su Vertex Explainable AI, consulta:

Trattamento dati

L'approccio consigliato per l'elaborazione dei dati dipende dal framework e i tipi di dati che usi. Questa sezione fornisce consigli di alto livello per: scenari più comuni.

Usare BigQuery per elaborare dati strutturati e semistrutturati

Utilizza BigQuery per archiviare dati strutturati o semistrutturati non elaborati. Se stai creando il tuo modello utilizzando BigQuery ML, usano le trasformazioni integrate in BigQuery per la pre-elaborazione dei dati. Se AutoML, utilizza trasformazioni incorporate in AutoML per la pre-elaborazione dei dati. Se stai creando un modello personalizzato, l'uso delle trasformazioni BigQuery potrebbe essere conveniente.

Usa Dataflow per elaborare i dati

Con grandi volumi di dati, puoi utilizzare Dataflow, che utilizza Apache Beam di programmazione di un modello. Puoi usare Dataflow per convertire i file non strutturati in formati di dati binari come TFRecord, che possono migliorare le prestazioni l'importazione dati durante il processo di addestramento.

Utilizza Dataproc per l'elaborazione dei dati Spark serverless

In alternativa, se la tua organizzazione investe in una Codebase Apache Spark e competenze, valuta l'utilizzo di Dataproc. Usa script Python una tantum per set di dati più piccoli che rientrano in memoria.

Se devi eseguire trasformazioni che non possono essere espresse in Cloud SQL o per i flussi di dati, puoi usare una combinazione di Dataflow pandas.

Usa set di dati gestiti con metadati ML

Dopo che i dati sono stati pre-elaborati per l'ML, puoi valutare l'uso di una gestito in Vertex AI. I set di dati gestiti consentono di creare un collegamento chiaro tra i dati e i modelli con addestramento personalizzato e statistiche descrittive e suddivisione automatica o manuale in set di convalida.

I set di dati gestiti non sono obbligatori. puoi scegliere di non utilizzarle se vuoi maggiore controllo sulla suddivisione dei dati nel codice di addestramento o sulla derivazione tra i dati e il modello non è fondamentale per la tua applicazione.

Per maggiori informazioni, consulta Set di dati e Utilizzo di un set di dati gestito in un'applicazione di addestramento personalizzato.

Formazione operativa

Per addestramento operativo si intende il processo di addestramento del modello. ripetibili, con il monitoraggio delle ripetizioni e la gestione del rendimento. Mentre Istanze di Vertex AI Workbench per lo sviluppo iterativo di piccoli set di dati, consigliamo puoi rendere operativo il codice per renderlo riproducibile e scalarlo e set di dati. In questa sezione illustreremo gli strumenti e le best practice per per rendere operative le tue routine di addestramento.

Esegui il codice in un servizio gestito

Ti consigliamo di eseguire il codice nel servizio di addestramento Vertex AI o in Vertex AI Pipelines.

Facoltativamente, puoi eseguire il codice direttamente in una macchina virtuale deep learning. container o su Compute Engine; ma sconsigliamo questo approccio perché Vertex AI gestisce I servizi offrono scalabilità automatica e funzionalità di burst, con costi maggiori efficace.

Rendi operativa l'esecuzione del job con le pipeline di addestramento

Creare pipeline di addestramento su cui rendere operativa l'esecuzione del job di addestramento Vertex AI. Una pipeline di addestramento, diversa da una pipeline una pipeline ML, include i job di addestramento. Per scoprire di più sulla formazione pipeline, consulta Creazione di pipeline di addestramento e Risorsa REST: projects.locations.trainingPipelines.

Utilizza i checkpoint di addestramento per salvare lo stato attuale dell'esperimento

Il flusso di lavoro ML in questo documento presuppone che non stai addestrando in modo interattivo. Se il modello ha esito negativo e non è sottoposto a checkpoint, il job di addestramento o verrà terminata e i dati andranno persi perché il modello non è la memoria. Per evitare questo scenario, conviene usare sempre l'addestramento checkpoint per assicurarti di non perdere lo stato.

Ti consigliamo di salvare i checkpoint di addestramento in Cloud Storage. Crea un una cartella diversa per ogni esperimento o addestramento.

Per scoprire di più sui checkpoint, consulta Controlli di addestramento per TensorFlow Core, Salvataggio e caricamento di un checkpoint generale in PyTorch, e Modelli di progettazione con machine learning.

Prepara gli artefatti del modello per la pubblicazione in Cloud Storage

Per i modelli con addestramento personalizzato o i container personalizzati, archivia gli artefatti del modello in in un bucket Cloud Storage in cui la regione del bucket corrisponde a quella regionale che stai utilizzando per la produzione. Vedi Regioni dei bucket per ulteriori informazioni.

Archivia il bucket Cloud Storage nello stesso progetto Google Cloud. Se il tuo bucket Cloud Storage si trova in un altro progetto Google Cloud, devi concedere l'accesso a Vertex AI per leggere gli artefatti del modello.

Se utilizzi un container Vertex AI predefinito, assicurati che gli artefatti del modello nomi file che corrispondono esattamente a questi esempi:

  • SavedModel di TensorFlow: saved_model.pb

  • Scikit-learn: model.joblib o model.pkl

  • XGBoost: model.bst

  • PyTorch: model.pth

Per scoprire come salvare il modello sotto forma di uno o più artefatti del modello, consulta Esportazione degli artefatti del modello per la previsione.

Calcola regolarmente i nuovi valori delle caratteristiche

Spesso un modello utilizza un sottoinsieme di caratteristiche provenienti da Vertex AI Feature Store. Le caratteristiche in Vertex AI Feature Store saranno già pronti per la pubblicazione online. Per ogni nuova funzionalità creata dai dati attingendo ai dati dal data lake, consigliamo di pianificare ai job corrispondenti di elaborazione dei dati e feature engineering (o idealmente Dataflow) per calcolare regolarmente i nuovi valori delle caratteristiche alla cadenza richiesta, a seconda delle esigenze di aggiornamento delle caratteristiche, Vertex AI Feature Store per la distribuzione online o in batch.

Deployment e distribuzione del modello

Con deployment e pubblicazione del modello si intende la messa in produzione di un modello. La l'output del job di addestramento è costituito da uno o più artefatti del modello archiviati su Cloud Storage, puoi caricarlo su Vertex AI Model Registry in modo che il file possa essere utilizzato per la previsione in fase di pubblicazione. Esistono due tipi di gestione delle previsioni: la previsione batch è utilizzata per registrare batch di dati a una cadenza regolare e la previsione online è il punteggio quasi in tempo reale dei dati per le applicazioni live. Entrambi gli approcci ti consentono ottenere previsioni dai modelli addestrati passando i dati di input a un e l'ottenimento di inferenze per ogni istanza di dati.Per saperne di più, Ottenere previsioni batch e Ottieni previsioni online da modelli con addestramento personalizzato.

Per una latenza inferiore per le richieste peer-to-peer tra il client e il server del modello, usano gli endpoint privati di Vertex AI. Questi sono particolarmente utili se le tue l'applicazione che effettua le richieste di previsione e il file binario di pubblicazione si trovano all'interno sulla stessa rete locale. Puoi evitare il sovraccarico del routing internet e Una connessione peer-to-peer tramite Virtual Private Cloud.

Specifica il numero e i tipi di macchine di cui hai bisogno

Per eseguire il deployment del modello per la previsione, scegli l'hardware appropriato per del modello, ad esempio una macchina virtuale (VM) con unità di elaborazione centrale (CPU) diversa o tipi di unità di elaborazione grafica (GPU). Per ulteriori informazioni, consulta la sezione Specifica dei tipi di macchina o dei livelli di scalabilità.

Pianifica gli input per il modello

Oltre a eseguire il deployment del modello, dovrai determinare come per passare input al modello. Se utilizzi la previsione batch, puoi recuperare dal data lake o dall'API di recupero dati in batch di Vertex AI Feature Store. Se utilizzi la previsione online, puoi inviare istanze di input al servizio e restituisce le tue previsioni nella risposta. Per ulteriori informazioni, consulta Dettagli del corpo della risposta.

Se esegui il deployment del tuo modello per la previsione online, hai bisogno di una bassa latenza, un modo scalabile per fornire gli input o le caratteristiche che devono essere trasmessi dell'endpoint del modello. Puoi farlo utilizzando uno dei numerosi servizi di database su Google Cloud, oppure puoi utilizzare l'API di pubblicazione online di Vertex AI Feature Store. I client che chiamano l'endpoint di previsione online possono prima chiamare il metodo di pubblicazione delle caratteristiche per recuperare gli input delle caratteristiche, quindi richiamare il metodo endpoint di previsione con questi input.

L'importazione di flussi di dati consente di aggiornare in tempo reale i valori delle caratteristiche. Questo è utile quando la disponibilità dei dati più recenti per la pubblicazione online è la priorità. Ad esempio, puoi importare dati sugli eventi in modalità flusso e, secondi, Vertex AI Feature Store per l'importazione di flussi di dati rende disponibili i dati per gli scenari di pubblicazione online.

Puoi anche personalizzare la gestione di input (richiesta) e output (risposta). e il formato da e verso il server del modello utilizzando routine di previsione personalizzate.

Attiva la scalabilità automatica

Se utilizzi il servizio di previsione online, nella maggior parte dei casi ti consigliamo di attivare la scalabilità automatica impostando il numero minimo e massimo di nodi. Per ulteriori informazioni le informazioni, vedi Ottieni previsioni per un modello con addestramento personalizzato. Per garantire un accordo sul livello del servizio (SLA) ad alta disponibilità, imposta la scalabilità con un minimo di due nodi.

Per scoprire di più sulle opzioni di scalabilità, consulta Scalare le previsioni di machine learning.

Orchestrazione del flusso di lavoro di machine learning

Vertex AI fornisce l'orchestrazione dei flussi di lavoro ML per automatizzare il machine learning un flusso di lavoro con Vertex AI Pipelines, un servizio completamente gestito che consente di riaddestrare i modelli tutte le volte necessaria. Il riaddestramento consente ai modelli di adattarsi ai cambiamenti mantenere le prestazioni nel tempo, valuta in che misura i dati cambieranno e scegliere la cadenza ottimale per il riaddestramento del modello.

I flussi di lavoro di orchestrazione ML funzionano meglio per i clienti che hanno già progettato ha costruito il proprio modello, lo ha messo in produzione e vuole determinare e non funziona nel modello ML. Il codice utilizzato per la sperimentazione probabilmente sarà utile per il resto del flusso di lavoro ML con alcune modifiche. Per lavorare con i flussi di lavoro ML automatizzati, devi avere padronanza di Python, comprendere l'infrastruttura di base come i container e disporre di ML e scientifiche.

Utilizzare Vertex AI Pipelines per orchestrare il flusso di lavoro ML

Sebbene sia possibile avviare manualmente ogni processo, addestramento, valutazione, test ti consigliamo di usare da Vertex AI Pipelines a per orchestrare il flusso. Per informazioni dettagliate, vedi MLOps livello 1: automazione delle pipeline ML.

Vertex AI Pipelines supporta l'esecuzione di DAG generati da KubeFlow, TensorFlow Extended (TFX) e Airflow.

Usare Kubeflow Pipelines per creare pipeline flessibili

L'SDK Kubeflow Pipelines è consigliato per la maggior parte degli utenti che vogliono creare contenuti gestiti pipeline di dati. Kubeflow Pipelines è flessibile, permettendoti di usare codice semplice per costruire pipeline; e fornisce a Google componenti della pipeline cloud, che ti consentono di includere Vertex AI come AutoML nella tua pipeline. Per scoprire di più su Pipeline di Kubeflow, vedi Pipeline di Kubeflow e Vertex AI Pipelines.

organizzazione degli artefatti

Gli artefatti sono output risultanti da ogni passaggio del flusso di lavoro ML. È una best practice per organizzarli in modo standardizzato.

Organizza gli artefatti del modello ML

Archivia i tuoi artefatti nelle seguenti posizioni:

Posizione archiviazione Artefatti
Repository del controllo del codice sorgente
  • Istanze di Vertex AI Workbench
  • Codice sorgente della pipeline
  • Funzioni di pre-elaborazione
  • Codice sorgente del modello
  • Pacchetti di addestramento di modelli
  • Funzioni di pubblicazione
Esperimenti e metadati ML
  • Esperimenti
  • Parametri
    • Iperparametri
    • Metaparametri
  • Metriche
  • Artefatti del set di dati
  • Artefatti del modello
  • Metadati della pipeline
Vertex AI Model Registry
  • Modelli addestrati
Artifact Registry
  • Container della pipeline
  • Ambienti di addestramento personalizzati
  • Ambienti di previsione personalizzati
Vertex AI Prediction
  • Modelli sottoposti a deployment

Utilizza un repository di controllo del codice sorgente per le definizioni della pipeline e il codice di addestramento

Puoi utilizzare il controllo del codice sorgente per controllare la versione delle pipeline ML e dei componenti personalizzati che crei per le pipeline in questione. Utilizzare Artifact Registry per archiviare, gestire e proteggere le immagini container Docker senza renderle visibili pubblicamente.

Monitoraggio del modello

Una volta eseguito il deployment del modello in produzione, devi monitorare le prestazioni assicura che il modello funzioni come previsto. Vertex AI fornisce due modi per monitorare i modelli ML:

  • Rilevamento del disallineamento: questo approccio ricerca il grado di distorsione tra l'addestramento del modello e i dati di produzione

  • Rilevamento della deviazione: in questo tipo di monitoraggio, cerchi la deviazione per i dati di produzione. La deviazione si verifica quando le proprietà statistiche e il target, che il modello sta cercando di prevedere, cambia in modi imprevisti. Questo causa problemi perché le previsioni potrebbero diventare meno precisi con il passare del tempo.

Il monitoraggio del modello funziona per i dati strutturati, come quelli numerici e categorici ma non per i dati non strutturati come le immagini. Per ulteriori informazioni, consulta Modelli di monitoraggio per disallineamenti o deviazioni delle caratteristiche.

Utilizza il rilevamento di disallineamenti e deviazioni

Usa il più possibile il rilevamento del disallineamento, perché sapendo che i tuoi dati deviati da quelli di addestramento è un chiaro indicatore che il modello non sta funzionando come previsto in produzione. Per il rilevamento del disallineamento, configura il job di monitoraggio del modello fornendo un puntatore ai dati di addestramento usati per addestrare il modello.

Se non hai accesso ai dati di addestramento, attiva il rilevamento della deviazione in modo che saprai quando gli input cambiano nel tempo.

Utilizza il rilevamento della deviazione per monitorare se i dati di produzione si discostano nel tempo. Per il rilevamento della deviazione, abilita le funzionalità da monitorare e soglie corrispondenti per attivare un avviso.

Ottimizza le soglie di avviso

Ottimizza le soglie utilizzate per gli avvisi in modo da sapere quando si verificano disallineamenti o deviazioni nei tuoi dati. Le soglie di avviso vengono stabilite in base al caso d'uso, esperienza nel settore e dalle metriche di monitoraggio iniziali del modello. Per scoprire come usa il monitoraggio per creare dashboard o configurare avvisi in base alle metriche, consulta le metriche di Cloud Monitoring.

Utilizza le attribuzioni delle caratteristiche per rilevare la deviazione o il disallineamento nei dati

Puoi utilizzare le attribuzioni delle caratteristiche in Vertex Explainable AI. per rilevare la deviazione o il disallineamento nei dati come indicatore precoce del fatto che le prestazioni del modello umilianti. Ad esempio, se inizialmente il modello si basava su cinque caratteristiche per fare previsioni nei dati di addestramento e di test, ma il modello ha iniziato a fare affidamento completamente diverse in fase di produzione, le attribuzioni delle caratteristiche è utile per rilevare questo peggioramento delle prestazioni del modello.

Ciò è particolarmente utile per i tipi di caratteristiche complessi, come gli incorporamenti e che sono difficili da confrontare usando il disallineamento e la deviazione tradizionali di machine learning. Con Vertex Explainable AI, le attribuzioni delle caratteristiche possono indicare quando le prestazioni del modello stanno peggiorando.

Passaggi successivi