Machine Learning

Cos’è il Machine Learning

In italiano questo termine è spesso tradotto con apprendimento automatico, Il machine learning è una branca dell’intelligenza artificiale focalizzata sulla creazione di sistemi informatici che apprendono dai dati.

Il ventaglio di tecniche di ML consente alle applicazioni software di migliorare le proprie prestazioni nel tempo..

Gli algoritmi di machine learning sono addestrati per trovare relazioni e modelli nei dati. Utilizzando i dati storici come input, questi algoritmi possono fare previsioni, classificare informazioni, fare clustering di data point, ridurre la dimensionalità e persino generare nuovi contenuti.

Esempi di quest’ultimo, noti come IA generativa, includono:

  • ChatGPT di OpenAI,
  • Claude di Anthropic e
  • Copilot di GitHub.

Il machine learning è ampiamente applicabile in molti settori. Ad esempio, e-commerce, social media e organizzazioni di notizie utilizzano motori di raccomandazione per suggerire contenuti in base al comportamento passato di un cliente.

Nelle auto a guida autonoma, gli algoritmi ML e la visione artificiale svolgono un ruolo fondamentale nella navigazione stradale sicura.

In ambito sanitario, ML può aiutare nella diagnosi e suggerire piani di trattamento. Altri casi d’uso comuni di ML includono il rilevamento delle frodi, il filtraggio dello spam, il rilevamento delle minacce malware, la manutenzione predittiva e l’automazione dei processi aziendali.

Sebbene ML sia uno strumento potente per risolvere problemi, migliorare le operazioni aziendali e automatizzare le attività, è anche complesso e richiede molte risorse, richiede una profonda competenza e dati e infrastrutture significativi.

La scelta dell’algoritmo giusto per un’attività richiede una solida conoscenza della matematica e della statistica. L’addestramento degli algoritmi ML richiede spesso grandi quantità di dati di alta qualità per produrre risultati accurati.

I risultati stessi, in particolare quelli derivanti da algoritmi complessi come le reti neurali profonde, possono essere difficili da comprendere. E i modelli ML possono essere costosi da gestire e perfezionare.

Tuttavia, la maggior parte delle organizzazioni sta adottando il machine learning, direttamente o tramite prodotti basati su ML. Secondo un rapporto del 2024 di Rackspace Technology, si prevede che la spesa per l’IA nel 2024 raddoppierà rispetto al 2023 e l’86% delle aziende intervistate ha dichiarato di aver esseri avvantaggiata dall’adozione dell’IA. Le aziende hanno dichiarato di utilizzare la tecnologia per migliorare l’esperienza del cliente (53%), innovare nella progettazione del prodotto (49%) e supportare le risorse umane (47%), tra le altre applicazioni.

Perché il machine learning è importante?

Il machine learning ha svolto un ruolo sempre più importante nella società umana sin dai suoi inizi a metà del XX secolo, quando pionieri dell’intelligenza artificiale come Walter Pitts, Warren McCulloch, Alan Turing e John von Neumann hanno gettato le basi computazionali del settore.

Addestrare le macchine ad apprendere dai dati e migliorare nel tempo ha consentito alle organizzazioni di automatizzare le attività di routine, il che, in teoria, libera gli esseri umani per permettergli di dedicarsi a un lavoro più creativo e strategico.

Il machine learning ha applicazioni pratiche estese e diversificate.

Nella finanza, gli algoritmi di machine learning aiutano le banche a rilevare transazioni fraudolente analizzando grandi quantità di dati in tempo reale a una velocità e una precisione che gli esseri umani non possono eguagliare.

Nell’assistenza sanitaria, il machine learning aiuta i medici a diagnosticare malattie in base a immagini mediche e informa i piani di trattamento con modelli predittivi dei risultati dei pazienti.

E nel commercio al dettaglio, molte aziende utilizzano il machine learning per personalizzare le esperienze di acquisto, prevedere le esigenze di inventario e ottimizzare le catene di fornitura.

Il machine learning esegue anche attività manuali che vanno oltre la capacità umana di eseguire operazioni su larga scala, ad esempio, elaborando le enormi quantità di dati generate quotidianamente dai dispositivi digitali.

Questa capacità di estrarre modelli e approfondimenti da vasti set di dati è diventata un fattore di differenziazione competitiva in settori come il settore bancario e la scoperta scientifica.

Molte delle aziende leader di oggi, tra cui Meta, Google e Uber, integrano il ML nelle loro operazioni per informare il processo decisionale e migliorare l’efficienza.

Il machine learning è necessario per dare un senso al volume di dati in continua crescita generato dalle società moderne. L’abbondanza di dati creati dagli esseri umani può anche essere utilizzata per addestrare ulteriormente e perfezionare i modelli ML, accelerando i progressi nel ML.

