Spring over navigation

Automatisering af arbejdsprocesser i forbindelse med tilføring af AI i Visual Studio

Se, hvordan dataforskere og -teknikere is Microsofts udviklingsafdeling forvandlede et vellykket eksperiment til en produktfunktion med meget trafik ved hjælp af handlinger til maskinel indlæring.

Læs hele historien

Udfordringen: Fra prototype til drift i stor skala

Efter seks måneder med eksperimenter med AI og maskinel indlæring, der var målrettet mod forbedring af udviklernes produktivitet, nåede et lille team af dataforskere i Microsofts udviklingsafdeling frem til en model, der aktivt forudsagde de C#-metoder, som en udvikler sandsynligvis ville kalde under kodning.

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.

Sammen byggede videnskabsteamet og det tekniske team en pipeline til maskinel indlæring for at gentage modeltræningsprocessen og automatisere meget af det arbejde, videnskabsteamet udførte manuelt i prototypefasen. Den pågældende pipeline gjorde det muligt for IntelliCode at skalere og understøtte seks computersprog, træne nye modeller regelmæssigt ved hjælp af kodeeksempler fra et omfattende sæt af GitHub-lagre i åben kildekode.

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

Fordel af viden 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- og AI-teamet

Kombination af to forskellige perspektiver

Teamene var nødt til at definere fælles standarder og retningslinjer, så de kunne tale et fælles sprog, dele bedste praksis og samarbejde bedre om at bygge deres pipeline til maskinel indlæring. De skulle også forstå hinandens tilgange til projektet. Mens datavidenskabsteamet arbejdede eksperimentelt – med hurtig gentagelse i modeloprettelsen – fokuserede det tekniske team på at sikre, at IntelliCode levede op til Visual Studio-brugernes forventninger til funktioner på produktionsniveau.

I dag køres hele pipelinen til maskinel indlæring – træning, evaluering, pakning og udrulning – automatisk og håndterer mere end 9.000 anmodninger om modeloprettelse om måneden fra brugere af Visual Studio og Visual Studio Code. Teamene leder efter måder at bruge deres pipeline på til at indbygge yderligere funktionalitet til kunstig intelligens i andre Microsoft-produkter og give kunderne endnu bedre oplevelser.

Se, hvordan teams implementerede handlinger til maskinel indlæring trin for trin.

Læs hele historien