As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Crie um MLOps fluxo de trabalho usando a Amazon SageMaker e o Azure DevOps
Criado por Deepika Kumar (AWS), Philips Kokoh Prasetyo () e Sara van de Moosdijk () AWS AWS
Ambiente: produção | Tecnologias: aprendizado de máquina e IA; DevOps | Workload: Microsoft |
AWSserviços: Amazon API Gateway; AmazonECR; Amazon EventBridge; AWS Lambda; Amazon S3; Amazon SageMaker |
Resumo
As operações de aprendizado de máquina (MLOps) são um conjunto de práticas que automatizam e simplificam os fluxos de trabalho e as implantações de aprendizado de máquina (ML). MLOpsse concentra em automatizar o ciclo de vida do ML. Isso ajuda a garantir que os modelos não sejam apenas desenvolvidos, mas também implantados, monitorados e retreinados de forma sistemática e repetida. Ele traz DevOps princípios para o ML. MLOpsresulta em uma implantação mais rápida de modelos de ML, maior precisão ao longo do tempo e maior garantia de que eles fornecem valor comercial real.
As organizações geralmente têm DevOps ferramentas e soluções de armazenamento de dados existentes antes de iniciar sua MLOps jornada. Esse padrão mostra como aproveitar os pontos fortes do Microsoft Azure e. AWS Ele ajuda você a integrar o Azure DevOps com SageMaker a Amazon para criar um MLOps fluxo de trabalho.
A solução simplifica o trabalho entre o Azure e. AWS Você pode usar o Azure para desenvolvimento e AWS aprendizado de máquina. Ele promove um processo eficaz para criar modelos de aprendizado de máquina do início ao fim, incluindo tratamento de dados, treinamento e implantação AWS. Para maior eficiência, você gerencia esses processos por meio de DevOps pipelines do Azure. A solução é aplicável às operações do modelo básico (FMOps) e às operações do modelo de linguagem grande (LLMOps) na IA generativa, que inclui ajuste fino, bancos de dados vetoriais e gerenciamento imediato.
Pré-requisitos e limitações
Pré-requisitos
Assinatura do Azure — Acesso aos serviços do Azure, como o Azure DevOps, para configurar os pipelines de integração contínua e implantação contínua (CI/CD).
AWSConta ativa — Permissões para usar o Serviços da AWS usado nesse padrão.
Dados — Acesso a dados históricos para treinar o modelo de aprendizado de máquina.
Familiaridade com os conceitos de ML — compreensão do Python, do Jupyter Notebooks e do desenvolvimento de modelos de aprendizado de máquina.
Configuração de segurança — configuração adequada de funções, políticas e permissões no Azure e AWS para garantir a transferência e o acesso seguros aos dados.
(Opcional) Banco de dados vetorial — Se você estiver usando uma abordagem de geração aumentada de recuperação (RAG) e um serviço terceirizado para o banco de dados vetoriais, precisará acessar o banco de dados vetoriais externo.
Limitações
Esta orientação não aborda transferências seguras de dados entre nuvens. Para obter mais informações sobre transferências de dados entre nuvens, consulte AWS Soluções para nuvem híbrida e multicloud
. As soluções multicloud podem aumentar a latência para processamento de dados em tempo real e inferência de modelos.
Essa orientação fornece um exemplo de MLOps arquitetura de várias contas. Os ajustes são necessários com base no aprendizado de máquina e na AWS estratégia.
Esta orientação não descreve o uso de serviços de IA/ML além da Amazon. SageMaker
Alguns Serviços da AWS não estão disponíveis em todos Regiões da AWS. Para ver a disponibilidade da região, consulte Serviços da AWS por região
. Para endpoints específicos, consulte a página de endpoints e cotas do serviço e escolha o link para o serviço.
Arquitetura
Arquitetura de destino
A arquitetura de destino integra o Azure DevOps com a Amazon SageMaker, criando um fluxo de trabalho de ML entre nuvens. Ele usa o Azure para CI/CD processes and SageMaker for ML model training and deployment. It outlines the process of obtaining data (from sources such as Amazon S3, nowflake, and Azure Data Lake) through model building and deployment. Key components include CI/CD pipelines para criação e implantação de modelos, preparação de dados, gerenciamento de infraestrutura e a Amazon SageMaker para treinamento, ajuste fino, avaliação e implantação de modelos de ML. Essa arquitetura foi projetada para fornecer fluxos de trabalho de ML eficientes, automatizados e escaláveis em todas as plataformas de nuvem.
A arquitetura consiste nos seguintes componentes:
Cientistas de dados realizam experimentos de ML na conta de desenvolvimento para explorar diferentes abordagens para casos de uso de ML usando várias fontes de dados. Cientistas de dados realizam testes e testes unitários e, para monitorar seus experimentos, podem usar a Amazon SageMaker com MLflow. No desenvolvimento de modelos generativos de IA, os cientistas de dados ajustam os modelos básicos do Amazon SageMaker JumpStart Model Hub. Após a avaliação do modelo, os cientistas de dados enviam e mesclam o código no repositório Model Build, que está hospedado no Azure. DevOps Esse repositório contém código para um pipeline de construção de modelos em várias etapas.
No Azure DevOps, o pipeline do Model Build, que fornece integração contínua (CI), pode ser ativado automática ou manualmente após a mesclagem do código com a ramificação principal. Na conta de automação, isso ativa o SageMaker pipeline para pré-processamento de dados, treinamento e ajuste fino do modelo, avaliação do modelo e registro condicional do modelo com base na precisão.
A conta de automação é uma conta central em todas as plataformas de ML que hospeda ambientes de ML (AmazonECR), modelos (Amazon S3), metadados do modelo (Model Registry), recursos (SageMaker SageMaker Feature Store), pipelines automatizados (Pipelines) e SageMaker insights de log de ML (). CloudWatch Para uma carga de trabalho generativa de IA, você pode precisar de avaliações adicionais para solicitações nos aplicativos posteriores. Um aplicativo de gerenciamento rápido ajuda a agilizar e automatizar o processo. Essa conta permite a reutilização dos ativos de ML e aplica as melhores práticas para acelerar a entrega de casos de uso de ML.
A versão mais recente do modelo foi adicionada ao Registro de SageMaker Modelos para análise. Ele rastreia as versões do modelo e os respectivos artefatos (linhagem e metadados). Ele também gerencia o status do modelo (aprovado, rejeitado ou pendente) e gerencia a versão para implantação posterior.
Depois que um modelo treinado no Registro de Modelos for aprovado por meio da interface do estúdio ou de uma API chamada, um evento poderá ser enviado para a Amazon. EventBridge EventBridge inicia o pipeline Model Deploy no Azure DevOps.
O pipeline do Model Deploy, que fornece implantação contínua (CD), verifica a fonte do repositório Model Deploy. A fonte contém o código, a configuração para a implantação do modelo e scripts de teste para benchmarks de qualidade. O pipeline do Model Deploy pode ser adaptado ao seu tipo de inferência.
Após as verificações de controle de qualidade, o pipeline do Model Deploy implanta o modelo na conta Staging. A conta Staging é uma cópia da conta de produção e é usada para testes e avaliações de integração. Para uma transformação em lote, o pipeline do Model Deploy pode atualizar automaticamente o processo de inferência em lote para usar a versão mais recente do modelo aprovada. Para uma inferência em tempo real, sem servidor ou assíncrona, ele configura ou atualiza o respectivo endpoint do modelo.
Após o teste bem-sucedido na conta Staging, um modelo pode ser implantado na conta de produção por meio de aprovação manual por meio do pipeline Model Deploy. Esse pipeline provisiona um endpoint de produção na etapa Deploy to production, incluindo monitoramento de modelos e um mecanismo de feedback de dados.
Depois que o modelo estiver em produção, use ferramentas como SageMaker Model Monitor e SageMaker Clarify para identificar tendências, detectar desvios e monitorar continuamente o desempenho do modelo.
Automação e escala
Use a infraestrutura como código (IaC) para implantar automaticamente em várias contas e ambientes. Ao automatizar o processo de configuração de um MLOps fluxo de trabalho, é possível separar os ambientes usados pelas equipes de ML que trabalham em projetos diferentes. AWS CloudFormationajuda você a modelar, provisionar e gerenciar AWS recursos tratando a infraestrutura como código.
Ferramentas
Serviços da AWS
SageMakerA Amazon é um serviço gerenciado de ML que ajuda você a criar e treinar modelos de ML e depois implantá-los em um ambiente hospedado pronto para produção.
AWS Glueé um serviço totalmente gerenciado de extração, transformação e carregamento (ETL). Ele ajuda você a categorizar de forma confiável, limpar, enriquecer e mover dados de forma confiável entre armazenamento de dados e fluxos de dados.
O Amazon Simple Storage Service (Amazon S3) é um serviço de armazenamento de objetos baseado na nuvem que ajuda você a armazenar, proteger e recuperar qualquer quantidade de dados. Nesse padrão, o Amazon S3 é usado para armazenamento de dados e integrado SageMaker para treinamento de modelos e objetos de modelo.
O AWS Lambda é um serviço de computação que ajuda a executar código sem exigir provisionamento ou gerenciamento de servidores. Ele executa o código somente quando necessário e dimensiona automaticamente, assim, você paga apenas pelo tempo de computação usado. Nesse padrão, o Lambda é usado para tarefas de pré-processamento e pós-processamento de dados.
O Amazon Elastic Container Registry (AmazonECR) é um serviço gerenciado de registro de imagens de contêineres que é seguro, escalável e confiável. Nesse padrão, ele armazena contêineres Docker que são SageMaker usados como ambientes de treinamento e implantação.
EventBridgeA Amazon é um serviço de ônibus de eventos sem servidor que ajuda você a conectar seus aplicativos com dados em tempo real de várias fontes. Nesse padrão, EventBridge orquestra fluxos de trabalho orientados por eventos ou baseados em tempo que iniciam o retreinamento ou a implantação automáticos do modelo.
O Amazon API Gateway ajuda você a criar, publicar, manter, monitorar e proteger RESTHTTP, WebSocket APIs em qualquer escala. Nesse padrão, ele é usado para criar um ponto de entrada único voltado para o exterior para endpoints. SageMaker
Para RAG aplicativos, você pode usar Serviços da AWS, como Amazon OpenSearch Service e Amazon RDS for PostgreSQL, para armazenar as incorporações vetoriais que LLM fornecem seus dados internos.
Outras ferramentas
O Azure DevOps
ajuda você a gerenciar pipelines de CI/CD e facilitar a criação, os testes e a implantação do código. O Azure Data Lake Storage
ou o Snowflake são possíveis fontes terceirizadas de dados de treinamento para modelos de ML. Pinecone
, Milvus ou ChromaDB são possíveis bancos de dados vetoriais de terceiros para armazenar incorporações vetoriais.
Práticas recomendadas
Antes de implementar qualquer componente desse MLOps fluxo de trabalho multicloud, conclua as seguintes atividades:
Defina e compreenda o fluxo de trabalho do aprendizado de máquina e as ferramentas necessárias para apoiá-lo. Casos de uso diferentes exigem fluxos de trabalho e componentes diferentes. Por exemplo, um feature store pode ser necessário para reutilização de recursos e inferência de baixa latência em um caso de uso de personalização, mas pode não ser necessário para outros casos de uso. É necessário compreender o fluxo de trabalho desejado, os requisitos do caso de uso e os métodos de colaboração preferidos da equipe de ciência de dados para personalizar a arquitetura com sucesso.
Crie uma separação clara de responsabilidade para cada componente da arquitetura. Distribuir o armazenamento de dados entre o Azure Data Lake Storage, o Snowflake e o Amazon S3 pode aumentar a complexidade e o custo. Se possível, escolha um mecanismo de armazenamento consistente. Da mesma forma, evite usar uma combinação de Azure e AWS DevOps serviços, ou uma combinação de serviços do Azure e AWS ML.
Escolha um ou mais modelos e conjuntos de dados existentes para realizar end-to-end testes do MLOps fluxo de trabalho. Os artefatos de teste devem refletir casos de uso reais que as equipes de ciência de dados desenvolvem quando a plataforma entra em produção.
Épicos
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Identifique as fontes de dados. | Com base nos casos de uso atuais e futuros, nas fontes de dados disponíveis e nos tipos de dados (como dados confidenciais), documente as fontes de dados que precisam ser integradas à MLOps plataforma. Os dados podem ser armazenados no Amazon S3, no Azure Data Lake Storage, no Snowflake ou em outras fontes. Para cargas de trabalho generativas de IA, os dados também podem incluir uma base de conhecimento que fundamenta a resposta gerada. Esses dados são armazenados como incorporações vetoriais em bancos de dados vetoriais. Crie um plano para integrar essas fontes à sua plataforma e garantir o acesso aos recursos corretos. | Engenheiro de dados, cientista de dados, arquiteto de nuvem |
Escolha os serviços aplicáveis. | Personalize a arquitetura adicionando ou removendo serviços com base no fluxo de trabalho desejado da equipe de ciência de dados, nas fontes de dados aplicáveis e na arquitetura de nuvem existente. Por exemplo, engenheiros de dados e cientistas de dados podem realizar pré-processamento de dados e engenharia de recursos na SageMaker Amazon ou na AmazonEMR. AWS GlueÉ improvável que todos os três serviços sejam necessários. | AWSadministrador, engenheiro de dados, cientista de dados, engenheiro de ML |
Analise os requisitos de segurança. | Reúna e documente os requisitos de segurança. Isso inclui determinar:
Para obter mais informações sobre como proteger cargas de trabalho generativas de IA, consulte Protegendo a IA generativa: uma introdução à matriz de escopo de segurança de IA generativa (postagem no | AWSadministrador, arquiteto de nuvem |
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Configurar AWS Organizations. | Configure AWS Organizations na raiz Conta da AWS. Isso ajuda você a gerenciar as contas subsequentes que você cria como parte de uma MLOps estratégia de várias contas. Para obter mais informações, consulte a documentação do AWS Organizations. | AWSadministrador |
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Crie uma conta AWS de desenvolvimento. | Crie um Conta da AWS local em que engenheiros e cientistas de dados tenham permissões para experimentar e criar modelos de ML. Para obter instruções, consulte Criação de uma conta de membro em sua organização na AWS Organizations documentação. | AWSadministrador |
Crie um repositório Model Build. | Crie um repositório Git no Azure onde os cientistas de dados possam enviar o código de criação e implantação do modelo após a conclusão da fase de experimentação. Para obter instruções, consulte Configurar um repositório Git | DevOps engenheiro, engenheiro de ML |
Crie um repositório Model Deploy. | Crie um repositório Git no Azure que armazene modelos e códigos de implantação padrão. Ele deve incluir código para cada opção de implantação que a organização usa, conforme identificado na fase de design. Por exemplo, ele deve incluir endpoints em tempo real, endpoints assíncronos, inferência sem servidor ou transformações em lote. Para obter instruções, consulte Configurar um repositório Git | DevOps engenheiro, engenheiro de ML |
Crie um ECR repositório da Amazon. | Configure um ECR repositório da Amazon que armazene os ambientes de ML aprovados como imagens do Docker. Permita que cientistas de dados e engenheiros de ML definam novos ambientes. Para obter instruções, consulte Criação de um repositório privado na ECR documentação da Amazon. | Engenheiro de ML |
Configure o SageMaker Studio. | Configure o SageMaker Studio na conta de desenvolvimento de acordo com os requisitos de segurança definidos anteriormente, as ferramentas preferidas de ciência de dados (comoMLflow) e o ambiente de desenvolvimento integrado preferido (IDE). Use configurações de ciclo de vida para automatizar a instalação das principais funcionalidades e criar um ambiente de desenvolvimento uniforme para cientistas de dados. Para obter mais informações, consulte Amazon SageMaker Studio e servidor MLflow de rastreamento na SageMaker documentação. | Cientista de dados, engenheiro de ML, engenheiro rápido |
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Crie uma conta de automação. | Crie um Conta da AWS local onde os pipelines e trabalhos automatizados sejam executados. Você pode dar às equipes de ciência de dados acesso de leitura a essa conta. Para obter instruções, consulte Criação de uma conta de membro em sua organização na AWS Organizations documentação. | AWSadministrador |
Configure um registro de modelo. | Configure o SageMaker Model Registry na conta de automação. Esse registro armazena os metadados dos modelos de ML e ajuda determinados cientistas de dados ou líderes de equipe a aprovar ou rejeitar modelos. Para obter mais informações, consulte Registrar e implantar modelos com o Model Registry na SageMaker documentação. | Engenheiro de ML |
Crie um pipeline de construção de modelos. | Crie um pipeline de CI/CD no Azure que inicie manual ou automaticamente quando o código é enviado para o repositório Model Build. O pipeline deve verificar o código-fonte e criar ou atualizar um SageMaker pipeline na conta de automação. O pipeline deve adicionar um novo modelo ao registro do modelo. Para obter mais informações sobre a criação de um pipeline, consulte a documentação do Azure Pipelines | DevOps engenheiro, engenheiro de ML |
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Crie contas AWS de preparação e implantação. | Crie Contas da AWS para preparação e implantação de modelos de ML. Essas contas devem ser idênticas para permitir testes precisos dos modelos em preparação antes de passarem para a produção. Você pode dar às equipes de ciência de dados acesso de leitura à conta de teste. Para obter instruções, consulte Criação de uma conta de membro em sua organização na AWS Organizations documentação. | AWSadministrador |
Configure buckets S3 para monitoramento de modelos. | Conclua esta etapa se quiser ativar o monitoramento de modelos para os modelos implantados que são criados pelo pipeline Model Deploy. Crie buckets do Amazon S3 para armazenar os dados de entrada e saída. Para obter mais informações sobre a criação de buckets do S3, consulte Criação de um bucket na documentação do Amazon S3. Configure permissões entre contas para que os trabalhos automatizados de monitoramento de modelos sejam executados na conta de automação. Para obter mais informações, consulte Monitorar dados e qualidade do modelo na SageMaker documentação. | Engenheiro de ML |
Crie um pipeline do Model Deploy. | Crie um pipeline de CI/CD no Azure que começa quando um modelo é aprovado no registro do modelo. O pipeline deve verificar o código-fonte e o artefato do modelo, criar os modelos de infraestrutura para implantar o modelo nas contas de preparação e produção, implantar o modelo na conta de preparação, executar testes automatizados, aguardar a aprovação manual e implantar o modelo aprovado na conta de produção. Para obter mais informações sobre a criação de um pipeline, consulte a documentação do Azure Pipelines | DevOps engenheiro, engenheiro de ML |
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Crie AWS CDK nossos CloudFormation modelos. | Defina AWS Cloud Development Kit (AWS CDK) nossos AWS CloudFormation modelos para todos os ambientes que precisam ser implantados automaticamente. Isso pode incluir o ambiente de desenvolvimento, o ambiente de automação e os ambientes de preparação e implantação. Para obter mais informações, consulte AWS CDKa CloudFormationdocumentação e. | AWS DevOps |
Crie um pipeline de infraestrutura. | Crie um pipeline de CI/CD no Azure para implantação da infraestrutura. Um administrador pode iniciar esse pipeline para criar novos ambientes Contas da AWS e configurar os que a equipe de ML exige. | DevOps engenheiro |
Solução de problemas
Problema | Solução |
---|---|
Monitoramento insuficiente e detecção de desvios — O monitoramento inadequado pode levar à detecção perdida de problemas de desempenho do modelo ou desvio de dados. | Fortaleça as estruturas de monitoramento com ferramentas como Amazon CloudWatch, SageMaker Model Monitor e SageMaker Clarify. Configure alertas para ação imediata sobre problemas identificados. |
Erros de gatilho do pipeline de CI — O pipeline de CI no Azure DevOps pode não ser acionado na mesclagem de código devido a uma configuração incorreta. | Verifique as configurações do DevOps projeto do Azure para garantir que os webhooks estejam configurados corretamente e apontando para os endpoints corretos SageMaker . |
Governança — a conta de automação central pode não aplicar as melhores práticas em todas as plataformas de ML, levando a fluxos de trabalho inconsistentes. | Audite as configurações da conta de automação, garantindo que todos os ambientes e modelos de ML estejam em conformidade com as melhores práticas e políticas predefinidas. |
Atrasos na aprovação do registro do modelo — Isso acontece quando há um atraso na verificação e aprovação do modelo, seja porque as pessoas demoram para revisá-lo ou devido a problemas técnicos. | Implemente um sistema de notificação para alertar as partes interessadas sobre modelos que estão pendentes de aprovação e agilizar o processo de revisão. |
Falhas no evento de implantação do modelo — Os eventos enviados para iniciar os pipelines de implantação do modelo podem falhar, causando atrasos na implantação. | Confirme se a Amazon EventBridge tem as permissões e os padrões de eventos corretos para invocar os DevOps pipelines do Azure com sucesso. |
Gargalos na implantação da produção — Os processos de aprovação manual podem criar gargalos, atrasando a implantação dos modelos na produção. | Otimize o fluxo de trabalho de aprovação dentro do pipeline de implantação do modelo, promovendo análises oportunas e canais de comunicação claros. |
Recursos relacionados
AWS documentação
Lente de Machine Learning (estrutura AWS bem arquitetada)
Planejamento para o sucesso MLOps (AWS orientação prescritiva)
Outros AWS recursos
MLOpsroteiro básico para empresas com a Amazon SageMaker
(postagem AWS no blog) AWS Summit ANZ 2022 - End-to-end MLOps para arquitetos
(YouTube vídeo) FMOps/LLMOps: Operacionalize a IA generativa e as diferenças com MLOps
(AWS postagem do blog) Operacionalize a LLM avaliação em grande escala usando o Amazon SageMaker Clarify e MLOps os serviços
(AWS publicação no blog) O papel dos bancos de dados vetoriais em aplicativos generativos de IA
(postagem AWS no blog)
Documentação do Azure