Questo ciclo di apprendimento continuo è alla base dei sistemi di intelligenza artificiale più avanzati di oggi, con profonde implicazioni.

Filosoficamente, la prospettiva di macchine che elaborano grandi quantità di dati sfida la comprensione da parte degli esseri umani della nostra intelligenza e del nostro ruolo nell’interpretazione e nell’azione su informazioni complesse.

In pratica, solleva importanti considerazioni etiche sulle decisioni prese dai modelli ML avanzati.

Trasparenza e spiegabilità nella formazione e nel processo decisionale ML, così come gli effetti di questi modelli sull’occupazione e sulle strutture sociali, sono aree di supervisione e discussione continue.

 

Quali sono i diversi tipi di machine learning?

Il machine learning classico è spesso categorizzato in base al modo in cui un algoritmo impara a diventare più accurato nelle sue previsioni. I quattro tipi base di machine learning sono:

  • apprendimento supervisionato
  • apprendimento non supervisionato
  • apprendimento semi-supervisionato
  • apprendimento rinforzato.

La scelta dell’algoritmo dipende dalla natura dei dati. Molti algoritmi e tecniche non sono limitati a un singolo tipo di machine learning; possono essere adattati a più tipi a seconda del problema e del set di dati.

Ad esempio, gli algoritmi di machine learning come le reti neurali convoluzionali e ricorrenti vengono utilizzati in attività di apprendimento supervisionato, non supervisionato e rinforzato, in base al problema specifico e alla disponibilità dei dati.

Machine learning vs. reti neurali di machine learning

Il Deep learning è un sottocampo del machine learning che si concentra su modelli con più livelli di reti neurali, noti come reti neurali profonde. Questi modelli possono apprendere ed estrarre automaticamente caratteristiche gerarchiche dai dati, rendendoli efficaci per attività come il riconoscimento di immagini e parlato.

Come funziona il machine learning supervisionato?

L’apprendimento supervisionato fornisce algoritmi con dati di training etichettati e definisce quali variabili l’algoritmo dovrebbe valutare per le correlazioni.

Vengono specificati sia l’input che l’output dell’algoritmo. Inizialmente, la maggior parte degli algoritmi ML utilizzava l’apprendimento supervisionato, ma gli approcci non supervisionati stanno acquisendo popolarità.

Gli algoritmi di apprendimento supervisionato vengono utilizzati per numerose attività, tra cui:

  • Classificazione binaria. Questa divide i dati in due categorie.
  • Classificazione multiclasse. Questa sceglie tra più di due categorie.
  • Modellazione di ensemble. Questa combina le previsioni di più modelli ML per produrre una previsione più accurata.
  • Modellazione di regressione. Questa prevede valori continui in base alle relazioni all’interno dei dati.
Ogni algoritmo di regressione ha un diverso caso d'uso ideale. Ad esempio, la regressione lineare eccelle nel prevedere output continui, mentre la regressione delle serie temporali è migliore per prevedere valori futuri.

Ogni algoritmo di regressione ha un diverso caso d’uso ideale. Ad esempio, la regressione lineare eccelle nel prevedere output continui, mentre la regressione delle serie temporali è migliore per prevedere valori futuri.

Come funziona il machine learning non supervisionato?

L’apprendimento non supervisionato non richiede dati etichettati.

Invece, questi algoritmi analizzano i dati non etichettati per identificare modelli e raggruppare i punti dati in sottoinsiemi utilizzando tecniche come la discesa del gradiente. La maggior parte dei tipi di apprendimento profondo, comprese le reti neurali, sono algoritmi non supervisionati.

L’apprendimento non supervisionato è efficace per vari compiti, tra cui i seguenti:

  • Suddividere il set di dati in gruppi in base alla similarità utilizzando algoritmi di clustering.
  • Identificare punti dati insoliti in un set di dati utilizzando algoritmi di rilevamento delle anomalie.
  • Scoprire set di elementi in un set di dati che si verificano frequentemente insieme utilizzando l’estrazione di regole di associazione.
  • Ridurre il numero di variabili in un set di dati utilizzando tecniche di riduzione della dimensionalità.

Come funziona l’apprendimento semi-supervisionato?

L’apprendimento semi-supervisionato fornisce a un algoritmo solo una piccola quantità di dati di training etichettati. Da questi dati, l’algoritmo apprende le dimensioni del set di dati, che può quindi applicare a nuovi dati non etichettati.

Notare che, tuttavia, fornire dati di training troppo esigui può portare a un overfitting, in cui il modello memorizza semplicemente i dati di training anziché apprendere realmente i pattern voluti.

Sebbene gli algoritmi in genere funzionino meglio quando si addestrano su set di dati etichettati, l’etichettatura può richiedere molto tempo ed essere costosa.

