Senza citarlo espressamente, l’analisi di Microsoft pubblicata a questo indirizzo sembra proprio essere una risposta a Jerry Berg, ex dipendente dell’azienda di Redmond, che nei giorni scorsi aveva duramente criticato l’approccio usato per la gestione e la distribuzione degli aggiornamenti per Windows: Ex dipendente Microsoft spiega il perché dei problemi con gli aggiornamenti di Windows 10.
Nel loro post Archana Ramesh e Michael Stephenson, rispettivamente Senior Data Scientist e Partner Data Scientist (Microsoft Cloud and AI), sottolineano i vantaggi delle recenti scelte compiute dall’azienda di Redmond. “A causa della diversità di hardware, dispositivi e applicazioni disponibili per i clienti Windows, l’esperienza di aggiornamento di ogni PC può essere leggermente diversa“, si fa presente. “Per garantire che tutti i PC abbiano un’esperienza di aggiornamento all’altezza delle aspettative, indipendentemente dalle differenze nella configurazione, utilizziamo una combinazione di test, il coinvolgimento dei partner, feedback degli utenti, dati diagnostici e informazioni derivanti da verifiche sul campo“.
Microsoft, quindi, ritiene che il machine learning possa aiutare a individuare e prevenire efficacemente eventuali problemi sui sistemi degli utenti. Per questo motivo l’azienda non è intenzionata a un “ritorno al passato” ma anzi intende investire ancora di più sulle soluzioni basate sull’intelligenza artificiale.
Ramesh e Stephenson pubblicano un grafico che si riferisce ai primi test sull’utilizzo del machine learning nel caso di Windows 10 Aggiornamento di aprile 2018 (versione 1803) e parlano di risultati davvero incoraggianti. Il sistema basato sull’intelligenza artificiale avrebbe permesso di ridurre il numero delle disinstallazioni di aggiornamenti problematici, il numero di crash del kernel e gli incidenti legati ai driver Plug-and-Play.
Da Microsoft si fa presente che ogni nuovo rilascio di un aggiornamento inizia con la distribuzione ai cosiddetti early adopters (ad esempio i partecipanti al programma Windows Insider). Una volta offerto l’aggiornamento a questi utenti, Microsoft monitora la loro esperienza di aggiornamento tramite dati diagnostici.
Il machine learning fornisce due funzionalità chiave: identifica potenziali problemi che si traducono nell’attuazione di alcune salvaguardie per proteggere i PC che devono ancora essere aggiornati (in maniera tale che i problemi possano essere esaminati e risolti dagli sviluppatori Microsoft); riconosce i PC sui quali gli aggiornamenti certamente non causeranno problemi.
Poiché l’intero processo si ripete quotidianamente, il modello evolve di continuo tanto che nel corso del tempo, man mano che i problemi vengono risolti, i PC che in precedenza avevano una scarsa esperienza di aggiornamento riceveranno gli update corretti.
Per costruire il modello per l’apprendimento automatico, l’azienda di Redmond utilizza Microsoft Azure Databricks.
Tutto inizia con un data preparation layer per assicurarsi che il modello sia addestrato solo con dati di qualità. La pulizia e il monitoraggio dei dati (facilitato da Microsoft Power BI) aiutano a tracciare le anomalie, come i dati mancanti e agire di conseguenza.
Ramesh e Stephenson spiegano che Microsoft si affida a strategie di codifica multiple per consentire al modello di conoscere caratteristiche altamente dimensionali.
Per la modellazione viene fatto affidamento su una combinazione di classificatori multipli, ognuno dei quali prevede un segnale diagnostico riferito alla possibile esperienza dopo l’installazione dell’aggiornamento di Windows 10 (ad esempio la probabilità di rilevare un crash del sistema).
Microsoft sostiene insomma come l’utilizzo del machine learning e dei dati di telemetria sia “la via”. Implicitamente, anche e soprattutto in forza dell’enorme difformità di configurazioni con cui Windows 10 si trova ad avere a che fare, Microsoft sottolinea che l’approccio basato unicamente su test sul campo svolti internamente è ormai anacronistico e superato.
Sono comunque gli stessi portavoce Microsoft a riconoscere che la soluzione basata sul machine learning implichi ancora tanto lavoro: è infatti necessario garantire che essa funzioni con un approccio ancora più automatizzato e agile così da risolvere i problemi in pochi secondi piuttosto che in ore. “Con i prossimi aggiornamenti“, commentano Ramesh e Stephenson, “continueremo ad evolvere l’algoritmo condividendo maggiori dettagli sui progressi compiuti“.