Ça bouge pour l’IA et les données chez Microsoft !
L'actualité est riche en ce moment ! Suite à l'évènement Microsoft Data Amp un peu plus tôt au mois d'avril, la conférence Build 2017 (#Build2017) en mai dernier a été l'occasion pour Microsoft de dévoiler comme à l'accoutumée bon nombre de nouveautés. (Les webinaires des sessions sont accessibles en ligne ici)
Parmi ces annonces, nous souhaitions revenir (comme vous pouvez l'imaginer pour ce blog) sur celles (relayées au travers de quelques 26 sessions accessibles directement ici) qui se destinent plus particulièrement à la communauté des amoureux de l'IA et des données.
Les services cognitifs, le Bot Framework, Azure Machine Learning, SQL Server, R Server sont donc au programme de ce « billet de synthèse ». Un billet spécifique sera prochainement consacré à Azure Cosmos DB. (ex projet Project Florence initié en 2010), autre annonce clé de Build 2017. Azure Cosmos DB est un nouveau service de base de données multi-modèle distribué à l'échelle mondiale.
Les billets Delivering AI with data: the next generation of the Microsoft data platform respectivement Serving AI with data: A summary of Build 2017 data innovations peuvent être consultés à titre de compléments vis-à-vis des innovations annoncées lors de Data Amp respectivement de Build.
Plus récemment, le 23 mai dernier, s'est également tenu un workshop d'immersion IA. (La scéance plénière de Joseph Sirosh est disponible ici. Les matériels des différents ateliers déroulés lors du workshop sont disponibles ici sur la forge communautaire GitHub.) Le billet "Serving AI with Data" – Recap of the Microsoft AI Immersion Workshop propose une synthèse des ateliers du Workshop également proposés dans le cadre d'une pré-conférence gratuite de Build 2017.
Ce petit récapitulatif des divers évènements étant fait, commençons donc par les services cognitifs.
Services cognitifs Microsoft
Le portefeuille d'APIs que constituent les services cognitifs Microsoft s'étend désormais à 29 APIs intelligentes !
:-)
Au menu, trois nouveaux services qui proposent aux développeurs d'applications modernes innovantes des algorithmes personnalisés qui peuvent être entraînés avec leurs propres données :
- Recherche personnalisée Bing, un service de recherche personnalisé Bing.
- Service Vision personnalisée, un service de classification d'image en version préliminaire.
- Service Décision personnalisée, un service de tests A/B en version préliminaire.
Mais également Video Indexer, un service d'extraction automatique des métadonnées des vidéos. Transcription audio, identification et recherche des visages, analyse de sentiment, détection des scènes, reconnaissance des textes affichés représentent quelques-unes des technologies d'IA vidéo intégrées dans ce service avancé. Nous vous invitons à lire les billets Introducing Video Indexer, a cloud service to unlock insights from your videos et Getting started with the Video Indexer API pour une introduction sur cette API et pour commencer à en tirer parti.
La conférence BUILD a été également l'occasion d'introduire les « laboratoires » des services cognitifs de Microsoft, c.à.d. les Microsoft Cognitive Services Labs, afin de donner accès aux développeurs à (projets de) services, APIs et SDK encore en phase de développement : Projet Prague pour l'intégration de contrôles basés sur la gestuelle, Project Johannesburg pour le calcul d'itinéraire logistique, Project Wollongong pour l'évaluation de l'attractivité d'un emplacement, etc.
Avec ces « labos », il est ainsi possible de découvrir, de tester en avance de phase ces nouveaux projets, et faire des retours constructifs avant leur sortie officielle.
Pour plus d'information, nous vous recommandons la lecture du billet At Build, Microsoft expands its Cognitive Services collection of intelligent APIs.
Bot Framework
Au titre des nouveautés, et au-delà du service Azure Bot auquel nous avons consacré un billet d'introduction et qui intègre pour chacun des modèles proposés le Microsoft Bot Framework que nous avions également abordé dans un précédent billet sur ce même blog (Un bot parmi nous ? – 1ère partie, 2nd partie et 3ième partie), nous souhaitions mentionné ici que le Bot Framework met désormais à disposition des outils de reconnaissance vocale.
Citons également de nouveaux canaux (channels) sont disponibles (Cortana et Skype Entreprise), la possibilité d'utiliser Xamarin pour le développement, ainsi qu'un tableau de bord Bot Analytics Dashboard.
Ce dernier est un tableau de bord permettant d'analyser les métriques d'une application bot, par exemple en visualisant le nombre de messages échangés ou les différentes intentions.
Vous trouverez un webinaire d'introduction ici.
Azure Machine Learning
Au-delà de la disponibilité de nouvelles régions géographiques (Centre de l'Allemagne, Japon de l'Est), Azure Machine Learning (Azure ML) (qui a fait l'objet de nombreux billets sur ce même blog) propose désormais de nouveaux modules de traitement de texte comme du prétraitement de langage ou de l'extraction de N-grammes.
Par ailleurs, de façon à accompagner les projets de nos clients et partenaires, notons la disponibilité de nouveaux modules personnalisés sur la galerie Cortana Intelligence Suite ainsi que de nouveaux gabarits ici (comme notamment décrit dans le billet Accelerating Business Transformation with Cortana Intelligence Solution Templates). Il en est de même pour des vidéos de formation ici.
Enfin, au « chapitre » de la sécurité, et avec la disponibilité du chiffrement au repos en AES-256 (des blobs et des fichiers) du service de stockage Azure (avec des clés gérées par le service (en disponibilité générale) ou ses propres clés (pour les blobs en version préliminaire limitée), il est désormais possible de protéger par voie de conséquence ses données au repos avec Azure ML. Pour de plus amples informations, vous pouvez consulter les billets Announcing general availability of Storage Service Encryption for Azure File Storage et Announcing Storage Service Encryption with Customer Managed Keys limited preview., ainsi que le guide de la sécurité du stockage ici.
SQL Server 2017/Azure SQL Database
Une nouvelle version CTP (Community Technology Preview) 2.1 de SQL Server 2017 est désormais disponible sur Windows et Linux. Celle-ci n'apporte pas de nouveautés particulières au niveau des capacités d'apprentissage automatique (Machine Learning) vis-à-vis de ce qui a été introduit par la CTP 2.0 qui faisait de SQL Server le premier SGBDR avec l'IA intégré. Il nous parait donc important de revenir rapidement sur ce qui est désormais possible.
SQL Server 2017 propose de traiter et requêter ses données sous forme de graphes, afin d'analyser les relations les plus complexes. La base de données « apprend » des précédentes requêtes exécutées pour améliorer sa performance : plus la base est utilisée, plus elle s'ajuste.
Par ailleurs, si SQL Server 2016 avait introduit les services R en intégrant le langage R au moteur de la base de données SQL et le paquet RevoScaleR pour R, SQL Server 2017 comprend de nombreuses fonctionnalités qui facilitent la définition et le déploiement de solutions de Machine Learning qui utilisent les données SQL Server.
Il convient de noter entre autres la disponibilité du paquet MicrosoftML, un paquet de Machine Learning pour R créé par l'équipe Microsoft Data Science. MicrosoftML apporte une mise à l'échelle, des performances, et une vitesse accrues pour gérer un vaste corpus de données textuelles et catégorielles dans les modèles R avec seulement quelques lignes de code. Ce paquet comprend également cinq apprenants (learner) rapides et très précis qui sont inclus dans Azure ML.
Citons également la prise en charge de Python à l'aide notamment des procédures stockées. Le Machine Learning avec Python comprend le module revoscalepy, qui prend en charge un sous-ensemble des algorithmes distribués et des contextes de calcul fournis dans le paquet RevoScaleR fournit avec les services R de SQL Server et R Server (objet de la rubrique suivante dans ce billet).( Des algorithmes et des transformations supplémentaires seront ajoutées dans un futur proche.)
Au final , R et Python peuvent être utilisés sur SQL Server et les deux langages peuvent même être combinés.
SQL Server peut également tirer parti du calcul accéléré à base de GPU NVIDI via cette interface R/Python pour alimenter les travaux (job) les plus intensifs et consommateurs d'apprentissage profond (Deep Learning) sur les images, textes et autres données non structurées. Les développeurs peuvent ainsi implémenter des calculs d'analytique accélérés par GPU NVIDIA et de l'IA très sophistiquée directement au sein du serveur de base de données sous forme de procédures stockées et bénéficier de gains en termes des débits élevés plus que significatifs.
Pour de plus amples informations, vous pouvez consulter l'article What's New in Machine Learning Services in SQL Server ainsi que le billet Optimization tips and tricks on Azure SQL Server for Machine Learning Services.
R Server
La version 9.1 de Microsoft R Server est désormais disponible, avec, là aussi, de nouvelles fonctionnalités à la clé. Cette mise à jour s'appuie sur la dernière version de R, à savoir 3.3.3.
Microsoft R Server comprend une nouvelle fonction de parallélisation du traitement permettant de partitionner les données, ainsi que des nouvelles fonctions d'analyse de sentiments et d'images.
De nouveaux modèles de Machine Learning sont disponibles pour Spark et Hadoop. Citons également une fonction qui permet de déployer des modèles en web services temps réel, présentant moins de 10ms de latence.
Enfin, Microsoft R Client est maintenant disponible sur Linux en plus de Windows.
Pour de plus amples informations, vous vous invitons à lire le billet Introducing Microsoft R Server 9.1 release.
Ceci conclut ce rapide tour d'horizon des nouveautés récentes que nous souhaitions partagés avec vous, fidèles lectrices et lecteurs de ce blog. Nous espérons qu'au travers des divers éléments mentionnés et billets/webinaires pointés, vous disposez à présent d'une bonne idée de l'ensemble des innovations proposées.