Passer la navigation

Automatisation des workflows Machine Learning pour infuser l’intelligence artificielle dans Visual Studio

Découvrez comment les scientifiques des données et les ingénieurs du département Développement de Microsoft ont transformé une expérience réussie en fonctionnalité produit à fort trafic avec des activités MLOps (opérations d’apprentissage automatique).

En savoir plus

Le défi : Du prototype à la production à grande échelle

Après six mois d’expérimentations avec l’intelligence artificielle et le Machine Learning visant à améliorer la productivité des développeurs, une petite équipe de scientifiques de données appliqués du département Développement de Microsoft est parvenue à un modèle qui prédit activement les méthodes C# qu’un développeur est susceptible d’appeler pendant le codage.

Ce prototype d’apprentissage automatique réussi deviendra la base de Visual Studio IntelliCode, une fonctionnalité de prédiction de code assistée par IA, mais pas avant qu’il ne démente la qualité, la disponibilité et les tests de mise à l’échelle pour répondre aux exigences de Visual Studio utilisateurs. Ils doivent inviter l’équipe d’ingénierie à créer une plateforme Machine Learning et à automatiser ce processus. Et les deux équipes doivent adopter une culture MLOps, qui étend les principes DevOps au cycle de vie machine d’apprentissage automatique de bout en bout.

Ensemble, les équipes de science appliquée et d’ingénierie ont créé un pipeline Machine Learning pour itérer au sein du processus d’entraînement des modèles et automatiser une grande partie du travail que l’équipe de science appliqué effectuait manuellement au cours de l’étape de prototypage. Ce pipeline permettait à IntelliCode de mettre à l’échelle et de prendre en charge 6 langages de programmation, entraînant régulièrement de nouveaux modèles à l’aide d’exemples de code issus d’un ensemble complet de dépôts GitHub open source.

"Clearly, we were going to be doing a lot of compute-intensive model training on very large data sets every month—making the need for an automated, scalable, end-to-end machine learning pipeline all that more evident."

Gearard Boland, principal responsable de l’ingénierie logicielle, équipe Données et IA

Utilisation d’insights avec MLOps

Au fur et à mesure du déploiement d’IntelliCode, les équipes ont pu concevoir une expérience utilisateur encore plus optimale : création de modèles de complétion d’équipe basés sur les habitudes de codage spécifiques de chaque client. La personnalisation de ces modèles Machine Learning nécessite automatiquement l’entraînement et la publication de modèles à la demande, chaque fois qu’un Visual Studio ou Visual Studio Code utilisateur le demande. Pour effectuer ces fonctions à grande échelle avec le pipeline existant, les équipes ont utilisé des services Azure tels que Azure Machine Learning, Azure Data Factory, Azure Batch et Azure Pipelines.

"When we added support for custom models, the scalability and reliability of our training pipeline became even more important"

Gearard Boland, principal responsable de l’ingénierie logicielle, équipe Données et IA

Deux perspectives en une

Pour créer leur pipeline Machine Learning, les équipes devaient définir des normes et des instructions communes afin qu’elles puissent parler un même langage, partager les meilleures pratiques et mieux collaborer. Elles devaient également comprendre leurs différentes approches du projet. Tandis que l’équipe de science des données travaillait expérimentalement, en effectuant des itérations rapides sur la création de modèles, l’équipe d’ingénierie s’assurait qu’IntelliCode correspondait aux attentes des utilisateurs de Visual Studio pour les fonctionnalités de production.

Aujourd’hui, l’ensemble du pipeline Machine Learning (entraînement, évaluation, empaquetage et déploiement) s’exécute automatiquement et sert plus de 9 000 demandes de création de modèles mensuelles provenant d’utilisateurs Visual Studio et Visual Studio Code. Les équipes cherchent à utiliser leur pipeline pour créer des fonctionnalités d’intelligence artificielle supplémentaires dans d’autres produits Microsoft et offrir des expériences encore plus riches aux clients.

Découvrez comment les équipes ont implémenté MLOps pas à pas.

En savoir plus
Pouvons-nous vous aider ?