Unisciti alla comunità SIG TFX-Addons e contribuisci a rendere TFX ancora migliore!
Questa pagina è stata tradotta dall'API Cloud Translation.
Switch to English

La guida per l'utente TFX

introduzione

TFX è una piattaforma di machine learning (ML) su scala di produzione di Google basata su TensorFlow. Fornisce un framework di configurazione e librerie condivise per integrare i componenti comuni necessari per definire, avviare e monitorare il tuo sistema di machine learning.

Installazione

Pitone PyPI

pip install tfx

Pacchetti notturni

TFX ospita anche pacchetti notturni su https://pypi-nightly.tensorflow.org su Google Cloud. Per installare l'ultimo pacchetto notturno, utilizza il seguente comando:

pip install -i https://pypi-nightly.tensorflow.org/simple tfx

Questo installerà i pacchetti notturni per le principali dipendenze di TFX come TensorFlow Model Analysis (TFMA), TensorFlow Data Validation (TFDV), TensorFlow Transform (TFT), TFX Basic Shared Libraries (TFX-BSL), ML Metadata (MLMD).

A proposito di TFX

TFX è una piattaforma per la creazione e la gestione di flussi di lavoro ML in un ambiente di produzione. TFX fornisce quanto segue:

  • Un toolkit per la creazione di pipeline ML. Le pipeline TFX ti consentono di orchestrare il tuo flusso di lavoro ML su diverse piattaforme, come: Apache Airflow, Apache Beam e Kubeflow Pipelines.

    Ulteriori informazioni sulle pipeline TFX .

  • Un insieme di componenti standard che puoi utilizzare come parte di una pipeline o come parte del tuo script di formazione ML. I componenti standard TFX forniscono funzionalità comprovate per aiutarti a iniziare a creare facilmente un processo ML.

    Ulteriori informazioni sui componenti standard TFX .

  • Librerie che forniscono la funzionalità di base per molti dei componenti standard. È possibile utilizzare le librerie TFX per aggiungere questa funzionalità ai propri componenti personalizzati o utilizzarli separatamente.

    Ulteriori informazioni sulle librerie TFX .

TFX è un toolkit di machine learning su scala di produzione di Google basato su TensorFlow. Fornisce un framework di configurazione e librerie condivise per integrare i componenti comuni necessari per definire, avviare e monitorare il tuo sistema di machine learning.

Componenti standard TFX

Una pipeline TFX è una sequenza di componenti che implementano una pipeline ML progettata specificamente per attività di machine learning scalabili e ad alte prestazioni. Ciò include modellazione, formazione, elaborazione di inferenze e gestione di distribuzioni su target online, mobili nativi e JavaScript.

Una pipeline TFX in genere include i seguenti componenti:

  • ExampleGen è il componente di input iniziale di una pipeline che inserisce e facoltativamente divide il set di dati di input.

  • StatisticsGen calcola le statistiche per il set di dati.

  • SchemaGen esamina le statistiche e crea uno schema di dati.

  • ExampleValidator cerca anomalie e valori mancanti nel set di dati.

  • Transform esegue la progettazione delle caratteristiche sul set di dati.

  • Il trainer addestra il modello.

  • Tuner regola gli iperparametri del modello.

  • Evaluator esegue un'analisi approfondita dei risultati della formazione e ti aiuta a convalidare i tuoi modelli esportati, assicurandoti che siano "sufficientemente buoni" per essere inviati alla produzione.

  • InfraValidator controlla che il modello sia effettivamente servibile dall'infrastruttura e impedisce il push del modello danneggiato.

  • Pusher distribuisce il modello su un'infrastruttura di servizio.

  • BulkInferrer esegue l'elaborazione in batch su un modello con richieste di inferenza senza etichetta.

Questo diagramma illustra il flusso di dati tra questi componenti:

Flusso dei componenti

Librerie TFX

TFX include sia le librerie che i componenti della pipeline. Questo diagramma illustra le relazioni tra le librerie TFX e i componenti della pipeline:

Librerie e componenti

TFX fornisce diversi pacchetti Python che sono le librerie utilizzate per creare componenti pipeline. Utilizzerai queste librerie per creare i componenti delle tue pipeline in modo che il tuo codice possa concentrarsi sugli aspetti univoci della tua pipeline.

