Blog.

Machine Learning Pipelines cosa sono? In italiano


Autore
Andrea Provino
Data
Tempo di lettura
3 minuti
Categoria
Data Science, machine-learning

machine-learning-pipelines-data-store-downstream-component-upstream-components-data-science-guida-italia

In questo post introduciamo il concetto di pipeline e vediamo in cosa consistono le machine learning pipelines!

Dopo esserci rinfrescati la memoria con la definzione che Arthur Samuel diede di machine learning nel 1959, siamo pronti per capire come e in che modo le pipelines entrano in scena.

Abbiamo dati. Tanti dati. Troppi dati.

Dati che devono essere processati, analizzati e opportunamente gestiti.

Non possiamo certo metterci ad eseguire manualmente ogni singola operazione. Parola chiave: automatizzazione.

Entrano in gioco le machine learning pipelines

Machine Lerning Pipelines

Una machine learning pipeline altro non è che una sequenza ordinata e definita di componenti che processano i dati.

Sono molto comuni all’interno dei sistemi di machine learning dato l’elevato numero di dati da gestire e di trasformazioni da applicare.

Abbiamo quindi spiegato che nascono dal bisogno di automatizzare il workflow. Ma qual è il reale vantaggio?

Considera che ciasun componente è tipicamente asincrono, cioè la sua esecuzione è indipendente dalle altre.

I dati in ingresso nella pipeline sono alterati da un componente che produce un output salvato in un elemento definito data store. Il data store è il punto di collegamento tra i componenti.

Machine Learning Pipelines from Hands-On Machine Learning With Scikit-Learn & Tensorflow

Dopo un certo tempo, variabile ma definito, il componente di valle (downstream component) preleva i dati gestiti dal precedente coponente, quello a monte (upstream component) eseguendo nuove trasformazioni. L’output, come avrai inutito, è salvato in un nuovo data store.

Da qui, dopo un certo tempo, variabile ma definito… il ciclo continua fino all’utlimo data store della pipeline.

Vantaggi

Un sistema simile offre il vantaggio di essere facilmente comprensibile, grazie anche all’astrazione effetuata con grafici e illustrazioni.

Più team possono lavorare alla stessa pipeline, curando ciascuno un componente differente.

Inoltre, se un componente dovesse malfunzionare il downstream component può continuare ad operare normalmente, almeno fino a completa elaborazione dei dati nello store condiviso.

Svantaggi

Un componente malfunzionante, a causa della vantaggiosa e robusta struttura con cui la pipeline è progetatta, può tuttavia essere un problema, risultando difficile da individuare.

Ecco perché è importante sviluppare opportuni sistemi di monitorazione, per assicurarsi che tutto proceda a dovere. In caso contrario i dati diventano obsoleti e le performance si riducono drasticamente.

Memory tips

Per ricordare facilmente questo argomento, ho preparato per te alcune key word con cui riassumere il contentuo del post:

  • pipeline
  • automazione
  • data store
  • componente
  • asincronia
  • downstream e upstream
  • monitorazione

Machine Learning Pipeline | Aspetto

Ok.

Abbiamo visto cosa sono in linea teorica.

Sappiamo perché sono utili e quali vantaggi e svantaggi abbiano.

Ma senza una comprensione palpabile della loro natura, questo post avrebbe poco senso.

Ad un macro livello, un componente, alla fine il principale elemento della pipeline, è un progetto di data science. Ad esempio un supervised regression problem con metodo di batch learning.

Il data store? L’output del modello di machine learning: una o più variabili discrete, o categoriche.

Possiamo trovare pipeline anche ad un micro livello, all’interno cioé di ciascun macro progetto di machine learning.

A questo livello una pipeline è formata da componenti che passano in rassegna le fasi della Data Science Methodology:

Pipeline di Machine Learning in Azure Machine Learning

In questo modo data scientist, data engineer, professionisti IT possono collaborare alle fasi di:

  • preparazione dei dati, normalizzazioni e trasformazioni
  • Training dei modelli
  • valutazione del modello
  • distribuzione

Per il momento è tutto!

Un caldo abbraccio, Andrea.

Taggeddata sciencedata scientistmachine learningteoria


Ultimi post

Patricia Merkle Trie

Il Practical Algorithm To Retrieve Information Coded In Alphanumeric Merkle Trie, o Patricia Merkle Trie è una struttura dati chiave-valore usatada Ethereum e particolarmente efficiente per il salvataggio e la verifica dell’integrità dell’informazione. In questo post ne studieremo le caratteristiche. Prima di procedere, ci conviene ripassare l’introduzione al Merkle Tree nella quale abbiamo chiarito il […]

Andrea Provino
ethereum-patricia-merkle-tree
Tree Data Structure: cos’è un Merkle Tree

Un Merkle Tree è una struttura dati efficiente per verificare che un dato appartenga a un insieme esteso di elementi. È comunemente impiegato nelle Peer to Peer network in cui la generazione efficiente di prove (proof) contribuisce alla scalabilità della rete. Capire i vantaggi di questa struttura ci tornerà utile nel nostro percorso di esplorazione […]

Andrea Provino
merkle-tree-cover
UTXO: come funziona il modello Unspent Transaction Outputs

Per tenere traccia dei bilanci utente, la blockchain di Bitcoin sfrutta un modello di contabilità definito UTXO o Unspent Transaction Outputs. In questo articolo ne esaminiamo le caratteristiche. Ogni blockchain è dotata di un sistema di contabilità, un meccanismo attraverso cui tenere traccia dei bilanci di ciascun utente. I due grandi modelli di riferimento nel […]

Andrea Provino
bitcoin-utxo
Cos’è Ethereum

Possiamo definire Ethereum come una macchina a stati distribuita che traccia le transizioni di un archivio dati general-purpose (i.e. una memoria in grado di registrare qualsiasi dato esprimibile come coppia di chiave e valore o key-value) all’interno della Ethereum Blockchain. È arrivato il momento di esplorare uno dei progetti tecnologici più innovativi e interessanti degli […]

Andrea Provino
ethereum