L’apprendimento semi-supervisionato combina elementi di apprendimento supervisionato e apprendimento non supervisionato, raggiungendo un equilibrio tra le prestazioni superiori del primo e l’efficienza del secondo.

L’apprendimento semi-supervisionato può essere utilizzato, tra le altre, nelle seguenti aree:

  • Traduzione automatica. Gli algoritmi possono imparare a tradurre il linguaggio basandosi su meno di un dizionario completo di parole.
  • Rilevamento delle frodi. Gli algoritmi possono imparare a identificare i casi di frode con solo pochi esempi positivi.
  • Etichettatura dei dati. Gli algoritmi addestrati su piccoli set di dati possono imparare ad applicare automaticamente etichette di dati a set più grandi.

Come funziona l’apprendimento per rinforzo?

L’apprendimento per rinforzo implica la programmazione di un algoritmo con un obiettivo distinto e un insieme di regole da seguire per raggiungere tale obiettivo.

L’algoritmo cerca ricompense positive per l’esecuzione di azioni che lo avvicinano al suo obiettivo ed evita punizioni per l’esecuzione di azioni che lo allontanano dall’obiettivo.

L’apprendimento per rinforzo è spesso utilizzato per attività come le seguenti:

  • Aiutare i robot a imparare a svolgere attività nel mondo fisico.
  • Insegnare ai bot a giocare ai videogiochi.
  • Aiutare le imprese a pianificare l’allocazione delle risorse.

Come scegliere e costruire il modello di machine learning giusto

Sviluppare il modello di machine learning giusto per risolvere un problema richiede diligenza, sperimentazione e creatività. Sebbene il processo possa essere complesso, può essere riassunto in un piano in sette fasi per la costruzione di un modello di machine learning.

  1. Comprendere il problema aziendale e definire i criteri di successo. Convertire la conoscenza di gruppo del problema del business e degli obiettivi del progetto in una definizione del problema di machine learning adatta. Considerare perché il progetto richiede il machine learning, il miglior tipo di algoritmo per il problema, eventuali requisiti di trasparenza e riduzione dei pregiudizi e input e output previsti.
  2. Comprendere e identificare le esigenze di dati. Determinare quali dati sono necessari per costruire il modello e valutarne la prontezza per l’ingestione del modello. Considerare quanti dati sono necessari, come verranno suddivisi in set di test e di addestramento e se è possibile utilizzare un modello di machine learning pre-addestrato.
  3. Raccogliere e preparare i dati per l’addestramento del modello. Pulire ed etichettare i dati, inclusa la sostituzione di dati errati o mancanti, la riduzione del rumore e la rimozione dell’ambiguità. Questa fase può anche includere il potenziamento e l’aumento dei dati e l’anonimizzazione dei dati personali, a seconda del set di dati. Infine, suddividere i dati in set di training, test e convalida.
  4. Determinare le caratteristiche del modello e addestrarlo. Iniziare selezionando gli algoritmi e le tecniche appropriati, inclusa l’impostazione degli iperparametri. Quindi, addestrare e convalidare il modello, in fine ottimizzarlo secondo necessità regolando gli iperparametri e i pesi. A seconda del problema aziendale, gli algoritmi potrebbero includere capacità di comprensione del linguaggio naturale, come reti neurali ricorrenti o trasformatori per attività di elaborazione del linguaggio naturale (NLP), o algoritmi di potenziamento per ottimizzare i modelli di alberi decisionali.
  5. Valutare le prestazioni del modello e stabilire parametri di riferimento. Eseguire calcoli della matrice di confusione, determinare KPI aziendali e metriche ML, misurare la qualità del modello e determinare se il modello soddisfa gli obiettivi aziendali.
  6. Distribuire il modello e monitorarne le prestazioni in produzione. Questa parte del processo, nota come operativizzazione del modello, è in genere gestita in modo collaborativo da data scientist e ingegneri di machine learning. Misurare continuamente le prestazioni del modello, sviluppare benchmark per future iterazioni del modello e iterare per migliorare le prestazioni complessive.
    Gli ambienti di distribuzione possono essere nel cloud, in periferia o in sede.
  7. Affinare e adattare continuamente il modello in produzione. Anche dopo che il modello ML è in produzione e costantemente monitorato, il lavoro continua. I cambiamenti nelle esigenze aziendali, nelle capacità tecnologiche e nei dati del mondo reale possono introdurre nuove richieste e requisiti.

Applicazioni del machine learning per le aziende

