AI open source ultima frontiera di uno sviluppo virtuoso che consente di apportare al mondo del software nuove economie di scala anche nell’ambito dell’Intelligenza Artificiale. L’open source, infatti, permette alla comunità dei programmatori di tutto il mondo di coordinarsi e di lavorare allo stesso progetto indipendentemente da dove risiedano. In questo modo l’attività di programmazione può contare su un numero di risorse a capacità infinita che ogni giorno contribuiscono a migliorare la qualità dei codici e i risultati.
L’evolutiva del mondo open source
Nell’ultimo ventennio l’uso di sorgenti aperti è stato un pilastro dell’ecosistema informatico. Dalla popolarità di Linux nell’ambiente server aziendale al browser Firefox, l’open source ha trovato un posto d’onore nella piramide informatica. Non sorprende, dunque, il fatto che l’AI open source stia riscuotendo una popolarità e un utilizzo significativi anche nell’ambito delle applicazioni di machine learning e deep learning.
In effetti, gran parte della tecnologia che alimenta l’IA è open source. Ciò è in contrasto con altre tecnologie aziendali, come i sistemi operativi e i database che tradizionalmente affondavano le loro radici nel software chiuso e licenziato.
Ai Open source
Considerando il valore e i miliardi di dollari investiti nel settore dell’Intelligenza Artificiale, il fatto che gli strumenti di intelligenza artificiale più popolari e ampiamente utilizzati siano disponibili in chiave open source è una vittoria per tutti gli operatori interessati. L’alta qualità dell’AI open source consente a una vasta gamma di utenti, inclusi ricercatori e accademici, start-up e imprenditori, organizzazioni governative e grandi imprese, di esplorare e sperimentare l’AI senza dover effettuare significativi investimenti iniziali in termini di licenze e sistemi proprietari.
Le grandi comunità open source stanno offrendo alle organizzazioni un più ampio accesso a talenti e competenze, consentendo, al contempo, alle persone di migliorare le proprie conoscenze senza doversi accollare investimenti iniziali in strumenti e tecnologie.
Esempi di strumenti e toolkit di apprendimento automatico open source
Uno dei principali driver dell’apprendimento automatico è la popolarità di Python, un linguaggio di programmazione open source ampiamente adottato dalla comunità dell’AI. Tramite librerie come scikit-learn, il popolarissimo notebook di data science Jupyter e progetti open source basati su Python, gli sviluppatori che stanno programmando codice per l’Intelligenza Artificiale hanno trovato tutti gli strumenti di cui hanno bisogno per lavorare. I membri della comunità open source rendono spesso disponibili toolkit preassemblati e progetti open source tramite repository come, ad esempio, GitHub per aiutare tutti membri della community ad accelerare lo sviluppo.
Il linguaggio di programmazione R, con tutto il suo ecosistema di supporto, è un altro ambiente open source estremamente popolare (e gratuito) che supporta un gran numero di ricercatori di machine learning e AI.
Player come Facebook, Google, IBM, Microsoft e tanti altri hanno ulteriormente migliorato l’ecosistema AI open source fornendo contributi importanti che hanno ulteriormente arricchito gli strumenti open source. Google ha guidato lo sviluppo della piattaforma di apprendimento automatico TensorFlow come progetto open source, mentre il gruppo di ricerca sull’Intelligenza Artificiale di Facebook insieme ad altri team ha contribuito a sviluppare PyTorch e Caffe.
Microsoft ha rilasciato il suo Cognitive Toolkit come pacchetto open source per il deep learning distribuito di livello enterprise. Allo stesso modo, Amazon e altri hanno contribuito a guidare il progetto Apache MXNet, che viene fornito con l’interfaccia Gluon e fornisce elementi di base semplici e veloci per lo sviluppo dell’apprendimento automatico.
C’è stato anche uno sviluppo open source a livelli più alti dello stack. I più diffusi strumenti di visione artificiale open source includono, tra gli altri, OpenCV e SimpleCV. Inoltre, esiste una vasta gamma di toolkit in linguaggio naturale open source, tra cui Natural Language Toolkit per Python, SpaCy e PyTorch-NLP, nonché OpenNLP basato su Java e molti altri.
Sebbene non specifico dell’AI, il sistema operativo Robot è molto diffuso, abilitando l’utilizzo dell’apprendimento automatico e le capacità di intelligenza artificiale nella comunità della robotica, favorendo implementazioni autonome senza l’uso di software proprietario.
Allo stesso modo, c’è stata un’importante spinta open source per l’analisi predittiva e la scienza dei dati. Gli strumenti open source includono H2O, Apache Mahout, Apache Spark e Hadoop per l’analisi dei big data abilitata con funzionalità di machine learning tramite Apache Spark MLlib. Oltre a questi sistemi popolari, ci sono un paio di strumenti di apprendimento automatico che stanno lentamente guadagnando trazione, tra cui TPOT e AutoSklearn.
Allo stesso modo in cui Red Hat ha aperto la strada al supporto e ai componenti aggiuntivi delle imprese commerciali per il sistema operativo Linux open source, così anche l’intelligenza artificiale e le società di big data come Cloudera, Databricks e H2O.ai forniscono supporto commerciale e aziendale e componenti aggiuntivi per strumenti software di AI open source.
Pro e contro delle alternative software commerciali
A fronte del fatto che gli strumenti AI open source sono estremamente popolari, ci sono tantissime imprese, ricercatori e organizzazioni governative che hanno investito e continuano a investire su soluzioni commerciali come, ad esempio, SAS e Matlab (utilizzate per le applicazioni di analisi, data science e machine learning).
A fronte del pagamento di una o più licenze, questi strumenti sono ampiamente adottati da ampie comunità di sviluppatori che ci hanno creduto e investito in modo consistente, dando vita a un considerevole ecosistema di strumenti e applicazioni di supporto.
È vero che il limite degli strumenti commerciali è rappresentato dalle restrizioni in termini di costi e licenze, ma è anche vero che le grandi organizzazioni sono piuttosto caute nell’utilizzare strumenti open source in ambienti critici o quando gli strumenti potrebbero dover essere utilizzati in contesti più restrittivi. In questi casi gli sviluppatori sono condizionati dalla mancanza di informazioni certe rispetto alle condizioni legali che li autorizzano a utilizzare strumenti open source. Al contrario le offerte commerciali hanno spesso termini di licenza più espliciti. I vendor, per altro, promuovono la loro offerta sottolineando la qualità della sicurezza in termini di aggiornamento e supporto tecnico.
Tuttavia, stanno aumentando le aziende che offrono vantaggi analoghi anche per gli strumenti open source. Mentre non vi è dubbio che l’interesse per l’AI e l’apprendimento automatico stiano guidando l’adozione di offerte sia open source che commerciali, i provider hanno capito che non possono più fare affidamento su una base di clienti consolidata per garantirsi un futuro. Il mercato dell’Intelligenza Artificiale continua crescere. Dal momento che gli strumenti di AI open source spianano alle organizzazioni la strada per iniziare rapidamente e con facilità i progetti di automazione intelligente, spostando i loro sistemi su una produzione in larga scala, non c’è dubbio che il software di intelligenza artificiale open source continuerà a prosperare.