Le librerie TFX includono:

  • TensorFlow Data Validation (TFDV) è una libreria per l'analisi e la convalida dei dati di machine learning. È progettato per essere altamente scalabile e per funzionare bene con TensorFlow e TFX. TFDV include:

    • Calcolo scalabile delle statistiche riassuntive dei dati di addestramento e di test.
    • Integrazione con un visualizzatore per la distribuzione dei dati e le statistiche, nonché il confronto sfaccettato di coppie di set di dati (facet).

    • Generazione automatizzata di schemi di dati per descrivere le aspettative sui dati come valori, intervalli e vocabolari richiesti.

    • Un visualizzatore di schemi per aiutarti a ispezionare lo schema.

    • Rilevamento delle anomalie per identificare le anomalie, come caratteristiche mancanti, valori fuori intervallo o tipi di funzionalità errati, solo per citarne alcuni.

    • Un visualizzatore di anomalie in modo da poter vedere quali caratteristiche hanno anomalie e saperne di più per correggerle.

  • TensorFlow Transform (TFT) è una libreria per la preelaborazione dei dati con TensorFlow. TensorFlow Transform è utile per i dati che richiedono un passaggio completo, ad esempio:

    • Normalizza un valore di input per media e deviazione standard.
    • Converti le stringhe in numeri interi generando un vocabolario su tutti i valori di input.
    • Converti i float in numeri interi assegnandoli a bucket in base alla distribuzione dei dati osservati.
  • TensorFlow viene utilizzato per l'addestramento di modelli con TFX. Importa i dati di addestramento e il codice di modellazione e crea un risultato SavedModel. Integra anche una pipeline di ingegneria delle funzionalità creata da TensorFlow Transform per la preelaborazione dei dati di input.

    KerasTuner viene utilizzato per l'ottimizzazione degli iperparametri per il modello.

  • TensorFlow Model Analysis (TFMA) è una libreria per la valutazione dei modelli TensorFlow. Viene utilizzato insieme a TensorFlow per creare un EvalSavedModel, che diventa la base per la sua analisi. Consente agli utenti di valutare i propri modelli su grandi quantità di dati in modo distribuito, utilizzando le stesse metriche definite nel proprio trainer. Queste metriche possono essere calcolate su diversi segmenti di dati e visualizzate nei notebook Jupyter.

  • TensorFlow Metadata (TFMD) fornisce rappresentazioni standard per i metadati utili durante l'addestramento di modelli di machine learning con TensorFlow. I metadati possono essere prodotti manualmente o automaticamente durante l'analisi dei dati di input e possono essere utilizzati per la convalida, l'esplorazione e la trasformazione dei dati. I formati di serializzazione dei metadati includono:

    • Uno schema che descrive i dati tabulari (ad esempio, tf.Examples).
    • Una raccolta di statistiche di riepilogo su tali set di dati.
  • ML Metadata (MLMD) è una libreria per la registrazione e il recupero di metadati associati ai flussi di lavoro di sviluppatori ML e data scientist. Molto spesso i metadati utilizzano rappresentazioni TFMD. MLMD gestisce la persistenza utilizzando SQL-Lite , MySQL e altri archivi dati simili.

Tecnologie di supporto

necessario

  • Apache Beam è un modello unificato open source per la definizione di pipeline di elaborazione parallela dei dati sia in batch che in streaming. TFX utilizza Apache Beam per implementare pipeline parallele ai dati. La pipeline viene quindi eseguita da uno dei back-end di elaborazione distribuita supportati da Beam, che includono Apache Flink, Apache Spark, Google Cloud Dataflow e altri.

Opzionale

