Il settore dell’intelligenza artificiale è caratterizzato da una rapida innovazione, situazione che rende difficile per il mercato del software tenere il passo con le nuove tecnologie, garantendo nel contempo le standardizzazioni funzionali, i supporti d’interoperabilità e le garanzie sui percorsi d’aggiornamento e supporto che ci si aspettano dai prodotti commerciali.
Quando si parla di tecnologie analitiche per big data e AI (deep learning, in particolare), il ricorso al software open source non rappresenta oggi un’eccezione, ma la regola. Come è accaduto nel campo dello sviluppo dei servizi Web e online, l’open source può offrire moltissimo sul piano funzionale e dell’innovazione a patto che si sappiano affrontare con risorse interne o con partner affidabili le specifiche problematiche d’integrazione e gestione che riguardano l’hardware, i servizi cloud e i sistemi di preparazione dei dati in uso nell’azienda.
Per l’impiego di software di intelligenza artificiale open source in attività che non siano soltanto sperimentali, diventa fondamentale poter disporre dei supporti più adeguati alle esigenze d’impresa, dotati delle capacità richieste, ma anche della stabilità di versione e sicurezza del codice che servono per garantire la tutela della privacy e le difese nei confronti dei rischi sempre crescenti della cyber security.
I framework per l’intelligenza artificiale open source
Nell’ambito dei framework per il deep learning, Caffè, Torch, Tensorflow, Theano e Chainer sono alcuni degli strumenti open source più noti e utilizzati, assieme alle librerie di supporto come Digits, OpenBlas, Bazel e NCCL. Gli strumenti hanno caratterizzazioni applicative diverse, alcuni sono nati in ambiti di ricerca universitaria, altri si avvalgono del sostegno di grandi società oltre che di vaste community di utenti e sviluppatori.
Tensorflow è una library AI open source molto popolare grazie alla disponibilità di supporti per la formazione e per differenti dispositivi, a cominciare dai sistemi mobili Android. Attraverso il sistema di visualizzazione Tensorboard è possibile visualizzare in modo efficace molti dei problemi che possono insorgere durante il training del sistema.
Sviluppata presso l’Università di Berkeley per la risoluzione di problemi di computer vision, Caffè è una delle più mature e supportate librerie per CNN (Convolutional Neural Network) e visione al computer. Il successo di Caffè deriva anche dall’impiego del framework per il deploy su reti neurali dei modelli sviluppati con OpenCV, molto popolari nelle app che sfruttano la computer vision sui sistemi mobili.
L’alimentazione e lo storage dei dati in chiave open source
Sul fronte della gestione dei dati che devono alimentare i software d’intelligenza artificiale open source, il software libero offre valide opzioni che rimpiazzano o completano quelle proprietarie dei database tradizionali usati in ambiti come CRM e ERP. Tra quelle più diffuse per mettere in piedi infrastrutture per addestrare i sistemi di deep learning e sfruttare l’inferenza su big data in compiti come il rilevamento di frodi o l’elaborazione dati da sensori IoT c’è NoSQL.
Nel caso servano prestazioni maggiori, l’open source offre le opzioni per sfruttare tecnologie come l’in-memory computing (i dati sono trattenuti in ampie memorie RAM per garantire l’accesso più veloce) o la capacità di eseguire in contemporanea un gran numero di thread, sfruttando la potenza sia delle tradizionali CPU sia delle GPU (Graphic Processor Unit), a seconda dello schema database e del tipo di dati utilizzati.
Sempre allo scopo di sfruttare al meglio le capacità dei software di intelligenza artificiale open source, è possibile impiegare nuove classi di database veloci (anch’essi open source) come Redis, MongoDB, EDB Postgres a cui si affiancano database grafici come Neo4J e Kinetica che sfruttano le capacità d’elaborazione dell’hardware dotato di GPU.
Infine, anche sui fronti della memorizzazione, della catalogazione di grandi volumi di dati provenienti da fonti diverse è possibile avvalersi di aiuti da parte del software open source. In quest’ambito è senz’altro significativa la piattaforma Hortonworks per tutti i compiti di archiviazione distribuita dei dati. La piattaforma è capace di trarre beneficio da altre componenti open come MapReduce, HDFS, HCatalog, Maiale, Hive, HBase, Zookeeper e Ambari.