Ignorar navegação

Automatizar fluxos de trabalho do machine learning para incorporar IA ao Visual Studio

Veja como os cientistas de dados e os engenheiros da divisão de desenvolvedores Microsoft transformaram um experimento de sucesso em um recurso de produto de tráfego intenso com as práticas de MLOps (operações de aprendizado de máquina).

Leia a história completa

O desafio: Do protótipo para a produção em escala

Depois de seis meses de IA e experimentos de machine learning visando melhorar a produtividade do desenvolvedor, uma equipe pequena de cientistas de dados aplicados da divisão de desenvolvedores Microsoft chegou a um modelo que ativamente previa os métodos de C# que um desenvolvedor provavelmente chamaria durante a criação do código.

Esse protótipo de aprendizado de máquina bem-sucedido se tornaria a base para o Visual Studio IntelliCode, um recurso de previsão de código assistido por IA, mas não antes de passar por rigorosos testes de qualidade, disponibilidade e dimensionamento para atender aos requisitos dos usuários do Visual Studio. Eles precisariam convidar a equipe de engenharia para criar uma plataforma de aprendizado de máquina e automatizar esse processo. E ambas as equipes precisariam adotar uma cultura de MLOps, estendendo os princípios de DevOps ao ciclo de vida de aprendizado de máquina de ponta a ponta.

Juntos, as equipes de ciência e engenharia aplicadas criaram um pipeline de machine learning para iterar no processo de treinamento de modelos e automatizar grande parte do trabalho que a equipe de ciência aplicada fazia manualmente na fase de protótipo. Esse pipeline permitia ao IntelliCode escalar e oferecer suporte a seis linguagens de programação, treinando regularmente novos modelos com exemplos de código de um amplo conjunto de repositórios de software livre 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, Gerente Chefe de Engenharia de Software, equipe de dados e IA

Capitalização de insights com MLOps

Com o lançamento do IntelliCode, as equipes viram uma oportunidade de criar uma experiência de usuário ainda melhor: criar modelos de conclusão da equipe com base nos hábitos de codificação específicos de cada cliente. Personalizar esses modelos de aprendizado de máquina exigiria treinamento e publicação de modelos sob demanda automaticamente, sempre que um usuário do Visual Studio ou do Visual Studio Code solicitasse. Para executar essas funções em escala usando o pipeline existente, as equipes usaram os 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, Gerente Chefe de Engenharia de Software, equipe de dados e IA

Unindo perspectivas diferentes

Para criar pipelines de machine learning, as equipes precisaram definir padrões e diretrizes comuns para que pudessem falar a mesma língua, compartilhar as mesmas práticas recomendadas e, assim, colaborar melhor. Eles também precisaram entender as abordagens uns dos outros para com o projeto. Enquanto a equipe de ciência de dados trabalhava experimentalmente, iterando rapidamente na criação do modelo, a equipe de engenharia se concentrava em garantir que o IntelliCode atendesse às expectativas dos usuários do Visual Studio para recursos de nível de produção.

Hoje, todo o pipeline de machine learning (treinamento, avaliação, empacotamento e implantação) é executado automaticamente e atende a mais de 9.000 solicitações de criação de modelo mensais de usuários do Visual Studio e do Visual Studio Code. As equipes estão buscando maneiras de usar pipelines para criar mais recursos de IA em outros produtos da Microsoft e oferecer experiências ainda melhores aos clientes.

Veja como as equipes implementaram o MLOps passo a passo.

Leia a história completa
Podemos ajudar você?