Orchestrator come Apache Airflow e Kubeflow semplificano la configurazione, il funzionamento, il monitoraggio e la manutenzione di una pipeline ML.

  • Apache Airflow è una piattaforma per creare, pianificare e monitorare in modo programmatico i flussi di lavoro. TFX utilizza Airflow per creare flussi di lavoro come grafici aciclici diretti (DAG) di attività. L'utilità di pianificazione Airflow esegue le attività su una serie di lavoratori mentre segue le dipendenze specificate. Le ricche utilità della riga di comando semplificano l'esecuzione di interventi chirurgici complessi sui DAG. La ricca interfaccia utente semplifica la visualizzazione delle pipeline in esecuzione in produzione, il monitoraggio dell'avanzamento e la risoluzione dei problemi quando necessario. Quando i flussi di lavoro vengono definiti come codice, diventano più gestibili, controllabili con le versioni, verificabili e collaborativi.

  • Kubeflow si dedica a rendere semplici, portatili e scalabili le distribuzioni di flussi di lavoro di machine learning (ML) su Kubernetes. L'obiettivo di Kubeflow non è ricreare altri servizi, ma fornire un modo semplice per distribuire i migliori sistemi open source per il machine learning a diverse infrastrutture. Le pipeline di Kubeflow consentono la composizione e l'esecuzione di flussi di lavoro riproducibili su Kubeflow, integrati con la sperimentazione e le esperienze basate su notebook. I servizi Kubeflow Pipelines su Kubernetes includono l'archivio metadati ospitato, il motore di orchestrazione basato su container, il server notebook e l'interfaccia utente per aiutare gli utenti a sviluppare, eseguire e gestire pipeline ML complesse su larga scala. Kubeflow Pipelines SDK consente la creazione e la condivisione di componenti e la composizione delle pipeline a livello di codice.

Portabilità e interoperabilità

TFX è progettato per essere portabile in più ambienti e framework di orchestrazione, inclusi Apache Airflow , Apache Beam e Kubeflow . È anche portabile su diverse piattaforme informatiche, comprese quelle in sede e su piattaforme cloud come Google Cloud Platform (GCP) . In particolare, TFX interagisce con servizi GCP gestiti da server, come Cloud AI Platform for Training and Prediction e Cloud Dataflow per l'elaborazione dei dati distribuita per molti altri aspetti del ciclo di vita ML.

Model vs. SavedModel

Modello

Un modello è l'output del processo di formazione. È il record serializzato dei pesi che sono stati appresi durante il processo di addestramento. Questi pesi possono essere utilizzati successivamente per calcolare previsioni per nuovi esempi di input. Per TFX e TensorFlow, "modello" si riferisce ai punti di controllo contenenti i pesi appresi fino a quel punto.

Si noti che "modello" potrebbe anche fare riferimento alla definizione del grafico di calcolo TensorFlow (cioè un file Python) che esprime come verrà calcolata una previsione. I due sensi possono essere usati in modo intercambiabile in base al contesto.

SavedModel

  • Che cos'è un SavedModel : una serializzazione universale, indipendente dalla lingua, ermetica e recuperabile di un modello TensorFlow.
  • Perché è importante : consente ai sistemi di livello superiore di produrre, trasformare e utilizzare i modelli TensorFlow utilizzando un'unica astrazione.

SavedModel è il formato di serializzazione consigliato per servire un modello TensorFlow in produzione o esportare un modello addestrato per un'applicazione mobile nativa o JavaScript. Ad esempio, per trasformare un modello in un servizio REST per fare previsioni, puoi serializzare il modello come SavedModel e servirlo utilizzando TensorFlow Serving. Consulta Offerta di un modello TensorFlow per ulteriori informazioni.

Schema

Alcuni componenti TFX utilizzano una descrizione dei dati di input chiamata schema . Lo schema è un'istanza di schema.proto . Gli schemi sono un tipo di buffer di protocollo , più generalmente noto come "protobuf". Lo schema può specificare i tipi di dati per i valori delle caratteristiche, se una caratteristica deve essere presente in tutti gli esempi, gli intervalli di valori consentiti e altre proprietà. Uno dei vantaggi dell'utilizzo di TensorFlow Data Validation (TFDV) è che genererà automaticamente uno schema deducendo tipi, categorie e intervalli dai dati di addestramento.

Ecco un estratto da uno schema protobuf:

...
feature {
  name: "age"
  value_count {
    min: 1
    max: 1
  }
  type: FLOAT
  presence {
    min_fraction: 1
    min_count: 1
  }
}
feature {
  name: "capital-gain"
  value_count {
    min: 1
    max: 1
  }
  type: FLOAT
  presence {
    min_fraction: 1
    min_count: 1
  }
}
...

I seguenti componenti utilizzano lo schema:

  • Convalida dati TensorFlow
  • Trasformazione TensorFlow

In una tipica pipeline TFX, TensorFlow Data Validation genera uno schema, che viene utilizzato dagli altri componenti.

Sviluppare con TFX

