Trace Id is missing
Avançar para o conteúdo principal

Automatizar os fluxos de trabalho de aprendizagem automática para implementar a IA no Visual Studio

Automatizar os fluxos de trabalho de aprendizagem automática para implementar a IA no Visual Studio

Descubra como é que os cientistas de dados e os engenheiros no departamento de programação da Microsoft transformaram uma experimentação bem-sucedida numa funcionalidade de tráfego elevado com práticas de operações de aprendizagem automática (MLOps).

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

Ao fim de seis meses de experimentações de IA e aprendizagem automática com o objetivo de melhorar a produtividade dos programadores, uma pequena equipa de cientistas de dados aplicados do departamento de programação da Microsoft criou um modelo que previa, de forma ativa, os métodos C# que os programadores iriam chamar durante o processo de codificação.

Esse protótipo de aprendizagem automática bem-sucedido seria a base do Visual Studio IntelliCode, uma funcionalidade de predição de código assistida por IA, mas não sem antes ter passado por rigorosos testes de qualidade, disponibilidade e dimensionamento para que correspondesse às exigências dos utilizadores do Visual Studio. A equipa de ciência de dados teria de convidar a equipa de engenharia para criar uma plataforma de aprendizagem automática e automatizar esse processo. E ambas as equipas teriam de adotar uma cultura de MLOps com expansão dos princípios de DevOps ao ciclo de vida completo de aprendizagem automática.

Em conjunto, as equipas de ciência de dados aplicada e de engenharia compilaram um pipeline de aprendizagem automática 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 protótipo. Esse pipeline permitiu que o IntelliCode se dimensionasse, suportasse seis linguagens de programação e preparasse frequentemente modelos novos mediante a utilização de exemplos de código de um extenso conjunto de repositórios open-source do GitHub.

Duas pessoas a conversar e a desenhar um diagrama num quadro

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

O desafio: Adaptação a um modelo de funcionamento na nuvem

"Íamos claramente fazer muitas preparações de modelos com recurso a computação em conjuntos de dados muito grandes todos os meses, o que criou a necessidade de um pipeline de aprendizagem automática dimensionável, automatizado e ponto a ponto."

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

Tirar partido das informações com MLOps

Depois do lançamento do IntelliCode, as equipas viram uma oportunidade para desenvolver uma experiência de utilizador ainda melhor: criar modelos de finalização da equipa com base nos hábitos de programação específicos dos clientes de ambas. A personalização desses modelos de aprendizagem automática exige a preparação e publicação de modelos a pedido automaticamente sempre que um utilizador do Visual Studio ou do Visual Studio Code o pedir. Para realizar essas funções em escala com o pipeline existente, as equipas utilizaram serviços do Azure, como o Azure Machine Learningo Azure Data Factoryo Azure Batche o Azure Pipelines.

O desafio: Adaptação a um modelo de funcionamento na nuvem

"Quando adicionámos o suporte para modelos personalizados, a escalabilidade e a fiabilidade do nosso pipeline de preparação tornaram-se ainda mais importantes"

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

Unir duas perspetivas diferentes

Para compilar o pipeline de aprendizagem automática, as equipas tiveram de definir normas e orientações comuns para que pudessem estar em sintonia, partilhar melhores práticas e melhorar a colaboração. Também tinham de compreender as abordagens da outra equipa em relação ao projeto. Enquanto a equipa de ciência de dados trabalhou experimentalmente, ao iterar rapidamente a 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.

Atualmente, todo o pipeline de aprendizagem automática, desde a preparação, avaliação, empacotamento à 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 funcionalidades de IA adicionais noutros produtos da Microsoft e oferecer experiências ainda melhores aos clientes.

" "

Veja como as equipas implementaram MLOps passo a passo.