Il machine learning è diventato parte integrante del software aziendale. Di seguito sono riportati alcuni esempi di come varie applicazioni aziendali utilizzano ML:

  • Business intelligence. Il software di BI e analisi predittiva utilizza algoritmi ML, tra cui regressione lineare e regressione logistica, per identificare punti dati significativi, modelli e anomalie in grandi set di dati. Queste informazioni aiutano le aziende a prendere decisioni basate sui dati, prevedere tendenze e ottimizzare le prestazioni. I progressi nell’intelligenza artificiale generativa hanno anche consentito la creazione di report e dashboard dettagliate che riassumono dati complessi in formati facilmente comprensibili.
  • Customer relationship management ovvero la gestione delle relazioni con i clienti. Le principali applicazioni ML in CRM includono l’analisi dei dati dei clienti per segmentare i clienti, prevedere comportamenti come l’abbandono, fare raccomandazioni personalizzate, adeguare i prezzi, ottimizzare le campagne e-mail, fornire supporto tramite chatbot e rilevare le frodi. L‘intelligenza artificiale generativa può anche creare contenuti di marketing personalizzati, automatizzare le risposte nel servizio clienti e generare approfondimenti basati sul feedback dei clienti.
  • Sicurezza e conformità. Le macchine a vettori di supporto possono distinguere le deviazioni nel comportamento da una normale linea di base, il che è fondamentale per identificare potenziali minacce informatiche, trovando la linea o il confine migliore per dividere i dati in gruppi diversi. Le reti generative avversarie possono creare esempi avversari di malware, aiutando i team di sicurezza a formare modelli ML che sono più efficaci nel distinguere tra software benigno e dannoso.
  • Sistemi informativi delle risorse umane. I modelli ML semplificano le assunzioni filtrando le applicazioni e identificando i migliori candidati per una posizione. Possono anche prevedere il turnover dei dipendenti, suggerire percorsi di sviluppo professionale e automatizzare la pianificazione dei colloqui. L’intelligenza artificiale generativa può aiutare a creare descrizioni di lavoro e generare materiali di formazione personalizzati.
  • Gestione della supply chain. Il machine learning può ottimizzare i livelli di magazzino, semplificare la logistica, migliorare la selezione dei fornitori e affrontare in modo proattivo le interruzioni della supply chain. L’analisi predittiva può prevedere la domanda in modo più accurato e le simulazioni basate sull’intelligenza artificiale possono modellare diversi scenari per migliorare la resilienza.
  • Elaborazione del linguaggio naturale. Le applicazioni NLP includono analisi del sentiment, traduzione linguistica e riepilogo del testo, tra le altre. I progressi nell’intelligenza artificiale generativa, come GPT-4  di OpenAi e Gemini di Google hanno notevolmente migliorato queste capacità.
    I ​​modelli NLP generativi possono produrre testo simile a quello umano, migliorare gli assistenti virtuali e abilitare applicazioni basate sul linguaggio più sofisticate, tra cui la creazione di contenuti e la sintesi di documenti.

Esempi di machine learning per settore

L’adozione aziendale di tecniche di ML in tutti i settori sta trasformando i processi aziendali. Ecco alcuni esempi:

  • Servizi finanziari. Capital One utilizza ML per aumentare il rilevamento delle frodi, offrire esperienze personalizzate ai clienti e migliorare la pianificazione aziendale. L’azienda utilizza la metodologia MLOps per distribuire le applicazioni ML su larga scala.
  • Prodotti farmaceutici. I produttori di farmaci utilizzano ML per la scoperta di farmaci, le sperimentazioni cliniche e la produzione di farmaci. Eli Lilly ha creato modelli di IA e ML, ad esempio, per trovare i siti migliori per le sperimentazioni cliniche e aumentare la diversità dei partecipanti. I modelli hanno ridotto notevolmente le tempistiche delle sperimentazioni cliniche, secondo l’azienda.
  • Assicurazioni. Il noto programma Snapshot di Progressive Corp. utilizza algoritmi ML per analizzare i dati di guida, offrendo tariffe più basse ai conducenti sicuri. Altre utili applicazioni di ML nel settore assicurativo includono la sottoscrizione e l’elaborazione dei reclami.
  • Vendita al dettaglio. Walmart ha distribuito My Assistant, uno strumento di intelligenza artificiale generativa per aiutare i suoi circa 50.000 dipendenti del campus nella generazione di contenuti, nella sintesi di documenti di grandi dimensioni e nel ruolo di “partner creativo” complessivo. L’azienda sta anche utilizzando lo strumento per sollecitare il feedback dei dipendenti sui casi d’uso.

 

Quali sono i vantaggi e gli svantaggi del machine learning?

Se implementato in modo efficace, il ML offre un vantaggio competitivo alle aziende identificando le tendenze e prevedendo i risultati con maggiore accuratezza rispetto alle statistiche convenzionali o all’intelligenza umana. Il ML può apportare vantaggi alle aziende in diversi modi:

Grafico che elenca i vantaggi aziendali del machine learning, come il miglioramento della pianificazione, l’aumento dell’efficienza e il rilevamento delle frodi.

  • Analisi dei dati storici per fidelizzare i clienti.
  • Lancio di sistemi di raccomandazione per aumentare i ricavi.
  • Miglioramento della pianificazione e delle previsioni.
  • Valutazione dei modelli per rilevare le frodi.
  • Aumento dell’efficienza e riduzione dei costi.