TFX fornisce una potente piattaforma per ogni fase di un progetto di machine learning, dalla ricerca, sperimentazione e sviluppo sulla tua macchina locale, fino alla distribuzione. Per evitare la duplicazione del codice ed eliminare il potenziale di disallineamento di addestramento / pubblicazione , si consiglia vivamente di implementare la pipeline TFX sia per l'addestramento del modello che per la distribuzione di modelli addestrati e utilizzare componenti Transform che sfruttano la libreria TensorFlow Transform sia per l'addestramento che per l'inferenza. In questo modo utilizzerai lo stesso codice di pre-elaborazione e analisi in modo coerente ed eviterai differenze tra i dati utilizzati per l'addestramento e i dati forniti ai modelli addestrati in produzione, oltre a trarre vantaggio dalla scrittura di quel codice una volta.

Esplorazione, visualizzazione e pulizia dei dati

Esplorazione, visualizzazione e pulizia dei dati

Le pipeline TFX in genere iniziano con un componente ExampleGen , che accetta i dati di input e li formatta come tf.Examples. Spesso questo viene fatto dopo che i dati sono stati suddivisi in set di dati di addestramento e di valutazione in modo che ci siano effettivamente due copie dei componenti ExampleGen, una per l'addestramento e la valutazione. Questo è in genere seguito da un componente StatisticsGen e un componente SchemaGen , che esaminerà i dati e dedurrà uno schema di dati e statistiche. Lo schema e le statistiche verranno utilizzati da un componente ExampleValidator , che cercherà anomalie, valori mancanti e tipi di dati errati nei dati. Tutti questi componenti sfruttano le funzionalità della libreria TensorFlow Data Validation .

TensorFlow Data Validation (TFDV) è uno strumento prezioso durante l'esplorazione, la visualizzazione e la pulizia iniziali del set di dati. TFDV esamina i dati e deduce i tipi di dati, le categorie e gli intervalli, quindi aiuta automaticamente a identificare le anomalie e i valori mancanti. Fornisce inoltre strumenti di visualizzazione che possono aiutarti a esaminare e comprendere il tuo set di dati. Al termine della pipeline, puoi leggere i metadati da MLMD e utilizzare gli strumenti di visualizzazione di TFDV in un notebook Jupyter per analizzare i dati.

Dopo l'addestramento e la distribuzione del modello iniziale, TFDV può essere utilizzato per monitorare i nuovi dati dalle richieste di inferenza ai modelli distribuiti e cercare anomalie e / o derive. Ciò è particolarmente utile per i dati di serie temporali che cambiano nel tempo a causa di tendenze o stagionalità e può aiutare a informare quando ci sono problemi con i dati o quando i modelli devono essere riqualificati su nuovi dati.

Visualizzazione dati

Dopo aver completato la prima esecuzione dei dati attraverso la sezione della pipeline che utilizza TFDV (in genere StatisticsGen, SchemaGen e ExampleValidator) è possibile visualizzare i risultati in un notebook in stile Jupyter. Per esecuzioni aggiuntive è possibile confrontare questi risultati mentre si apportano modifiche, fino a quando i dati non sono ottimali per il modello e l'applicazione.

Per prima cosa interrogherai i metadati ML (MLMD) per individuare i risultati di queste esecuzioni di questi componenti, quindi utilizzerai l'API di supporto della visualizzazione in TFDV per creare le visualizzazioni nel tuo notebook. Ciò include tfdv.load_statistics () e tfdv.visualize_statistics () Utilizzando questa visualizzazione è possibile comprendere meglio le caratteristiche del proprio set di dati e, se necessario, modificare come richiesto.

Modelli di sviluppo e formazione

Feature Engineering

Una tipica pipeline TFX includerà un componente Transform , che eseguirà l'ingegneria delle funzionalità sfruttando le capacità della libreria TensorFlow Transform (TFT) . Un componente Transform utilizza lo schema creato da un componente SchemaGen e applica le trasformazioni dei dati per creare, combinare e trasformare le funzionalità che verranno utilizzate per addestrare il modello. Anche la pulizia dei valori mancanti e la conversione dei tipi dovrebbero essere eseguite nel componente Trasforma se esiste la possibilità che questi siano presenti anche nei dati inviati per le richieste di inferenza. Ci sono alcune considerazioni importanti quando si progetta il codice TensorFlow per l'addestramento in TFX.

Modellazione e formazione

