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.

Denne vellykkede prototype af maskinel indlæring ville blive grundlaget for Visual Studio IntelliCode, en kunstig intelligens-assisteret kodeforudsigelsesfunktion—men ikke før den undergik omfattende kvalitets-, tilgængeligheds- og skaleringstests for at opfylde kravene fra Visual Studio brugere. De var nødt til at skulle invitere ingeniørteamet til at oprette en platform til maskinel indlæring og automatisere denne proces. Og begge teams var nødt til at indføre en MLOps-kultur, ved at udvide DevOps-principperne til at omfatte hele livscyklussen for maskinel indlæring.

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

Efterhånden som IntelliCode blev lanceret, så teamene en mulighed for at designe en endnu bedre brugeroplevelse: oprettelse af modeller til teamfuldførelse baseret på hver kundes specifikke kodningsvaner. Tilpasning af disse modeller til maskinel indlæring kræver automatisk oplærings- og publiceringsmodeller når en Visual Studio eller Visual Studio Kodebruger anmoder om det. For at udføre disse funktioner i stor skala med den eksisterende pipeline brugte teams Azure-tjenester som f.eks. Azure Machine Learning, Azure Data Factory, Azure Batch, og 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
Kan vi hjælpe dig?