Ma il machine learning comporta anche una serie di sfide aziendali. Innanzitutto, può essere costoso. Il ML richiede software, hardware e infrastrutture di gestione dei dati costosi e i progetti di ML sono in genere guidati da data scientist e ingegneri che percepiscono stipendi elevati.

Un altro problema significativo è il bias del ML. Gli algoritmi addestrati su set di dati che escludono determinate popolazioni o contengono errori possono portare a modelli imprecisi. Questi modelli possono fallire e, nel peggiore dei casi, produrre risultati discriminatori. Basare i processi aziendali principali su modelli distorti può causare danni normativi e reputazionali alle aziende.

Importanza del machine learning interpretabile dall’uomo

Spiegare il funzionamento interno di uno specifico modello ML può essere difficile, soprattutto quando il modello è complesso. Con l’evoluzione dell’machine learning, l’importanza di modelli spiegabili e trasparenti non farà che crescere, in particolare nei settori con pesanti oneri di conformità, come banche e assicurazioni.

Sviluppare modelli ML i cui risultati siano comprensibili e spiegabili dagli esseri umani è diventata una priorità a causa dei rapidi progressi e dell’adozione di sofisticate tecniche ML, come l’intelligenza artificiale generativa. I ricercatori di laboratori di intelligenza artificiale come Anthropic hanno fatto progressi nella comprensione del funzionamento dei modelli di intelligenza artificiale generativa, attingendo a tecniche di interpretabilità e spiegabilità.

IA interpretabile vs. spiegabile

L’interpretabilità si concentra sulla comprensione approfondita del funzionamento interno di un modello ML, mentre la spiegabilità implica la descrizione del processo decisionale del modello in modo comprensibile. Le tecniche di ML interpretabili sono in genere utilizzate da data scientist e altri professionisti di ML, dove la spiegabilità è più spesso intesa ad aiutare i non esperti a comprendere i modelli di machine learning.

Un cosiddetto modello black box potrebbe essere comunque spiegabile anche se non è interpretabile, ad esempio. I ricercatori potrebbero testare diversi input e osservare i successivi cambiamenti negli output, utilizzando metodi come le spiegazioni additive di Shapley (SHAP) per vedere quali fattori influenzano maggiormente l’output. In questo modo, i ricercatori possono arrivare a un quadro chiaro di come il modello prende decisioni (spiegabilità), anche se non comprendono appieno la meccanica della complessa rete neurale al suo interno (interpretabilità).

Le tecniche di ML interpretabili mirano a rendere il processo decisionale di un modello più chiaro e trasparente. Esempi di questo sono:

  • alberi decisionali, che forniscono una rappresentazione visiva dei percorsi decisionali;
  • regressione lineare, che spiega le previsioni basate su somme ponderate di caratteristiche di input;
  • e reti bayesiane, che rappresentano le dipendenze tra variabili in modo strutturato e interpretabile.

Le tecniche di IA spiegabile (XAI) vengono utilizzate a posteriori per rendere l’output di modelli ML più complessi più comprensibile agli osservatori umani.
Esempi di questo sono: spiegazioni agnostiche del modello interpretabile locale (LIME), che approssimano il comportamento del modello localmente con modelli più semplici per spiegare le singole previsioni, e valori SHAP, che assegnano punteggi di importanza a ciascuna caratteristica per chiarire in che modo contribuiscono alla decisione del modello.

I requisiti di trasparenza possono dettare la scelta del modello ML

In alcuni settori, gli informatici devono usare modelli ML semplici perché è importante per l’azienda spiegare come è stata presa ogni decisione. Questa esigenza di trasparenza spesso si traduce in un compromesso tra semplicità e accuratezza.

Sebbene modelli complessi possano produrre previsioni altamente accurate, spiegare i loro output a un profano, o persino a un esperto, può essere difficile.

Modelli più semplici e interpretabili sono spesso preferiti in settori altamente regolamentati in cui le decisioni devono essere giustificate e verificate. Ma i progressi nell’interpretabilità e nelle tecniche XAI stanno rendendo sempre più fattibile l’implementazione di modelli complessi mantenendo la trasparenza necessaria per la conformità e l’affidabilità.

Team, ruoli e flussi di lavoro di machine learning

La creazione di un team ML inizia con la definizione degli obiettivi e dell’ambito del progetto ML. Le domande essenziali da porsi includono: quali problemi aziendali deve risolvere il team ML? Quali sono gli obiettivi del team? Quali metriche verranno utilizzate per valutare le prestazioni?

Rispondere a queste domande è una parte essenziale della pianificazione di un progetto di machine learning.

