Punti salienti del TensorFlow Dev Summit 2018

Originariamente pubblicato da Sandeep Gupta, Product Manager per TensorFlow, da parte del team TensorFlow sul TensorFlow Blog.
Il 30 marzo scorso si è tenuto il secondo TensorFlow Developer Summit al Computer History Museum di Mountain View in California. L’evento ha riunito più di 500 utenti TensorFlow e in migliaia si sono sintonizzati in live streaming per assistere agli eventi TensorFlow da ogni parte del mondo. La giornata è stata ricca di annunci di nuovi prodotti e talk tecniche da parte del team TensorFlow e dei relatori invitati. Ecco i punti salienti dell’evento.


Il machine learning sta risolvendo problematiche complesse che hanno un impatto su ognuno di noi nel mondo. I problemi che ritenevamo impossibili o troppo complessi da risolvere ora non lo sono più, grazie a questa tecnologia. Utilizzando TensorFlow abbiamo già ottenuto progressi da gigante in svariati campi, come:


Siamo entusiasti di vedere queste incredibili applicazioni di TensorFlow e ci impegneremo per renderle accessibili a più sviluppatori possibili. Questo è il motivo per cui siamo lieti di annunciare i nuovi aggiornamenti di TensorFlow che contribuiranno a migliorare l’esperienza degli sviluppatori!

TensorFlow più facile da usare

I ricercatori e gli sviluppatori vogliono un modo più semplice di usare TensorFlow. Pertanto stiamo integrando un modello di programmazione più intuitivo per gli sviluppatori Python, chiamato Eager Execution, che rimuove la distinzione tra la creazione e l’esecuzione dei grafici computazionali. È possibile sviluppare con Eager Execution e poi utilizzare lo stesso codice per generare un grafico equivalente per l’addestramento su scala utilizzando l’API Estimator di alto livello. Annunciamo anche un nuovo metodo per l’esecuzione dei modelli Estimator per GPU multiple su una singola macchina: ciò consente agli sviluppatori di scalare rapidamente i loro modelli con modifiche minime al codice.

Poiché i modelli di machine learning diventano più diffusi e complessi, vogliamo renderne più semplice la condivisione, il riutilizzo e il debug. Per consentire agli sviluppatori di condividere e riutilizzare i modelli, annunciamo TensorFlow Hub, una libreria creata per favorire la pubblicazione e la scoperta di moduli (parti autonome del grafico TensorFlow) che possono essere riutilizzati in attività simili. I moduli contengono pesi che sono stati preaddestrati su set di dati di grandi dimensioni e possono essere riqualificati e impiegati nelle applicazioni. Riutilizzando un modulo, lo sviluppatore può addestrare il modello usando un set di dati più piccolo, migliorare la generalizzazione o semplicemente accelerarne l’addestramento. Per semplificare i modelli di debug, abbiamo anche rilasciato un nuovo plug-in grafico interattivo per debugger, nell’ambito dello strumento di visualizzazione TensorBoard, che consente di ispezionare e passare tra i nodi interni di un grafico computazionale in tempo reale.

L’addestramento del modello è solo una parte del processo di machine learning, e gli sviluppatori necessitano di una soluzione che operi end-to-end per creare sistemi ML veri e propri. A tal fine, annunciamo la roadmap per TensorFlow Extended (TFX) insieme al lancio di TensorFlow Model Analysis, una libreria open source che combina la potenza di TensorFlow e Apache Beam per calcolare e visualizzare le metriche di valutazione. I componenti di TFX rilasciati finora (inclusi TensorFlow Model Analysis, TensorFlow Transform, Estimators e TensorFlow Serving) sono ben integrati e consentono agli sviluppatori di preparare dati, addestrare, convalidare e distribuire modelli TensorFlow in produzione.

TensorFlow disponibile in più linguaggi e piattaforme

Oltre a rendere TensorFlow più facile da usare, annunciamo che ora gli sviluppatori possono utilizzare TensorFlow in altri linguaggi. TensorFlow.js è un nuovo framework ML per sviluppatori JavaScript. Utilizzando TensorFlow.js, il machine learning nel browser apre nuove possibilità entusiasmanti, per esempio il ML interattivo e il supporto di scenari in cui tutti i dati rimangono sul lato client. Può essere usato per creare e addestrare i moduli interamente nel browser oltre a importare modelli TensorFlow e Keras addestrati offline per l’inferenza adoperando l’accelerazione WebGL. Il gioco Emoji Scavenger Hunt è un esempio divertente di un’applicazione creata usando TensorFlow.js.

