evento
Crie aplicativos e agentes de IA
17/03, 21 - 21/03, 10
Junte-se à série meetup para criar soluções de IA escaláveis com base em casos de uso do mundo real com outros desenvolvedores e especialistas.
Registe-se agoraEste browser já não é suportado.
Atualize para o Microsoft Edge para tirar partido das mais recentes funcionalidades, atualizações de segurança e de suporte técnico.
Neste artigo, você aprenderá sobre operações de aprendizado de máquina (MLOps), incluindo quais tipos de práticas e ferramentas estão envolvidas e como isso pode simplificar e acelerar seus fluxos de trabalho de IA e aprendizado de máquina no Serviço Kubernetes do Azure (AKS).
As operações de aprendizado de máquina (MLOps) englobam práticas que facilitam a colaboração entre cientistas de dados, operações de TI e partes interessadas de negócios, garantindo que os modelos de aprendizado de máquina sejam desenvolvidos, implantados e mantidos de forma eficiente. O MLOps aplica os princípios de DevOps a projetos de aprendizado de máquina, com o objetivo de automatizar e simplificar o ciclo de vida de aprendizado de máquina de ponta a ponta. Esse ciclo de vida inclui modelos de treinamento, empacotamento, validação, implantação, monitoramento e retreinamento.
O MLOps requer várias funções e ferramentas para trabalhar em conjunto de forma eficaz. Os cientistas de dados se concentram em tarefas relacionadas ao treinamento do modelo, que é conhecido como loop interno. Os engenheiros de aprendizado de máquina e as equipes de operações de TI lidam com o loop externo, onde aplicam práticas de DevOps para empacotar, validar, implantar e monitorar modelos. Quando o modelo precisa de ajuste fino ou retreinamento, o processo volta para o loop interno.
Seu pipeline de MLOps pode aproveitar várias ferramentas e microsserviços que são implantados sequencialmente ou em paralelo. Abaixo estão exemplos de componentes-chave em seu pipeline que se beneficiam da implementação das seguintes práticas recomendadas para reduzir a sobrecarga e permitir uma iteração mais rápida:
O DevOps é uma combinação de ferramentas e práticas que permitem criar aplicativos robustos e reproduzíveis. O objetivo de usar o DevOps é entregar valor rapidamente aos seus usuários finais. Criar, implantar e monitorar modelos robustos e reproduzíveis para entregar valor aos usuários finais é o principal objetivo do MLOps.
Existem três processos que são essenciais para o MLOps:
O MLOps aproveita vários princípios do DevOps para aprimorar o ciclo de vida do aprendizado de máquina, como automação, integração e entrega contínua (CI/CD), controle de origem, planejamento ágil e infraestrutura como código (IaC).
Ao automatizar tarefas, você pode reduzir erros manuais, aumentar a eficiência e garantir a consistência em todo o ciclo de vida do ML. A automação pode ser aplicada a vários estágios, incluindo coleta de dados, treinamento de modelos, implantação e monitoramento. Por meio da automação, você também pode aplicar medidas proativas no pipeline de IA para garantir a conformidade dos dados com as políticas da sua organização.
Por exemplo, seu pipeline pode automatizar:
A integração contínua abrange os aspetos de criação e verificação do processo de desenvolvimento do modelo. O objetivo do CI é criar o código e verificar a qualidade do código e do modelo antes da implantação. Isso inclui testes em uma variedade de conjuntos de dados de amostra para garantir que o modelo tenha o desempenho esperado e atenda aos padrões de qualidade.
Em MLOps, o IC pode envolver:
Para executar linting e testes de unidade, você pode usar ferramentas de automação como o Azure Pipelines no Azure DevOps ou GitHub Actions.
A entrega contínua envolve as etapas necessárias para implantar com segurança um modelo na produção. A primeira etapa é empacotar e implantar o modelo em ambientes de pré-produção, como ambientes de desenvolvimento e teste. A portabilidade dos parâmetros, hiperparâmetros e outros artefatos de modelo é um aspeto importante a ser mantido à medida que você promove o código por meio desses ambientes. Esta portabilidade é especialmente importante quando se trata de modelos de linguagem grande (LLMs) e modelos de difusão estáveis. Depois que o modelo passar nos testes de unidade e nos testes de garantia de qualidade (QA), você poderá aprová-lo para implantação no ambiente de produção.
O controle do código-fonte, ou controle de versão, é essencial para gerenciar alterações no código e nos modelos. Em um sistema de ML, isso se refere ao controle de versão de dados, controle de versão de código e controle de versão de modelo, que permitem que equipes multifuncionais colaborem de forma eficaz e acompanhem as alterações ao longo do tempo. Usar um sistema de controle de origem baseado em Git, como o Azure Repos no Azure DevOps ou um repositório GitHub, permite que você mantenha programaticamente um histórico de alterações, reverta para versões anteriores e gerencie ramificações para diferentes experimentos.
O planejamento ágil envolve isolar o trabalho em sprints, que são prazos curtos para concluir tarefas específicas. Essa abordagem permite que as equipes se adaptem às mudanças rapidamente e forneçam melhorias incrementais ao modelo. O treinamento do modelo pode ser um processo contínuo, e o planejamento ágil pode ajudar a definir o escopo do projeto e permitir um melhor alinhamento da equipe.
Você pode usar ferramentas como Azure Boards no Azure DevOps ou problemas do GitHub para gerenciar seu planejamento Agile.
Você usa a infraestrutura como código para repetir e automatizar a infraestrutura necessária para treinar, implantar e atender seus modelos. Em um sistema de ML, o IaC ajuda a simplificar e definir os recursos apropriados do Azure necessários para o tipo de trabalho específico no código, e o código é mantido em um repositório. Isso permite que você controle a versão de sua infraestrutura e faça alterações para otimização de recursos, custo-benefício, etc., conforme necessário.
Confira os seguintes artigos para saber mais sobre as melhores práticas para MLOps em seus aplicativos inteligentes no AKS:
Comentários do Azure Kubernetes Service
O Azure Kubernetes Service é um projeto código aberto. Selecione um link para fornecer comentários:
evento
Crie aplicativos e agentes de IA
17/03, 21 - 21/03, 10
Junte-se à série meetup para criar soluções de IA escaláveis com base em casos de uso do mundo real com outros desenvolvedores e especialistas.
Registe-se agora