Hopp over navigasjon

Automatiser arbeidsflytene for maskinlæring for å legge til kunstig intelligens i Visual Studio

Se hvordan dataforskere og -teknikere i Microsofts utvikleravdeling gjorde et vellykket eksperiment om til en populær funksjon med maskinlæringsoperasjoner (MLOps).

Les hele historien

Utfordringen: Fra prototype til skalert produksjon

Et lite team fra Microsofts utvikleravdeling som bestod av eksperter på anvendt datavitenskap, brukte seks måneder på å eksperimentere med kunstig intelligens og maskinlæring rettet mot å forbedre produktiviteten til utviklerne. De kom frem til en modell som aktivt forutså hvilke C#-metoder det var sannsynlig at en utvikler kalte opp under kodingen.

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 bygget datavitenskaps- og teknikerteamene et datasamlebånd for maskinlæring som gjentar prosessen for modellæring og automatiserer mye av arbeidet som dataforskerne gjorde manuelt på prototypetrinnet. Med dette datasamlebåndet kunne IntelliCode skalere og støtte seks dataspråk og jevnlig lære opp nye modeller med kodeeksempler fra et omfattende sett GitHub-repositorier med åpen 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 i teamet for data og kunstig intelligens

Dra nytte av innsikt 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 i teamet for data og kunstig intelligens

To ulike perspektiver forenes

For å kunne bygge datasamlebåndet for maskinlæring måtte teamene definere felles standarder og retningslinjer, slik at de kunne snakke samme språk, dele anbefalte fremgangsmåter og samarbeide bedre. De måtte også forstå hverandres tilnærminger til prosjektet. Datavitenskapsteamet jobbet eksperimentelt, med rask gjentakelse av modellopprettingen, mens teknikerne fokuserte på å sikre at IntelliCode oppfylte Visual Studio-brukernes forventninger til funksjoner på produksjonsnivået.

I dag kjører hele datasamlebåndet for maskinlæring – opplæring, evaluering, pakking og utrulling – automatisk og betjener mer enn 9000 modellopprettelsesforespørsler fra Visual Studio- og Visual Studio Code-brukere hver måned. Teamene undersøker hvordan de kan bruke datasamlebåndet til å bygge mer funksjonalitet for kunstig intelligens inn i andre Microsoft-produkter og gi kundene en enda bedre opplevelse.

Se hvordan teamene implementerte MLOps trinn for trinn.

Les hele historien