Abbiamo anche alcune notizie interessanti per i programmatori Swift: TensorFlow for Swift sarà open source da aprile. TensorFlow for Swift non è il tipico linguaggio vincolante per TensorFlow. Integra un compilatore di prima classe e il supporto linguistico, fornendo tutta la potenza dei grafici insieme all’usabilità di Eager Execution. Il progetto è ancora in fase di sviluppo. Seguiranno ulteriori aggiornamenti!

Presentiamo inoltre gli ultimi aggiornamenti di TensorFlow Lite, la soluzione leggera e multipiattaforma di TensorFlow per la distribuzione di modelli ML addestrati su dispositivi mobili ed edge. Oltre al supporto esistente per Android e iOS, annunciamo il supporto per Raspberry Pi, un maggiore supporto per ops/modelli (incluse le operazioni personalizzate) che illustra come gli sviluppatori possono facilmente utilizzare TensorFlow Lite nelle proprie app. Ora l’interprete principale di TensorFlow Lite è solo di 75 KB (rispetto a 1,1 MB per TensorFlow) e abbiamo ottenuto accelerazioni fino a tre volte superiori quando si eseguono modelli di classificazione di immagini quantizzate su TensorFlow Lite rispetto a TensorFlow.

Per il supporto hardware ora TensorFlow offre l’integrazione con TensorRT di NVIDIA. TensorRT è una libreria che ottimizza i modelli di deep learning per l’inferenza e crea un runtime per la distribuzione sulle GPU negli ambienti di produzione. Apporta una serie di ottimizzazioni a TensorFlow e seleziona automaticamente kernel specifici della piattaforma per massimizzare la velocità effettiva e ridurre al minimo la latenza durante l’inferenza sulle GPU.

Per gli utenti che eseguono TensorFlow sulle CPU, la nostra partnership con Intel ha reso possibile l’integrazione con la libreria Intel MKL-DNN open source altamente ottimizzata per il deep learning. Con Intel MKL-DNN abbiamo osservato un aumento della velocità di inferenza fino a tre volte superiore nelle diverse piattaforme CPU Intel.

L’elenco delle piattaforme che eseguono TensorFlow è aumentato, fino a comprendere i Cloud TPU, che sono stati rilasciati in versione beta il mese scorso. Il team Google Cloud TPU ha già ottenuto un forte aumento nelle prestazioni di ResNet-50 pari all’1,6 rispetto al lancio. Questi miglioramenti saranno disponibili prossimamente per gli utenti nella versione 1.8 di TensorFlow.

Abilitazione di nuove applicazioni e domini grazie a TensorFlow

Molti problemi di analisi dei dati vengono risolti usando metodi statistici e probabilistici. Oltre ai modelli di deep learning e delle reti neurali, ora TensorFlow fornisce metodi all’avanguardia per l’analisi bayesiana tramite l’API TensorFlow Probability. Questa libreria contiene blocchi predefiniti, come distribuzioni di probabilità, metodi di campionamento nonché nuove metriche e perdite. Molti altri metodi classici di ML offrono un supporto persino maggiore. Ad esempio, gli alberi decisionali potenziati possono essere facilmente addestrati e distribuiti utilizzando classi di alto livello predefinite.

Il machine learning e TensorFlow hanno già contribuito a risolvere problemi impegnativi in molti settori diversi. Una delle aree in cui osserviamo il notevole impatto di TensorFlow è la genomica, motivo per cui stiamo rilasciando Nucleus, una libreria per leggere, scrivere e filtrare i formati comuni di file di genomica da utilizzare all’interno di TensorFlow. Questo, insieme a DeepVariant, uno strumento open source basato su TensorFlow per la scoperta della variante genomica, contribuirà a stimolare nuove ricerche e progressi in questo campo.

Espansione delle risorse e dell’impegno della community

Questi aggiornamenti di TensorFlow mirano a favorire e ad accrescere la community degli utenti e dei contributori, ossia le migliaia di persone che aiutano a rendere TensorFlow uno dei framework ML più popolari al mondo. Per continuare a collaborare con la community e rimanere aggiornati su TensorFlow, abbiamo lanciato il nuovo blog ufficiale di TensorFlow e il canale YouTube di TensorFlow. Per semplificare le collaborazioni all’interno della community, abbiamo avviato nuove mailing list e gruppi di interesse speciali progettati per supportare gli sforzi open source di specifici progetti. Per scoprire come far parte della community, visita la pagina TensorFlow Community e, come sempre, puoi seguire le ultimissime notizie di TensorFlow su Twitter.

Siamo incredibilmente grati a tutti coloro che hanno contribuito a rendere TensorFlow un framework ML di successo negli ultimi due anni. Grazie per aver partecipato o seguito il live streaming, e ricordate di utilizzare #MadeWithTensorFlow per condividere il modo in cui risolvete problemi impegnativi e di forte impatto con il machine learning e TensorFlow!