Microsoft vuole fare in modo che qualsiasi sistema basato su Windows possa
eseguire in locale algoritmi di machine learning, anche senza avere un collegamento diretto alle funzioni della sua piattaforma Cloud AI. L'iniziativa riguarda in particolare i
dispositivi con Windows 10, spaziando dai classici PC ai dispositivi IoT, grazie a un nuovo set di API denominato
WinML. Queste API costituiscono la base di quella che viene definita come la
AI Platform for Windows Developers.
Lo sviluppo di Microsoft è in linea con i vari trend che ora stanno
spostando l'attenzione dagli elementi IT che si possono eseguire in cloud a quelli che sarebbe più opportuno eseguire
all'edge della rete. Il trend interessa anche le funzioni di intelligenza artificiale: in molti casi è meglio poter eseguire gli algoritmi di machine learning
sui singoli dispositivi o comunque alla periferia della rete, senza trasferire dati verso gli ambienti cloud.
Eseguire in locale gli algoritmi di machine learning significa avere
risposte e reazioni immediate, senza dover aspettare i temi legati alla latenza delle reti. Il vantaggio diventa più evidente quando gli algoritmi devono analizzare grandi quantità di dati, che sarebbe troppo impegnativo trasferire da e verso il cloud.
Usare meno banda significa anche
ridurre i costi operativi dell'AI, almeno in alcuni scenari. E l'esecuzione in locale evita problemi di
compliance per le aziende che
non possono far uscire certi dati dagli ambienti in cui sono stati generati.
L'idea di Microsoft è che gli sviluppatori
addestrino gli algoritmi di machine learning in cloud, usando le funzioni di AI rese disponibili su Azure. Questi algoritmi pre-addestrati vengono poi scaricati ed eseguiti in locale usando le nuove API WinML. Il vantaggio dell'approccio sta anche nel fatto che, usando le API, uno sviluppatore non deve sapere a priori
quale hardware ha lo specifico nodo che eseguirà gli algoritmi. Il codice relativo viene generato a runtime e ottimizzato in quel momento per l'hardware disponibile.
Le API WinML prevedono l'utilizzo di modelli sviluppati secondo lo standard di mercato
ONNX, che è supportato dai principali nomi dell'hardware (AMD, Intel, Nvidia) e portato avanti da Microsoft, Facebook e Amazon. I modelli si possono addestrare in cloud con
Azure Machine Learning Workbench e poi "assorbiti" nelle applicazioni via Visual Studio.