Il risultato di un componente Transform è un SavedModel che verrà importato e utilizzato nel codice di modellazione in TensorFlow, durante un componente Trainer . Questo SavedModel include tutte le trasformazioni di ingegneria dei dati create nel componente Transform, in modo che le trasformazioni identiche vengano eseguite utilizzando lo stesso identico codice sia durante l'addestramento che durante l'inferenza. Utilizzando il codice di modellazione, incluso il SavedModel dal componente Transform, puoi utilizzare i dati di addestramento e valutazione e addestrare il tuo modello.

Quando si lavora con modelli basati su Estimator, l'ultima sezione del codice di modellazione dovrebbe salvare il modello sia come SavedModel che come EvalSavedModel. Il salvataggio come EvalSavedModel garantisce che le metriche utilizzate al momento dell'addestramento siano disponibili anche durante la valutazione (si noti che questo non è richiesto per i modelli basati su keras). Il salvataggio di EvalSavedModel richiede l'importazione della libreria TensorFlow Model Analysis (TFMA) nel componente Trainer.

import tensorflow_model_analysis as tfma
...

tfma.export.export_eval_savedmodel(
        estimator=estimator,
        export_dir_base=eval_model_dir,
        eval_input_receiver_fn=receiver_fn)

Un componente Tuner opzionale può essere aggiunto prima di Trainer per mettere a punto gli iperparametri (ad esempio, il numero di livelli) per il modello. Con il modello dato e lo spazio di ricerca degli iperparametri, l'algoritmo di tuning troverà i migliori iperparametri in base all'obiettivo.

Analisi e comprensione delle prestazioni del modello

Analisi del modello

Dopo lo sviluppo e la formazione iniziale del modello, è importante analizzare e comprendere realmente le prestazioni del modello. Una tipica pipeline TFX includerà un componente Evaluator , che sfrutta le funzionalità della libreria TensorFlow Model Analysis (TFMA) , che fornisce un potente set di strumenti per questa fase di sviluppo. Un componente Evaluator consuma il modello esportato in precedenza e consente di specificare un elenco di tfma.SlicingSpec che è possibile utilizzare durante la visualizzazione e l'analisi delle prestazioni del modello. Ogni SlicingSpec definisce una porzione dei dati di allenamento che si desidera esaminare, come categorie particolari per caratteristiche categoriali o intervalli particolari per caratteristiche numeriche.

Ad esempio, questo sarebbe importante per cercare di comprendere le prestazioni del tuo modello per diversi segmenti dei tuoi clienti, che potrebbero essere segmentati in base agli acquisti annuali, ai dati geografici, al gruppo di età o al sesso. Ciò può essere particolarmente importante per i set di dati con code lunghe, in cui le prestazioni di un gruppo dominante possono mascherare prestazioni inaccettabili per gruppi importanti, ma più piccoli. Ad esempio, il tuo modello potrebbe funzionare bene per i dipendenti medi ma fallire miseramente per il personale dirigente, e potrebbe essere importante per te saperlo.

Analisi e visualizzazione del modello

Dopo aver completato la prima esecuzione dei dati tramite l'addestramento del modello e l'esecuzione del componente Evaluator (che utilizza TFMA ) sui risultati dell'addestramento, è possibile visualizzare i risultati in un taccuino in stile Jupyter. Per ulteriori esecuzioni è possibile confrontare questi risultati mentre si apportano modifiche, fino a quando i risultati non sono ottimali per il modello e l'applicazione.

Per prima cosa interrogherete i metadati ML (MLMD) per individuare i risultati di queste esecuzioni di questi componenti, quindi utilizzerete l'API di supporto della visualizzazione in TFMA per creare le visualizzazioni nel vostro notebook. Ciò include tfma.load_eval_results e tfma.view.render_slicing_metrics Utilizzando questa visualizzazione è possibile comprendere meglio le caratteristiche del modello e, se necessario, modificare come richiesto.

Convalida delle prestazioni del modello

Come parte dell'analisi delle prestazioni di un modello, potresti voler convalidare le prestazioni rispetto a una linea di base (come il modello attualmente disponibile). La convalida del modello viene eseguita passando sia un candidato che un modello di base al componente Evaluator . Il valutatore calcola le metriche (ad esempio AUC, perdita) sia per il candidato che per la linea di base insieme a un set corrispondente di metriche di differenza. Le soglie possono quindi essere applicate e utilizzate per portare i tuoi modelli alla produzione.