Aiuta l’organizzazione a comprendere l’obiettivo del progetto (ad esempio, ricerca, sviluppo del prodotto, analisi dei dati) e i tipi di competenza ML richiesti (ad esempio, visione artificiale, NLP, modellazione predittiva).

Successivamente, in base a queste considerazioni e ai vincoli di budget, le organizzazioni devono decidere quali ruoli lavorativi saranno necessari per il team ML. Il budget del progetto dovrebbe includere non solo i costi standard delle risorse umane, come stipendi, benefit e onboarding, ma anche strumenti ML, infrastruttura e formazione. Mentre la composizione specifica di un team ML varierà, la maggior parte dei team ML aziendali includerà un mix di professionisti tecnici e aziendali, ognuno dei quali contribuirà con un’area di competenza al progetto.

 

Ruoli del team ML

Un team ML in genere include alcuni ruoli non ML, come esperti di dominio che aiutano a interpretare i dati e a garantire la pertinenza al campo del progetto, project manager che supervisionano il ciclo di vita del progetto di machine learning, product manager che pianificano lo sviluppo di applicazioni e software ML e ingegneri del software che creano tali applicazioni.

Inoltre, diversi ruoli più strettamente focalizzati su ML sono essenziali per un team ML:

  • Data scientist. Gli Informatici progettano esperimenti e costruiscono modelli per prevedere i risultati e identificare schemi. Raccolgono e analizzano set di dati, puliscono e preelaborano i dati, progettano architetture di modelli, interpretano i risultati dei modelli e comunicano i risultati ai leader aziendali e alle parti interessate. Gli scienziati dei dati hanno bisogno di competenze in statistica, programmazione informatica e machine learning, inclusi linguaggi popolari come Python e R e framework come PyTorch e TensorFlow.
  • Data Engineer. Gli ingegneri dei dati sono responsabili dell’infrastruttura a supporto dei progetti ML, assicurando che i dati vengano raccolti, elaborati e archiviati in modo accessibile. Progettano, costruiscono e mantengono pipeline di dati; gestiscono sistemi di elaborazione dati su larga scala; e creano e ottimizzano i processi di integrazione dei dati. Hanno bisogno di competenze nella gestione di database, data warehousing, linguaggi di programmazione come SQL e Scala e tecnologie big data come Hadoop e Apache Spark.
  • ML Engineer. Noti anche come ingegneri MLOps, gli ingegneri ML aiutano a portare i modelli sviluppati dagli scienziati dei dati negli ambienti di produzione utilizzando le pipeline ML gestite dagli ingegneri dei dati. Ottimizzano gli algoritmi per le prestazioni; distribuiscono e monitorano i modelli ML; mantengono e scalano l’infrastruttura ML; e automatizzano il ciclo di vita ML attraverso pratiche come CI/CD e data versioning. Oltre alla conoscenza dell’machine learning e dell’intelligenza artificiale, gli ingegneri ML hanno in genere bisogno di competenze in ingegneria del software, architettura dei dati e cloud computing.

Passaggi per stabilire flussi di lavoro ML

Una volta formato il team ML, è importante che tutto funzioni senza intoppi. Assicurati che i membri del team possano facilmente condividere conoscenze e risorse per stabilire flussi di lavoro coerenti e best practice. Ad esempio, implementa strumenti per la collaborazione, il controllo delle versioni e la gestione dei progetti, come Git e Jira.

Anche una documentazione chiara e completa è importante per il debug, il trasferimento delle conoscenze e la manutenibilità. Per i progetti di ML, ciò include la documentazione di set di dati, esecuzioni di modelli e codice, con descrizioni dettagliate delle fonti di dati, fasi di pre-elaborazione, architetture dei modelli, iperparametri e risultati degli esperimenti.

Una metodologia comune per la gestione dei progetti ML è MLOps, abbreviazione di machine learning operations: un set di pratiche per distribuire, monitorare e mantenere modelli ML in produzione. Trae ispirazione da DevOps ma tiene conto delle sfumature che differenziano ML dall’ingegneria del software. Proprio come DevOps migliora la collaborazione tra sviluppatori software e operazioni IT, MLOps collega data scientist e ingegneri ML con team di sviluppo e operativi.

Adottando MLOps, le organizzazioni mirano a migliorare la coerenza, la riproducibilità e la collaborazione nei flussi di lavoro ML. Ciò comporta il monitoraggio degli esperimenti, la gestione delle versioni del modello e la tenuta di registri dettagliati dei dati e delle modifiche del modello. La tenuta dei registri delle versioni del modello, delle fonti dati e delle impostazioni dei parametri garantisce che i team di progetto ML possano facilmente tenere traccia delle modifiche e comprendere in che modo le diverse variabili influenzano le prestazioni del modello.

