Dalla sua nascita, l’intelligenza artificiale è stata sperimentata e applicata soprattutto in laboratori e ambienti accademici. Rispetto a quel passato, oggi, le innovazioni tecnologiche degli ultimi anni, come il continuo incremento della capacità computazionale delle infrastrutture hardware, la crescente diffusione del cloud computing e lo sviluppo del modello open source, stanno permettendo di trasferire il machine learning deployment in un numero sempre più elevato di ambienti aziendali, dov’è possibile semplificare l’implementazione dei progetti di apprendimento automatico delle macchine per realizzare velocemente applicazioni commerciali.
Difficoltà da superare nel machine learning deployment
Tipicamente, i differenti ordini di problemi sono associati alle difficoltà, di natura sia tecnica, sia organizzativa, da affrontare e risolvere per costruire la complessa infrastruttura IT che formerà la fondazione per il machine learning deployment. D’altra parte, per un team di data science, non riuscire a fornire un’applicazione di machine learning (ML) nei tempi richiesti dai responsabili del business aziendale significa non produrre efficaci modelli predittivi, in grado di estrapolare dai dati dell’organizzazione insight utili a generare un impatto positivo sull’attività imprenditoriale.
Le sfide tecnologiche e organizzative includono la capacità di fronteggiare l’attuale scarsità di competenze nella data science, ma anche l’abilità di coordinare e integrare le diverse conoscenze possedute dagli specialisti nei molteplici campi disciplinari: linguaggi di programmazione e ambienti di sviluppo (Python, R, RStudio), strumenti classici di business intelligence, framework di machine learning e deep learning (TensorFlow, Keras, PyTorch, Caffe, Caffe2), tool di visualizzazione dati, motori e framework per il calcolo distribuito (Apache Hadoop, MapReduce, Apache Spark). Tali tecnologie e strumenti non sono facili da padroneggiare, ma servono ad acquisire, elaborare e analizzare in modalità unificata tutte le fonti di dati potenzialmente utili, non solo provenienti dai sistemi IT aziendali interni, ma anche da dispositivi e canali esterni d’interazione, come i sensori IoT, i social media, i forum di discussione online.
Machine learning deployment, la corretta strategia software
Quando l’obiettivo è velocizzare e semplificare i progetti di machine learning, è bene evitare approcci frammentari in merito all’acquisizione, preparazione, elaborazione e analisi dei dati, privilegiando invece piattaforme di data science già in grado d’integrare in maniera organica tutti gli strumenti software essenziali utilizzati dagli specialisti. Piattaforme che, possibilmente, devono essere utilizzabili non solo da scienziati dei dati e sviluppatori dell’applicazione di machine learning, ma anche da utenti meno esperti della materia, comunque in possesso di competenze e conoscenze preziose per contribuire al successo del progetto di machine learning deployment.
Inoltre, per essere velocizzato e semplificato, un progetto di ML sviluppato a livello enterprise non può incontrare impedimenti tecnici nella fase di transizione, dall’ambiente di test, al rilascio in produzione. Anche in questo caso, la piattaforma di data science deve incorporare meccanismi e funzionalità per consentire in maniera semplice di esportare in produzione i modelli predittivi realizzati, di scalarli in base alle esigenze, e di usarli subito, ad esempio, per migliorare applicazioni e servizi commerciali destinati ai consumatori.
Risolvere i limiti di capacità dell’infrastruttura hardware
Un altro fattore di complicazione delle iniziative di machine learning deployment deriva dalla crescente incapacità delle tradizionali architetture hardware, basate su server con CPU standard, di soddisfare i requisiti di potenza computazionale e calcolo parallelo richiesti in particolare dagli algoritmi di deep learning (DL). Anche questo limite, e difficoltà di gestione dei workload di ML, tuttavia, può essere superato, adottando, da un lato, acceleratori hardware con architettura eterogenea (GPU, FPGA, ASIC, processori many-core) e, dall’altro, piattaforme di data science flessibili, in grado di modulare senza problemi i processi di training degli algoritmi di ML in ambienti on-premise e multicloud, in funzione delle specifiche necessità dell’impresa.