Criar modelos de IA personalizados com o Azure Machine Learning

Concluído

A disponibilidade de modelos de IA sofisticados pode ajudar as organizações a reduzir significativamente a quantidade assustadora de recursos que um projeto de ciência de dados pode exigir. Vamos ver como as organizações podem enfrentar os desafios e as operações de aprendizado de máquina com o Azure Machine Learning.

Desafios de aprendizado de máquina e necessidade de operações de aprendizado de máquina

A manutenção de soluções de IA normalmente requer o gerenciamento do ciclo de vida do aprendizado de máquina para documentar e gerenciar dados, código, ambientes de modelo e os próprios modelos de machine learning. Você precisa estabelecer processos para desenvolver, empacotar e implantar modelos, bem como monitorar seu desempenho e, ocasionalmente, retreiná-los. E a maioria das organizações está gerenciando vários modelos em produção ao mesmo tempo, o que só aumenta a complexidade.

Para lidar efetivamente com essa complexidade, algumas práticas recomendadas são necessárias. Elas se concentram na colaboração entre equipes, automatizando e padronizando processos e garantindo que os modelos possam ser facilmente auditados, explicados e reutilizados. Para fazer isso, as equipes de ciência de dados dependem da abordagem de operações de aprendizado de máquina. Essa metodologia é inspirada no DevOps (desenvolvimento e operações), o padrão da indústria para gerenciamento de operações para um ciclo de desenvolvimento de aplicativos, já que as lutas de desenvolvedores e cientistas de dados são semelhantes.

Azure Machine Learning

Os cientistas de dados podem gerenciar e executar o DevOps de machine learning do Azure Machine Learning, uma plataforma da Microsoft para facilitar o gerenciamento do ciclo de vida e as práticas operacionais do machine learning. Essas ferramentas ajudam as equipes a colaborar em um ambiente compartilhado, auditável e seguro em que muitos processos podem ser otimizados por meio da automação.

Captura de tela da página de aterrissagem do Estúdio do Azure Machine Learning.

Gerenciamento do ciclo de vida de machine learning

O Azure Machine Learning dá suporte ao gerenciamento do ciclo de vida do aprendizado de máquina de ponta a ponta de modelos pré-treinados e personalizados. O ciclo de vida típico inclui as seguintes etapas: preparação de dados, treinamento de modelo, empacotamento de modelo, validação de modelo, implantação de modelo, monitoramento e retreinamento de modelo.

Diagrama mostrando o ciclo de vida do ML: preparar dados, treinar modelo, empacotar modelo, validar modelo, modo de implantação, monitorar modelo e treinar novamente o modelo.

A abordagem clássica abrange todas as etapas usuais de um projeto de ciência de dados.

  1. Preparar o conjunto de dados. A IA começa com os dados. Primeiro, os cientistas de dados precisam preparar dados com os quais treinar o modelo. A preparação de dados é geralmente a etapa que mais consome tempo em todo o ciclo de vida. Essa tarefa envolve localizar ou criar seu próprio conjunto de dados e limpá-lo para que seja facilmente legível por computadores. Você quer garantir que os dados sejam um exemplo representativo, que suas variáveis sejam pertinentes para sua meta e assim por diante.
  2. Treinar e testar: Em seguida, os cientistas de dados aplicam algoritmos aos dados para treinar um modelo de machine learning. Então, eles os testam com novos dados para ver a precisão de suas previsões.
  3. Pacote. Um modelo não pode ser colocado diretamente em um aplicativo. Eles precisam ser conteinerizados, para que possam ser executados com todas as ferramentas e estruturas nas quais foram criados.
  4. Validar. A essa altura, a equipe avalia como o desempenho do modelo se compara às suas metas empresariais. O teste pode retornar métricas boas o suficiente, mas ainda assim o modelo pode não funcionar conforme o esperado quando usado em um cenário de negócios real.
    • Repita as etapas 1-4. Pode levar centenas de horas de treinamento para encontrar um modelo satisfatório. A equipe de desenvolvimento pode treinar muitas versões do modelo ajustando dados de treinamento, ajustando hiperparâmetros de algoritmo ou experimentando algoritmos diferentes. De preferência, o modelo melhora cada rodada de ajuste. Por fim, a função da equipe de desenvolvimento é determinar qual versão do modelo melhor se adapta ao caso de uso empresarial.
  5. Implantar. Por fim, eles implantam o modelo. As opções de implantação incluem: na nuvem, em um servidor local e em dispositivos como câmeras, gateways de IoT ou máquinas.
  6. Monitorar e retreinar. Mesmo que um modelo funcione bem a princípio, ele precisa ser monitorado e retreinado continuamente para permanecer relevante e preciso.

Observação