Convalida che un modello può essere servito

Convalida dell'infrastruttura

Prima di distribuire il modello addestrato, potresti voler verificare se il modello è realmente servibile nell'infrastruttura di servizio. Ciò è particolarmente importante negli ambienti di produzione per garantire che il modello appena pubblicato non impedisca al sistema di fornire previsioni. Il componente InfraValidator eseguirà una distribuzione canary del tuo modello in un ambiente sandbox e invierà, facoltativamente, richieste reali per verificare che il tuo modello funzioni correttamente.

Obiettivi di distribuzione

Dopo aver sviluppato e addestrato un modello di cui sei soddisfatto, è ora il momento di distribuirlo a una o più destinazioni di distribuzione dove riceverà richieste di inferenza. TFX supporta la distribuzione a tre classi di destinazioni di distribuzione. I modelli addestrati che sono stati esportati come SavedModels possono essere distribuiti a uno o tutti questi obiettivi di distribuzione.

Flusso dei componenti

Inferenza: TensorFlow Serving

TensorFlow Serving (TFS) è un sistema di servizio flessibile e ad alte prestazioni per modelli di machine learning, progettato per ambienti di produzione. Utilizza un SavedModel e accetterà richieste di inferenza su interfacce REST o gRPC. Funziona come un insieme di processi su uno o più server di rete, utilizzando una delle numerose architetture avanzate per gestire la sincronizzazione e il calcolo distribuito. Vedere la documentazione di TFS per ulteriori informazioni sullo sviluppo e la distribuzione di soluzioni TFS.

In una pipeline tipica, un SavedModel che è stato addestrato in un componente Trainer verrebbe prima sottovalutato in un componente InfraValidator . InfraValidator avvia un server modello TFS canarino per servire effettivamente il SavedModel. Se la convalida è stata superata, un componente Pusher distribuirà infine il SavedModel nell'infrastruttura TFS. Ciò include la gestione di più versioni e aggiornamenti del modello.

Inferenza nelle applicazioni mobili e IoT native: TensorFlow Lite

TensorFlow Lite è una suite di strumenti dedicata ad aiutare gli sviluppatori a utilizzare i loro modelli TensorFlow addestrati nelle applicazioni mobili e IoT native. Utilizza gli stessi SavedModels di TensorFlow Serving e applica ottimizzazioni come la quantizzazione e l'eliminazione per ottimizzare le dimensioni e le prestazioni dei modelli risultanti per le sfide dell'esecuzione su dispositivi mobili e IoT. Consulta la documentazione di TensorFlow Lite per ulteriori informazioni sull'utilizzo di TensorFlow Lite.

Inferenza in JavaScript: TensorFlow JS

TensorFlow JS è una libreria JavaScript per l'addestramento e la distribuzione di modelli ML nel browser e su Node.js. Utilizza gli stessi SavedModels di TensorFlow Serving e TensorFlow Lite e li converte nel formato Web TensorFlow.js. Consulta la documentazione di TensorFlow JS per maggiori dettagli sull'utilizzo di TensorFlow JS.

Creazione di una pipeline TFX con flusso d'aria

Controllare l' officina sul flusso d'aria per i dettagli

Creazione di una pipeline TFX con Kubeflow

Impostare

Kubeflow richiede un cluster Kubernetes per eseguire le pipeline su larga scala. Consulta le linee guida per la distribuzione di Kubeflow che guidano attraverso le opzioni per la distribuzione del cluster Kubeflow.

Configura ed esegui la pipeline TFX

Segui il tutorial TFX on Cloud AI Platform Pipeline per eseguire la pipeline di esempio TFX su Kubeflow. I componenti TFX sono stati containerizzati per comporre la pipeline Kubeflow e l'esempio illustra la capacità di configurare la pipeline per leggere grandi set di dati pubblici ed eseguire fasi di formazione ed elaborazione dei dati su larga scala nel cloud.

Interfaccia della riga di comando per le azioni della pipeline

TFX fornisce una CLI unificata che aiuta a eseguire una gamma completa di azioni di pipeline come creare, aggiornare, eseguire, elencare ed eliminare pipeline su vari orchestrator tra cui Apache Airflow, Apache Beam e Kubeflow. Per i dettagli, segui queste istruzioni .