Navigatie overslaan

Automatiseer machine learning-werkstromen door AI in Visual Studio op te nemen

Kijk hoe gegevenswetenschappers en technici van de Microsoft Developer-divisie met behulp van machine learning-bewerkingsmethoden (MLOps) een geslaagd experiment hebben omgezet in een productfunctie voor de verwerking van veel verkeer.

Het volledige verhaal lezen

De uitdaging: Van prototype naar productie op schaal

Na zes maanden experimenten met AI-en machine learning met als doel de productiviteit van ontwikkelaars te verhogen, is het een klein team voor toegepaste gegevenswetenschap van de Microsoft Developer-divisie gelukt om een model te maken waarmee actief kon worden voorspeld welke C#-methoden een ontwikkelaar waarschijnlijk zou aanroepen voor het schrijven van code.

This successful machine learning prototype would become the basis for Visual Studio IntelliCode, an AI-assisted code prediction capability—but not before it underwent rigorous quality, availability, and scaling tests to meet the requirements of Visual Studio users. They would need to invite the engineering team to create a machine learning platform and automate that process. And both teams would need to adopt an MLOps culture—extending DevOps principles to the end-to-end machine learning lifecycle.

Samen hebben het toegepaste wetenschapsteam en het technische team een machine learning-pijplijn gemaakt om het proces voor het trainen van modellen te herhalen, en om veel van het werk te automatiseren dat het toegepaste wetenschapsteam in de prototypefase handmatig had uitgevoerd. Deze pijplijn maakte het mogelijk dat IntelliCode zes programmeertalen kon ondersteunen en schalen, en regelmatig nieuwe modellen trainde waarbij gebruik werd gemaakt van codevoorbeelden die afkomstig waren uit een uitgebreide set open source GitHub-opslagplaatsen.

"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 Software Engineering Manager, Data and AI team

Profiteer van inzichten met MLOps

As IntelliCode rolled out, the teams saw an opportunity to design an even better user experience: creating team completion models based on each customer’s specific coding habits. Personalizing those machine learning models would require training and publishing models on demand automatically—whenever a Visual Studio or Visual Studio Code user requests it. To perform those functions at scale using with the existing pipeline, the teams used Azure services such as Azure Machine Learning, Azure Data Factory, Azure Batch, and Azure Pipelines.

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

Gearard Boland, Principal Software Engineering Manager, Data and AI team

Twee verschillende perspectieven combineren

Om de machine learning-pijplijn te kunnen bouwen, moesten de teams gemeenschappelijke standaarden en richtlijnen definiëren, zodat ze een gemeenschappelijke taal spraken, best practices konden delen en beter konden samenwerken. Ze hadden ook meer inzicht in hoe elk van de andere teamleden het project benaderden. Terwijl het team van gegevenswetenschappers experimenteel bezig was, waarbij ze al snel uitkwamen bij het steeds weer maken van modellen, richtte het technische team zich op het waarmaken van verwachtingen die Visual Studio-gebruikers hadden over IntelliCode op het gebied van functies op productieniveau.

Op dit moment wordt de volledige machine learning-pijplijn (training, evaluatie, verpakking en implementatie) automatisch uitgevoerd en worden er meer dan 9000 aanvragen voor het maken van modellen door gebruikers van Visual Studio en Visual Studio Code verwerkt. De teams zijn op zoek naar manieren om hun pijplijn te gebruiken om extra AI-mogelijkheden in te bouwen in andere Microsoft-producten, om zo nog rijkere ervaringen aan klanten te kunnen aanbieden.

Kijk hoe de teams MLOps stap voor stap hebben geïmplementeerd.

Het volledige verhaal lezen