Navigation überspringen

Automatisierung von Machine-Learning-Workflows zur Integration von KI in Visual Studio

Hier erfahren Sie, wie Data Scientists und Engineers in der Microsoft-Entwicklerabteilung ein erfolgreiches Experiment dank MLOps-Ansätzen in ein hochleistungsfähiges Produktfeature umgewandelt haben.

Weiterlesen

Die Herausforderung: vom Prototyp zur Produktionsreife

Nachdem ein kleines Microsoft-Entwicklerteam sechs Monate lang KI- und Machine-Learning-Experimente durchgeführt hat, um die Entwicklerproduktivität zu steigern, entstand letztendlich ein Modell, das die C#-Methoden vorhergesagt hat, die ein Entwickler beim Programmieren wahrscheinlich aufruft.

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.

Zusammen haben die Teams für angewandte Informatik und Engineering eine Machine-Learning-Pipeline entwickelt, die das Modelltraining durchläuft und einen Großteil der Arbeit automatisiert, die das Team für angewandte Information in der Prototypphase manuell durchgeführt hat. Dank dieser Pipeline konnte IntelliCode auf sechs Programmiersprachen erweitert werden, und es werden regelmäßig neue Modelle anhand von Codebeispielen aus einer Vielzahl quelloffener GitHub-Repositorys trainiert.

"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, Team für Daten und KI

MLOps stellt Erkenntnisse in den Mittelpunkt

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, Team für Daten und KI

Zwei Perspektiven treffen aufeinander

Für die Erstellung ihrer Machine-Learning-Pipeline mussten die Teams gemeinsame Standards und Richtlinien ausarbeiten, damit die Teams auf einer Wellenlänge sind, einheitliche Best Practices befolgen und besser zusammenarbeiten. Natürlich mussten sie sich auch in die Projektansätze des jeweils anderen Teams einarbeiten. Während das Data-Science-Team eher experimentell – mit schnellen Iterationen bei der Modellerstellung – gearbeitet hat, hat sich das Engineeringteam darauf konzentriert, dass IntelliCode die Erwartungen erfüllt, die Visual Studio-Benutzer an produktionsreife Features haben.

Mittlerweile läuft die gesamte Machine-Learning-Pipeline – Training, Evaluierung, Packen und Bereitstellung – automatisch und verarbeitet monatlich über 9.000 Modellerstellungsanforderungen von Visual Studio- und Visual Studio Code-Benutzern. Die Teams suchen nach Möglichkeiten, ihre Pipeline zu verwenden, um zusätzliche KI-Funktionen in andere Microsoft-Produkte zu integrieren und die Kundenzufriedenheit weiter zu verbessern.

So haben die Teams MLOps Schritt für Schritt implementiert.

Weiterlesen