Avançar para o conteúdo principal

Automatizar fluxos de trabalho de machine learning para infundir IA no Visual Studio

Descubra como é que os cientistas de dados e os engenheiros da divisão de programadores da Microsoft transformaram uma experimentação bem-sucedida numa funcionalidade de produto muito utilizada com práticas de operações de aprendizagem automática (MLOps).

Ler a história completa

O desafio: do protótipo à produção em escala

Ao fim de seis meses de experimentações em IA e machine learning com o objetivo de melhorar a produtividade dos programadores, uma pequena equipa de cientistas de dados aplicados da divisão de programadores da Microsoft criou um modelo que previa, de forma ativa, os métodos C# que os programadores iriam provavelmente chamar enquanto programavam.

Este protótipo de aprendizagem automática bem-sucedido tornar-se-ia a base para o Visual Studio IntelliCode, uma capacidade de predição de código assistida por IA—mas não antes de passar por testes rigorosos de qualidade, disponibilidade e dimensionamento para cumprir os requisitos dos utilizadores do Visual Studio. Teriam de convidar a equipa de engenharia para criar uma plataforma de aprendizagem automática e automatizar esse processo. Além disso, ambas as equipas teriam de adotar uma cultura de MLOps—expandindo os princípios de DevOps ao ciclo de vida de aprendizagem automática ponto a ponto.

Em conjunto, as equipas de ciência de dados aplicada e de engenharia compilaram um pipeline de machine learning para iterar no processo de preparação de modelos e automatizar grande parte do trabalho que a equipa de ciência de dados aplicada fazia manualmente na fase de prototipagem. Esse pipeline permitiu que o IntelliCode se ampliasse e suportasse seis linguagens de programação, preparando com regularidade modelos novos mediante a utilização de exemplos de código de um extenso conjunto de repositórios open-source do GitHub.

"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, Diretor de Engenharia de Software, equipa Dados e IA

Tirar partido das informações com o MLOps

À medida que o IntelliCode foi lançado, as equipas viram uma oportunidade para criar uma experiência de utilizador ainda melhor: criar modelos de conclusão de equipa com base nos hábitos de codificação específicos de cada cliente. Personalizar esses modelos de aprendizagem automática exigiria a formação e a publicação automática de modelos a pedido—sempre que um utilizador do Visual Studio ou do Visual Studio Code o pedisse. Para executar essas funções em escala com o pipeline existente, as equipas utilizaram serviços do Azure, como Azure Machine Learning, Azure Data Factory, Azure Batch e Azure Pipelines.

"When we added support for custom models, the scalability and reliability of our training pipeline became even more important"

Gearard Boland, Diretor de Engenharia de Software, equipa Dados e IA

Unir duas perspetivas diferentes

Para compilar o pipeline de machine learning, as equipas tiveram de definir normas e orientações comuns, para que pudessem falar a mesma língua, partilhar melhores práticas e colaborar melhor. Também tinham de compreender as abordagens da outra em relação ao projeto. Enquanto a equipa de ciência de dados trabalhou em experimentações, iterando rapidamente na criação de modelos, a equipa de engenharia dedicou-se a garantir que o IntelliCode correspondia às expectativas dos utilizadores do Visual Studio em termos de funcionalidades de nível de produção.

Hoje, todo o pipeline de machine learning, desde a preparação, à avaliação, ao empacotamento e à implementação, é executado automaticamente e serve mais de nove mil pedidos de criação de modelos mensais dos utilizadores do Visual Studio e do Visual Studio Code. As equipas estão a desenvolver novas formas de utilizar o pipeline para criar capacidades de IA adicionais noutros produtos da Microsoft e oferecer experiências ainda melhores aos clientes.

Veja como é que as equipas implementaram o MLOps passo a passo.

Ler a história completa
Como podemos ajudá-lo?