A distanza di pochi mesi dal lancio della prima versione, Microsoft ha fatto un altro regalo agli sviluppatori. L’azienda di Redmond ha pubblicato codice e documentazione della release 2.0 di Cognitive Toolkit, insieme open source di strumenti di sviluppo software nel campo dell’intelligenza artificiale e, più precisamente, in quello del deep learning. La beta era stata presentata a ottobre 2016 e il framework di Microsoft si era messo subito in competizione con altri tool molto simili, come Tensorflow di Google. Secondo quanto sottolineato dal colosso di Redmond, però, se la prima versione era di fatto ancora acerba (trattandosi di una beta), questa nuova release è focalizzata su un maggiore usabilità delle risorse, sulla flessibilità e sulla compatibilità con strumenti di sviluppo come il linguaggio Phyton e le librerie di reti neurali Keras.

Il tutto senza perdere nulla, almeno secondo quanto dichiarato da Microsoft, in termini di velocità di elaborazione. Questo perché il vendor ha implementato capacità di compressione per portare all’accelerazione della valutazione dei modelli d’apprendimento. Uno dei principali vantaggi del deep learning è la sua capacità di automigliorarsi con il tempo, a mano a mano che una maggior quantità di informazioni viene codificata.

Esistono altri framework molto simili sul mercato, come Caffe e Torch, ma il più famoso è sicuramente Tensorflow, ampiamente utilizzato da Google in servizi come Gmail e le stesse ricerche. Per provare a rimarcare la presunta superiorità di Cognitive Toolkit nei confronti del competitor, Microsoft ha elencato otto punti.

Ad esempio, il framework è generalmente molto più veloce in fase di elaborazione su reti ricorrenti (fino a dieci volte); sfrutta Api in C++ molto potenti, ma è dotato anche di Api Phython di basso e alto livello; la piattaforma può scalare fino a migliaia di Gpu e così via. Infine, la versione 2.0 include binding per Java (processo con cui si effettua il collegamento fra un’entità di un software e il suo valore) ed è possibile anche eseguire modelli d’apprendimento su dispositivi poco potenti, come gli smartphone.