Allo stesso modo, i flussi di lavoro standardizzati e l’automazione delle attività ripetitive riducono il tempo e lo sforzo necessari per spostare i modelli dallo sviluppo alla produzione. Ciò include l’automazione della formazione, dei test e della distribuzione del modello. Dopo la distribuzione, il monitoraggio e la registrazione continui assicurano che i modelli siano sempre aggiornati con i dati più recenti e funzionino in modo ottimale.

Strumenti e piattaforme di machine learning

Lo sviluppo di ML si basa su una gamma di piattaforme, framework software, librerie di codice e linguaggi di programmazione. Ecco una panoramica di ciascuna categoria e alcuni degli strumenti principali in quella categoria.

Piattaforme

Le piattaforme ML sono ambienti integrati che forniscono strumenti e infrastrutture per supportare il ciclo di vita del modello ML. Le funzionalità chiave includono la gestione dei dati; sviluppo del modello, formazione, convalida e distribuzione; monitoraggio e gestione post-distribuzione. Molte piattaforme includono anche funzionalità per migliorare la collaborazione, la conformità e la sicurezza, nonché componenti di machine learning automatizzato (AutoML) che automatizzano attività come la selezione e la parametrizzazione del modello.

Ognuno dei tre principali provider cloud offre una piattaforma ML progettata per integrarsi con il suo ecosistema cloud: Google Vertex AI, Amazon SageMaker e Microsoft Azure ML. Questi ambienti unificati offrono strumenti per lo sviluppo, la formazione e la distribuzione del modello, tra cui funzionalità AutoML e MLOps e supporto per framework popolari come TensorFlow e PyTorch. La scelta spesso si riduce a quale piattaforma si integra meglio con l’ambiente IT esistente di un’organizzazione.

Oltre alle offerte dei provider cloud, ci sono diverse alternative di terze parti e open source. Di seguito sono riportate alcune altre piattaforme ML popolari:

  • IBM Watson Studio. Offre strumenti completi per data scientist, sviluppatori di applicazioni e ingegneri MLOps. Enfatizza l’etica e la trasparenza dell’IA e si integra bene con IBM Cloud.
  • Databricks. Una piattaforma di analisi unificata adatta all’elaborazione di big data. Offre funzionalità di collaborazione, come notebook collaborativi e una versione gestita di MLflow, uno strumento open source sviluppato da Databricks per la gestione del ciclo di vita ML.
  • Snowflake. Una piattaforma dati basata su cloud che offre data warehousing e supporto per carichi di lavoro ML e data science. Si integra con un’ampia varietà di strumenti dati e framework ML.
  • DataRobot. Una piattaforma per lo sviluppo, la distribuzione e la gestione rapidi di modelli che enfatizza AutoML e MLOps. Offre un’ampia selezione di modelli predefiniti e strumenti di preparazione dei dati.

Framework e librerie

I framework e le librerie ML forniscono i mattoni per lo sviluppo di modelli: raccolte di funzioni e algoritmi che gli ingegneri ML possono utilizzare per progettare, addestrare e distribuire modelli ML in modo più rapido ed efficiente.

Nel mondo reale, i termini framework e libreria sono spesso usati in modo intercambiabile. Ma in senso stretto, un framework è un ambiente completo con strumenti e risorse di alto livello per la creazione e la gestione di applicazioni ML, mentre una libreria è una raccolta di codice riutilizzabile per particolari attività ML.

Di seguito sono riportati alcuni dei framework e delle librerie ML più comuni:

  • TensorFlow. Un framework ML open source sviluppato originariamente da Google. È ampiamente utilizzato per il deep learning, in quanto offre un ampio supporto per reti neurali e ML su larga scala.
  • PyTorch. Un framework ML open source sviluppato originariamente da Meta. È noto per la sua flessibilità e facilità d’uso e, come TensorFlow, è popolare per i modelli di deep learning.
  • Keras. Una libreria Python open source che funge da interfaccia per la creazione e l’addestramento di reti neurali. È facile da usare e viene spesso utilizzata come API di alto livello per TensorFlow e altri back end.
  • Scikit-learn. Una libreria Python open source per l’analisi dei dati e l’machine learning, nota anche come sklearn. È ideale per attività quali classificazione, regressione e clustering.
  • OpenCV. Una libreria di visione artificiale che supporta Python, Java e C++. Fornisce strumenti per applicazioni di visione artificiale in tempo reale, tra cui elaborazione delle immagini, acquisizione e analisi video.
  • NLTK. Una libreria Python specializzata per attività NLP. Le sue funzionalità includono librerie di elaborazione del testo per classificazione, tokenizzazione, stemming, tagging e analisi, tra le altre.

Linguaggi di programmazione

In teoria, quasi tutti i linguaggi di programmazione possono essere utilizzati per ML. Ma in pratica, la maggior parte dei programmatori sceglie un linguaggio per un progetto ML in base a considerazioni quali la disponibilità di librerie di codice incentrate su ML, supporto della community e versatilità.