Integrar modelos pré-treinados e adaptá-los às suas necessidades de negócios requer um fluxo de trabalho diferente que integra modelos personalizados. Usando o Azure Machine Learning, você poderá usar modelos pré-treinados ou criar seus próprios modelos. Escolher uma abordagem em vez de outra depende do cenário. Trabalhar com modelos pré-treinados tem a vantagem de exigir menos recursos e fornecer resultados mais rapidamente. No entanto, os modelos predefinidos são treinados para resolver uma ampla variedade de casos de uso, portanto, eles podem ter dificuldades para atender a necessidades muito específicas. Nesses casos, um modelo personalizado completo pode ser uma ideia melhor. Uma combinação flexível de ambas as abordagens geralmente é preferível e ajuda a dimensionar. As equipes de IA podem economizar recursos usando modelos pré-treinados para os casos de uso mais fáceis, enquanto investem esses recursos na criação de modelos de IA personalizados para os cenários mais difíceis. Outras iterações podem melhorar os modelos predefinidos retreinando-os.

Operações de machine learning

As MLOps (Operações de aprendizado de máquina) aplicam a metodologia do DevOps (desenvolvimento e operações) para gerenciar o ciclo de vida do machine learning com mais eficiência. Permite uma colaboração mais ágil e produtiva nas equipes de IA entre todos os stakeholders. Essas colaborações envolvem cientistas de dados, engenheiros de IA, desenvolvedores de aplicativos e outras equipes de TI.

Os processos e as ferramentas do MLOps ajudam essas equipes a colaborar e fornecer visibilidade por meio de documentação compartilhada e auditável. As tecnologias MLOps permitem que os usuários salvem e acompanhem alterações em todos os recursos, como dados, código, modelos e outras ferramentas. Essas tecnologias também podem criar eficiências e acelerar o ciclo de vida por meio de automação, fluxos de trabalho repetíveis e ativos reutilizáveis. Todas essas práticas tornam os projetos de IA mais ágeis e eficientes.

O Azure Machine Learning dá suporte às seguintes práticas de MLOps:

  • Reprodução de modelo: significa que membros diferentes da equipe podem executar modelos no mesmo conjunto de dados e obter resultados semelhantes. A reprodutibilidade é essencial para tornar os resultados dos modelos em produção confiáveis. O Azure Machine Learning dá suporte à reprodução de modelos com ativos de gerenciamento central, como ambientes, código, conjuntos de dados, modelos e pipelines de aprendizado de máquina.

  • Validação de modelo: antes de um modelo ser implantado, é essencial validar suas métricas de desempenho. Você pode ter várias métricas que são usadas para indicar o "melhor" modelo. Validar as métricas de desempenho de maneiras relevantes para o caso de uso empresarial é fundamental. O Azure Machine Learning dá suporte à validação de modelo com muitas ferramentas para avaliar as métricas de modelo, como funções de perda e matrizes de confusão.

  • Implantação de modelo: quando um modelo é implantado, é importante que cientistas de dados e engenheiros de IA trabalhem juntos para determinar a melhor opção de implantação. Essas opções incluem dispositivos de nuvem, locais e de borda (câmeras, drones, máquinas).

  • Treinamento de modelo: os modelos precisam ser monitorados e treinados periodicamente para corrigir problemas de desempenho e aproveitar os dados de treinamento mais recentes. O Azure Machine Learning dá suporte a um processo sistemático e iterativo para refinar e garantir continuamente a precisão do modelo.

Dica

Foto mostrando um profissional de saúde acessando o Azure Machine Learning em um tablet.
História de clientes: Uma organização de saúde usa o Azure Machine Learning para treinar modelos de machine learning personalizados que preveem a probabilidade de complicações durante procedimentos cirúrgicos. Os modelos são treinados em grandes volumes de dados, incluindo fatores como idade, etnia, histórico de tabagismo, índice de massa corporal e contagem de plaquetas no sangue. O uso desses modelos permite que os profissionais médicos avaliem melhor o risco e determinem opções de cirurgia ou recomendações de mudança de estilo de vida para pacientes individuais. O painel de IA responsável no Azure Machine Learning ajuda a explicar fatores preditivos e mitigar o viés de fatores demográficos. Em última análise, a solução de modelagem preditiva ajuda a reduzir o risco e a incerteza e a melhorar os resultados cirúrgicos. Leia a história completa do cliente aqui: https://aka.ms/azure-ml-customer-story.

Dica

Reserve um momento para considerar como sua organização pode aproveitar a ciência de dados e a experiência de aprendizado de máquina para criar modelos personalizados.
Fotografia mostrando pessoas trabalhando e conversando ao redor de uma mesa.

A seguir, vamos encerrar tudo com uma verificação de conhecimento.