Comment Microsoft veut faire de Windows un OS intelligent
L'éditeur propose désormais aux développeurs d'enrichir leurs applications Windows de modèles de machine learning. Il fait ainsi le pari d'une IA décentralisée s'exécutant sur le terminal.
Alors que Microsoft fait désormais de l'intelligence artificielle l'alpha et l'oméga de sa stratégie, l'éditeur américain ne pouvait pas dans ce domaine faire l'impasse sur son célèbre système d'exploitation. Certes, Windows 10 disposait déjà de briques d'IA. Notamment l'assistant vocal Cortana, ou encore Windows Hello pour la reconnaissance faciale et Windows Ink pour la reconnaissance d'écriture manuscrite. Mais avec Windows ML, annoncé début mars, le groupe de Redmond change de braquet. Via ce kit de développement, livré dans le cadre de la dernière mise à jour de l'OS (l'April Update), les développeurs ont la possibilité d'intégrer des modèles d'apprentissage automatique au cœur des applications Windows, qu'elles soient de type UWP ou Win32. Du traitement d'images à l'indexation accélérée de fichiers, ils seront directement exécutés en exploitant les capacités de calcul et les performances graphiques des terminaux.
Avec Windows ML, Microsoft fait ainsi le pari d'une IA décentralisée avec une exécution des modèles d'apprentissage en local et non depuis le cloud. Le kit est conçu pour fonctionner sur tout type d'appareil Windows. Des PC fixes ou portables aux casques de réalité augmentée (Windows Holographic) en passant par les serveurs, les smartphones, les tablettes et objets connectés.
Pour Bernard Ourghanlian, "le cloud avec sa puissance de calcul quasi-infinie s'applique par défaut à l'exécution de modèles de machine learning". Pour le directeur technique et sécurité de Microsoft France, il existe néanmoins des scénarios qui se prêtent "plus volontiers" à un traitement en local pour des raisons de confidentialité ou de temps de latence. "Sur le principe de l'edge computing, il s'agira de prendre le meilleur des deux mondes. Les modèles seront entraînés dans la cloud mais exécutés au plus près de l'utilisateur", résume-t-il. Bernard Ourghanlian évoque l'exemple d'une voiture autonome qui, face à une personne traversant subitement la route, doit prendre une décision dans la milliseconde. "Pas question de prendre le temps d'aller interroger le cloud, l'IA devra résider dans le véhicule." Pour le traitement d'informations sensibles, il s'agira là encore d'entraîner les modèles dans le cloud, puis de les exécuter via Windows ML avec les données réelles sur des machines déconnectées du nuage.
"Nous n'intégrons pas encore TensorFlow mais c'est dans la feuille de route"
Avec Windows ML, Microsoft entend ainsi créer un pont entre son offre de cloud public (Azure) et l'écosystème Windows. Les éditeurs pourront ainsi bâtir leurs modèles à l'aide des services cognitifs Azure ML dédiés à la traduction automatique, à l'analyse du langage, à la reconnaissance de formes ou à la détection d'anomalies, avant de les intégrer à leur logiciel Windows. Pour les applications UWP, un générateur automatique de code Windows ML est nativement intégré à l'environnement de développement de Microsoft (Visual Studio).
Windows ML s'appuie sur le format de modèles d'apprentissage Onnx (pour Open Neural Network Exchange). Une initiative lancée par Microsoft en lien avec Facebook, et à laquelle s'est rallié depuis Amazon. Onnx a pour but de rendre interopérables les frameworks de machine learning les plus utilisés : Apache MXNet, Caffe, Microsoft Cognitive Toolkit ou encore PyTorch. Windows ML prend également en charge Scikit-Learn, la célèbre bibliothèque d'algorithmes d'apprentissage développée par l'Inria. "Nous n'intégrons pas encore TensorFlow mais c'est dans la feuille de route", précise Bernard Ourghanlian. Sur ce point, Microsoft vient d'ailleurs d'annoncer l'acquisition de Bonsai, une start-up californienne éditant une plateforme de deep reinforcement learning reposant justement sur la librairie de deep learning de Google.
En attendant, les développeurs retrouveront sur GitHub un certain nombre de modèles conforme au format Onnx. Un outil fourni par Microsoft, baptisé WinMLTools, permet par ailleurs de convertir un modèle existant dans ce format.
Des cas d'usage infinis
Pour s'exécuter en local, les applications Windows ainsi enrichies à l'IA devront tourner sur des environnements hardware appropriés. Microsoft a noué pour cela des partenariats avec des fabricants de processeurs et de cartes graphiques (AMD, Nvidia, Intel et Qualcomm). Pour ces fondeurs, l'avantage est évident. Si demain Windows 10 propose des fonctionnalités avancées d'IA en tirant parti d'une nouvelle génération de puces, l'adoption de ces dernières pourrait devenir un passage obligé pour les clients. Même si précise Bernard Ourghanlian, "les applications enrichies à l'IA avec Windows ML s'adapteront à la configuration matérielle du terminal".
Depuis le rachat du fabricant de puces Movidius en 2016, Intel se veut à la pointe de l'IA. Le groupe américain a levé le voile sur sa Movidius Myriad X. Un processeur VPU (vision processing unit) qu'il présente comme "le premier système embarqué avec un moteur de calcul neuronal dédié à l'accélération matérielle de l'inférence en deep learning". Cette VPU de troisième génération est spécifiquement taillée pour exécuter les tâches dédiées à IA et décharger ainsi les autres processeurs.
Que va apporter l'intelligence artificielle aux applications Windows ? Les cas d'usage semblent infinis. On imagine des fonctionnalités avancées de tri de contenus média, via la reconnaissance faciale ou de formes, permettant par exemple de filtrer des photos ou des vidéos dans lesquelles apparaît une personne ou un objet donné. Mais aussi de nouvelles capacités de mise en relation avec des profils professionnels similaires, ou encore des alertes faisant appel au learning, pour anticiper un retard à une réunion en fonction de conditions de trafic ou autres impondérables...
"Ce qui pouvait jusqu'alors être réalisé via du hardware spécialisé pourra l'être par un PC"
De même, les fonctions de retouche ou de détourage automatique d'images devraient gagner en performances grâce à Windows ML, tout comme la traduction de textes à la volée. Enfin, la sécurité du poste de travail sera très probablement améliorée, l'intelligence artificielle permettant d'anticiper les cyberattaques et leurs multiples variantes de façon plus efficace que la simple comparaison avec une base d'empreintes virales.
Pour Bernard Ourghanlian, l'optimisation des ressources matérielles permise par Windows ML ouvre de nouvelles voies. " Ce qui pouvait jusqu'alors être réalisé via une plateforme hardware spécialisée pourra l'être par un PC classique aux performances correctes", argue-t-il. Via un ordinateur couplé à une caméra, il pourrait devenir possible par exemple de détecter des mouvements à la manière d'une Kinect et de transformer ainsi un bureau physique en pavé tactile contrôlant la machine.
Au-delà de Windows ML, Microsoft prévoit de distiller de l'intelligence artificielle dans toutes ses applications. Dans la mise à jour prochaine de Windows 10 (Redstone 5), prévue à l'automne, Cortana doit quitter la barre de recherche de l'OS pour intégrer le centre de notifications. Du coup, l'assistant gagnera en autonomie. Il pourra mixer interactions vocales et textuelles au sein des différents canaux de communication numérique, e-mail, messagerie instantanée...