Hoppa över navigering

Automatisera Machine Learning-arbetsflöden för att införliva AI i Visual Studio

Se hur dataexperter och tekniker på Microsofts utvecklaravdelning omvandlade ett lyckat experiment till en funktion med hög trafik med MLOps-metoder (Machine Learning Operations).

Läs hela artikeln

Utmaningen: Från prototyp till produktion i skala

Efter sex månader med AI- och maskininlärningsexperiment som syftar till att förbättra produktiviteten för utvecklare har ett litet team med dataexperter på Microsofts utvecklaravdelning tagit fram en modell som aktivt kunde förutse vilka C#-metoder som utvecklare sannolikt skulle anropa när de kodade.

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.

Tillsammans skapade vetenskaps- och teknikteamen en maskininlärningspipeline som itererar på modellinlärningsprocessen och automatiserar mycket av arbetet som vetenskapsteamet gjorde manuellt i prototypfasen. Pipelinen tillåter att IntelliCode skalar och stödjer sex programmeringsspråk, och du får regelbundet öva på nya modeller med hjälp av kodexempel från en omfattande uppsättning GitHub-databaser med öppen källkod.

"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- och AI-teamet

Dra nytta av insikter med 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- och AI-teamet

Sammanför två olika perspektiv

För att skapa en pipeline för maskininlärning var teamen tvungna att definiera gemensamma standarder och riktlinjer så att de kan tala ett gemensamt språk, dela metodtips och samarbeta bättre. De var också tvungna att förstå varandras metoder för projektet. Medan datavetenskapsteamet arbetade experimentellt – itererade snabbt vid modellskapandet– fokuserade teknikteamet på att se till att IntelliCode uppfyllde Visual Studio-användarnas förväntningar på funktioner på produktionsnivå.

Idag körs hela pipelinen för maskininlärning – utbildning, utvärdering, paketering och distribution – automatiskt och hanterar mer än 9 000 begäranden om modellskapande per månad från Visual Studio- och Visual Studio Code-användare. Teamen söker efter sätt att använda sin pipeline till att skapa ytterligare AI-funktioner i andra Microsoft-produkter och erbjuda kunderna ännu bättre upplevelser.

Se hur teamen implementerade MLOps steg för steg.

Läs hela artikeln