Trace Id is missing
Pular para o conteúdo principal

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

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

Confira como os cientistas de dados e os engenheiros da divisão de desenvolvedores da 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).

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

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

Esse protótipo bem sucedido de machine learning se tornaria a base para o Visual Studio IntelliCode, uma funcionalidade de previsão de código assistida por IA, mas não sem antes passar por rigorosos testes de qualidade, disponibilidade e escalabilidade para atingir as exigências dos usuários do Visual Studio. Seria ainda necessário convidar a equipe de engenheiros para criar uma plataforma de machine learning e automatizar esse processo. E ambas as equipes precisariam adotar uma cultura MLOps, estendendo princípios de DevOps para o ciclo de vida de machine learning 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.

Duas pessoas conversando e desenhando um diagrama em um quadro negro

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

O desafio: adaptação a um modelo operacional de nuvem

"Claramente teremos muito treinamento de modelo intensivo de computação em conjuntos de dados muito grandes mensalmente, tornando a necessidade de um pipeline de machine learning automatizado, escalonável e de ponta a ponta ainda mais evidente."

Gearard Boland, Gerente Chefe de Engenharia de Software, equipe de dados e IA

Capitalização de insights com MLOps

Com a distribuição do IntelliCode, as equipes viram uma oportunidade de elaborar uma experiência de usuário ainda melhor: criar modelos de conclusão de equipe com base em hábitos de codificação específicos de cada cliente. A personalização desses modelos de machine learning exigiria o treinamento e a publicação de modelos sob demanda automaticamente, sempre que um usuário do Visual Studio ou Visual Studio Code solicitasse. Para executar essas funções em escala usando o pipeline existente, as equipes usaram serviços do Azure, como o Azure Machine LearningAzure Data FactoryAzure BatchAzure Pipelines.

O desafio: adaptação a um modelo operacional de nuvem

"Quando adicionamos suporte a modelos personalizados, a escalabilidade e confiabilidade do pipeline de treinamento se tornou ainda mais importante"

Gearard Boland, Gerente Chefe de Engenharia de Software, equipe de dados e IA

Unir duas 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 melhores práticas 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 mil 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.

" "

Confira como as equipes implementaram o MLOps passo a passo.