Nella maggior parte dei casi, questo significa Python, il linguaggio più ampiamente utilizzato nell’apprendimento automatico. Python è semplice e leggibile, il che lo rende facile da apprendere per i nuovi arrivati ​​nella codifica o per gli sviluppatori che hanno familiarità con altri linguaggi. Python vanta anche un’ampia gamma di librerie e framework di data science e ML, tra cui TensorFlow, PyTorch, Keras, scikit-learn, pandas e NumPy.

Altri linguaggi utilizzati in ML includono i seguenti:

  • R. Noto per le sue capacità di analisi statistica e visualizzazione, R è ampiamente utilizzato nel mondo accademico e nella ricerca. È adatto per la manipolazione dei dati, la modellazione statistica e la rappresentazione grafica.
  • Julia. Julia è un linguaggio meno noto progettato specificamente per l’elaborazione numerica e scientifica. È noto per le sue elevate prestazioni, in particolare quando si gestiscono calcoli matematici e grandi set di dati.
  • C++. C++ è un linguaggio efficiente e performante per scopi generali che viene spesso utilizzato in ambienti di produzione. È apprezzato per la sua velocità e il controllo sulle risorse di sistema, che lo rendono adatto per applicazioni ML critiche per le prestazioni.
  • Scala. Il linguaggio conciso e multiuso, Scala, è spesso utilizzato con framework big data come Apache Spark. Scala combina paradigmi di programmazione orientati agli oggetti e funzionali, offrendo un’elaborazione dati scalabile ed efficiente.
  • Java. Come Scala, Java è una buona scelta per lavorare con framework big data. È un linguaggio multiuso performante, portabile e scalabile che si trova comunemente negli ambienti aziendali.

 

Qual è il futuro dell’apprendimento automatico?

Alimentato da una vasta ricerca condotta da aziende, università e governi di tutto il mondo, l’apprendimento automatico continua a evolversi rapidamente. Le innovazioni nell’intelligenza artificiale e nell’apprendimento automatico si verificano frequentemente, rendendo obsolete le pratiche accettate quasi non appena vengono stabilite. Una certezza sul futuro dell’apprendimento automatico è il suo ruolo centrale nel 21° secolo, che trasforma il modo in cui si lavora e il modo in cui viviamo.

Diverse tendenze emergenti stanno plasmando il futuro dell’apprendimento automatico:

  • NLP. I progressi negli algoritmi e nelle infrastrutture hanno portato a un’intelligenza artificiale conversazionale più fluida, modelli di apprendimento automatico più versatili in grado di adattarsi a nuove attività e modelli linguistici personalizzati e ottimizzati per le esigenze aziendali. I modelli linguistici di grandi dimensioni stanno diventando più importanti, consentendo la creazione di contenuti sofisticati e interazioni uomo-computer migliorate.
  • Computer Vision. Si prevede che le capacità di visione artificiale in evoluzione avranno un profondo effetto su molti domini. In ambito sanitario, svolge un ruolo sempre più importante nella diagnosi e nel monitoraggio. La scienza ambientale trae vantaggio dalla capacità dei modelli di visione artificiale di analizzare e monitorare la fauna selvatica e i suoi habitat. Nell’ingegneria del software, è un componente fondamentale delle tecnologie di realtà aumentata e virtuale.
  • Tecnologia Enterprise. I principali fornitori come Amazon, Google, Microsoft, IBM e OpenAI stanno correndo per registrare i clienti per i servizi della piattaforma AutoML che coprono lo spettro delle attività di ML, tra cui raccolta dati, preparazione e classificazione; creazione e formazione di modelli; e distribuzione delle applicazioni.
  • ML interpretabile e XAI. Questi concetti stanno guadagnando terreno mentre le organizzazioni tentano di rendere i loro modelli ML più trasparenti e comprensibili. Tecniche come LIME, SHAP e architetture di modelli interpretabili sono sempre più integrate nello sviluppo ML per garantire che i sistemi di intelligenza artificiale non siano solo accurati, ma anche comprensibili e affidabili.

Nell’entusiasmo del momento, le aziende affrontano sfide simili a quelle presentate dalle precedenti tecnologie all’avanguardia e in rapida evoluzione. Queste sfide includono l’adattamento dell’infrastruttura legacy per ospitare i sistemi ML, la mitigazione di pregiudizi e altri risultati dannosi, l’ottimizzazione dell’uso dell’apprendimento automatico per generare profitti riducendo al minimo i costi.

Anche le considerazioni etiche, la riservatezza dei dati e la conformità normativa sono questioni critiche che le organizzazioni devono affrontare quando integrano tecnologie avanzate di intelligenza artificiale e apprendimento automatico nelle loro operazioni.