Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este artigo descreve três arquiteturas do Azure para operações de aprendizado de máquina que têm pipelines de CI/CD (integração contínua e entrega contínua) de ponta a ponta e pipelines de retreinamento. As arquiteturas são para esses aplicativos de IA:
- Aprendizado de máquina clássico
- Visão computacional (CV)
- Processamento de idioma natural
Essas arquiteturas são resultado do projeto MLOps v2. Elas incorporam as práticas recomendadas que os arquitetos de solução identificaram no processo de desenvolvimento de várias soluções de aprendizado de máquina. O resultado são padrões implantáveis, repetíveis e sustentáveis. As três arquiteturas usam o serviço do Azure Machine Learning.
Para obter uma implementação com modelos de implantação de exemplo para MLOps v2, consulte o repositório GitHub do Azure MLOps v2.
Possíveis casos de uso
Aprendizado de máquina clássico: previsão, regressão e classificação de série temporal em dados estruturados tabulares são os casos de uso mais comuns nessa categoria. Os exemplos incluem:
Classificação binária e de vários rótulos.
Regressão linear, polinomial, de crista, de laço, de quantil e bayesiana.
ARIMA, autorregressivo, SARIMA, VAR, SES, LSTM.
CV: A estrutura MLOps nesse artigo se concentra principalmente nos casos de uso de segmentação e classificação de imagens do CV.
Processamento de linguagem natural: use esta estrutura MLOps para implementar:
Reconhecimento de entidade nomeada
Classificação de texto
Geração de texto
Análise de sentimento
Tradução
Respostas às perguntas
Resumo
Detecção de sentenças
Detecção de idioma
Etiquetagem de partes do discurso
Simulações de IA, aprendizado de reforço profundo e outras formas de IA não são abordados neste artigo.
MLOps como uma área de design fundamental para cargas de trabalho de IA
O planejamento e a implementação de um MLOps e GenAIOps são uma área de design principal em cargas de trabalho de IA no Azure. Para saber por que essas cargas de trabalho de machine learning precisam de operações especializadas, consulte MLOps e GenAIOps para cargas de trabalho de IA no Azure no Azure Well-Architected Framework.
Arquitetura
O padrão de arquitetura MLOps v2 tem quatro componentes modulares,ou fases, principais do ciclo de vida do MLOps:
- Acervo de dados
- Administração e configuração
- Desenvolvimento do modelo ou fase do ciclo interno
- Implantação do modelo ou fase do loop externo
Os componentes anteriores, as conexões entre eles e as personas típicas envolvidas são padrão em todas as arquiteturas de cenário MLOps v2. Pode haver variações nos detalhes de cada um, dependendo do cenário.
A arquitetura base do MLOps v2 para Machine Learning é o cenário clássico de aprendizado de máquina para dados tabulares. As arquiteturas CV e NLP se baseiam na arquitetura inicial e depois a modificam.
O MLOps v2 abrange as seguintes arquiteturas descritas neste artigo:
- Arquitetura clássica de machine learning
- Arquitetura de CV do Machine Learning
- Arquitetura de processamento de linguagem natural do Machine Learning
Arquitetura do aprendizado de máquina clássico
Baixe um arquivo do Visio dessa arquitetura.
Fluxo de trabalho para a arquitetura do aprendizado de máquina clássico
Acervo de dados
Esse componente ilustra o patrimônio de dados da organização e as possíveis fontes e destinos de dados para um projeto de ciência de dados. Os engenheiros de dados são os principais proprietários desse componente do ciclo de vida do MLOps v2. As plataformas de dados do Azure neste diagrama não são completas nem prescritivas. Uma marca de seleção verde indica as fontes de dados e os destinos que representam as melhores práticas recomendadas com base no caso de uso do cliente.
Administração e configuração
Esse componente é a primeira etapa na implantação da solução MLOps v2. Ele consiste em todas as tarefas relacionadas à criação e gerenciamento de recursos e funções que são associadas ao projeto. Por exemplo, a equipe de infraestrutura pode:
- Crie repositórios de código-fonte do projeto.
- Use o Bicep ou o Terraform para criar workspaces do Machine Learning.
- Crie ou modifique conjuntos de dados e recursos de computação para desenvolvimento e implantação de modelos.
- Defina de usuários da equipe de projeto, suas funções e controles de acesso a outros recursos.
- Criar pipelines CI/CD.
- Crie componentes de monitoramento para coletar e criar alertas para métricas de modelo e infraestrutura.
A principal persona associada a essa fase é a equipe de infraestrutura, mas uma organização também pode contar com engenheiros de dados, engenheiros de aprendizado de máquina e cientistas de dados.
Desenvolvimento de modelo (fase de loop interno)
A fase do ciclo interno consiste em um fluxo de trabalho iterativo de ciência de dados que atua dentro de um espaço de trabalho dedicado e seguro de aprendizado de máquina. O diagrama anterior mostra um fluxo de trabalho típico. O processo começa com a ingestão de dados, passa pela análise exploratória de dados, experimentação, desenvolvimento e avaliação de modelos e, em seguida, registra um modelo para uso em produção. Esse componente modular é agnóstico e adaptável ao processo que sua equipe de ciência de dados usa para desenvolver modelos.
As personas associadas a essa fase incluem cientistas de dados e engenheiros de aprendizado de máquina.
Registros do Machine Learning
Depois que a equipe de ciência de dados desenvolve um modelo que pode ser implantado em produção, a equipe registra o modelo no registro do espaço de trabalho do Machine Learning. Os pipelines de CI que são acionados, seja automaticamente pelo registro do modelo ou pela aprovação humana no loop, promovem o modelo e quaisquer outras dependências do modelo para a fase de implantação do modelo.
Personas associadas a esse estágio normalmente são engenheiros de aprendizado de máquina.
Implantação do modelo (fase de loop externo)
A fase de implantação de modelo ou loop externo consiste no processo de preparo e teste de pré-produção, implantação de produção e monitoramento do modelo, dos dados e da infraestrutura. Quando o modelo atende aos critérios da organização e do caso de uso, os pipelines de CD promovem o modelo e os ativos relacionados por meio da produção, do monitoramento e de possível retreinamento.
Personas associadas a essa fase são principalmente engenheiros de aprendizado de máquina.
Processo de preparo e teste
A fase de preparação e teste varia de acordo com as práticas do cliente. Essa fase normalmente inclui operações como retreinamento e teste do modelo candidato em dados de produção, implantações de teste para desempenho de ponto de extremidade, verificações de qualidade de dados, testes de unidade e verificações de IA responsáveis para viés de modelo e dados. Essa fase ocorre em um ou mais workspaces dedicados e seguros do Machine Learning.
Implantação de produção
Depois que um modelo passa pela fase de preparação e teste, os engenheiros de aprendizado de máquina podem usar a aprovação humana para promovê-lo à produção. As opções de implantação de modelo incluem um ponto de extremidade em lote gerenciado para cenários em lote ou um ponto de extremidade online gerenciado ou uma implantação do Kubernetes que usa o Azure Arc para cenários online quase em tempo real. A produção costuma ocorrer em um ou mais workspaces dedicados e seguros do Machine Learning.
Monitoramento
Os engenheiros de aprendizado de máquina monitoraram componentes em preparação, teste e produção para análises detalhadas relacionadas a alterações no desempenho do modelo, dados e infraestrutura. Eles podem usar essas métricas para tomar medidas. O monitoramento de modelos e dados pode incluir a verificação do deslocamento de modelos e de dados, o desempenho do modelo em novos dados e questões de IA responsável. O monitoramento de infraestrutura pode identificar a resposta lenta do ponto de extremidade, a capacidade de computação inadequada ou problemas de rede.
Monitoramento de dados e modelos: eventos e ações
Com base em critérios relativos a modelo e dados como limites de métrica ou agendamentos, gatilhos automatizados e notificações podem implementar ações apropriadas a serem tomadas. Por exemplo, um gatilho pode retreinar um modelo para usar novos dados de produção e, em seguida, retornar o modelo para preparação e teste para uma avaliação de pré-produção. Ou um problema de modelo ou dados pode acionar uma ação que exija um loopback para a fase de desenvolvimento do modelo em que os cientistas de dados podem investigar o problema e potencialmente desenvolver um novo modelo.
Monitoramento de infraestrutura: eventos e ações
Gatilhos e notificações automatizados podem implementar ações apropriadas a serem tomadas com base em critérios de infraestrutura, como atraso de resposta de ponto de extremidade ou computação insuficiente para a implantação. Os gatilhos e notificações automáticos podem acionar um retorno para a fase de instalação e administração, em que a equipe de infraestrutura pode investigar o problema e talvez reconfigurar os recursos de computação e rede.
Arquitetura de CV do Machine Learning
Baixe um arquivo do Visio dessa arquitetura.
Fluxo de trabalho para a arquitetura de CV
A arquitetura de CV do Machine Learning baseia-se na arquitetura de aprendizado de máquina clássica, mas tem modificações que são específicas para cenários de CV supervisionados.
Acervo de dados
Esse componente demonstra o patrimônio de dados da organização e as possíveis fontes e destinos de dados para um projeto de ciência de dados. Os engenheiros de dados são os principais proprietários desse componente no ciclo de vida do MLOps v2. As plataformas de dados do Azure neste diagrama não são completas nem prescritivas. As imagens para cenários de CV podem vir de diversas fontes de dados. Para obter eficiência ao desenvolver e implantar modelos de CV com o Machine Learning, recomendamos o Armazenamento de Blobs do Azure e o Azure Data Lake Storage.
Administração e configuração
Esse componente é a primeira etapa na implantação do MLOps v2. Ele consiste em todas as tarefas relacionadas à criação e gerenciamento de recursos e funções associadas ao projeto. Para cenários de CV, a administração e a configuração do ambiente MLOps v2 são basicamente as mesmas do aprendizado de máquina clássico, mas incluem uma etapa extra. A equipe de infraestrutura usa o recurso de rotulagem do Machine Learning ou outra ferramenta para criar projetos de rotulagem e anotação de imagens.
Desenvolvimento de modelo (fase de loop interno)
A fase de loop interno consiste em um fluxo de trabalho iterativo de ciência de dados, executado em um espaço de trabalho dedicado e seguro de Aprendizado de Máquina. A principal diferença entre esse fluxo de trabalho e o cenário clássico de aprendizado de máquina é que a rotulagem e a anotação de imagem são um componente-chave desse loop de desenvolvimento.
Registros do Machine Learning
Depois que a equipe de ciência de dados desenvolve um modelo que pode ser implantado em produção, a equipe registra o modelo no registro do espaço de trabalho do Machine Learning. Os pipelines de CI que são acionados automaticamente pelo registro do modelo ou pela aprovação humana no loop promovem o modelo e quaisquer outras dependências do modelo para a fase de implantação do modelo.
Implantação do modelo (fase de loop externo)
A fase de implantação de modelo ou loop externo consiste no processo de preparo e teste de pré-produção, implantação de produção e monitoramento do modelo, dos dados e da infraestrutura. Quando o modelo atende aos critérios da organização e do caso de uso, os pipelines de CD promovem o modelo e os ativos relacionados por meio da produção, do monitoramento e de possível retreinamento.
Processo de preparo e teste
A fase de preparação e teste varia de acordo com as práticas do cliente. Essa fase normalmente inclui operações como implantações de teste para desempenho de ponto de extremidade, verificações de qualidade de dados, testes de unidade e verificações de IA responsáveis para viés de modelo e dados. Para cenários de CV, os engenheiros de aprendizado de máquina não precisam treinar novamente o modelo candidato em dados de produção devido a restrições de recursos e tempo. Em vez disso, a equipe de ciência de dados pode usar dados de produção para o desenvolvimento do modelo. O modelo candidato, registrado no loop de desenvolvimento, é avaliado para produção. Essa fase ocorre em um ou mais workspaces dedicados e seguros do Machine Learning.
Implantação de produção
Depois que um modelo passa pela fase de preparação e teste, os engenheiros de aprendizado de máquina podem usar a aprovação humana para promovê-lo à produção. As opções de implantação de modelo incluem um ponto de extremidade em lote gerenciado para cenários em lote ou um ponto de extremidade online gerenciado ou uma implantação do Kubernetes que usa o Azure Arc para cenários online quase em tempo real. A produção costuma ocorrer em um ou mais workspaces dedicados e seguros do Machine Learning.
Monitoramento
Os engenheiros de aprendizado de máquina monitoraram componentes em preparação, teste e produção para análises detalhadas relacionadas a alterações no desempenho do modelo, dados e infraestrutura. Eles podem usar essas métricas para tomar medidas. O monitoramento de modelo e de dados podem incluir a verificação do desempenho do modelo em novas imagens. O monitoramento de infraestrutura pode identificar a resposta lenta do ponto de extremidade, a capacidade de computação inadequada ou problemas de rede.
Monitoramento de dados e modelos: eventos e ações
O monitoramento de dados e de modelos e as fases de evento e ação do MLOps para processamento de linguagem natural são as principais diferenças do aprendizado de máquina clássico. O retreinamento automatizado normalmente não é feito em cenários de CV quando é detectada degradação do desempenho do modelo em novas imagens. Nesse caso, um processo com intervenção humana é necessário para revisar e anotar novas imagens para o modelo que apresenta um desempenho insatisfatório. A próxima ação costuma ser voltar ao loop de desenvolvimento do modelo para atualizar o modelo com as novas imagens.
Monitoramento de infraestrutura: eventos e ações
Gatilhos e notificações automatizados podem implementar ações apropriadas a serem tomadas com base em critérios de infraestrutura, como atraso de resposta de ponto de extremidade ou computação insuficiente para a implantação. Os gatilhos e notificações automáticos podem acionar um loopback para a fase de configuração e administração, na qual a equipe de infraestrutura pode investigar o problema e potencialmente reconfigurar os recursos de ambiente, computação e rede.
Arquitetura de processamento de linguagem natural de aprendizado de máquina
Baixe um arquivo do Visio dessa arquitetura.
Fluxo de trabalho para a arquitetura de processamento de linguagem natural
A arquitetura de processamento de linguagem natural do Machine Learning baseia-se na arquitetura de aprendizado de máquina clássico, mas tem algumas modificações que são específicos a cenários de NLP.
Acervo de dados
Esse componente demonstra o patrimônio de dados da organização e as possíveis fontes e destinos de dados para um projeto de ciência de dados. Os engenheiros de dados são os principais proprietários desse componente no ciclo de vida do MLOps v2. As plataformas de dados do Azure neste diagrama não são completas nem prescritivas. Uma marca de seleção verde indica fontes e destinos que representam as melhores práticas recomendadas com base no caso de uso do cliente.
Administração e configuração
Esse componente é a primeira etapa na implantação do MLOps v2. Ele consiste em todas as tarefas relacionadas à criação e gerenciamento de recursos e funções associadas ao projeto. Para cenários de processamento de linguagem natural, a administração e a configuração do ambiente MLOps v2 são praticamente iguais ao aprendizado de máquina clássico, mas com uma etapa extra: criar projetos de rotulagem e anotação de texto usando o recurso de rotulagem do Machine Learning ou outra ferramenta.
Desenvolvimento de modelo (fase de loop interno)
A fase de loop interno consiste em um fluxo de trabalho iterativo de ciência de dados, executado em um espaço de trabalho dedicado e seguro de Aprendizado de Máquina. O ciclo típico de desenvolvimento de modelo de PNL difere do cenário clássico de aprendizado de máquina porque as etapas típicas de desenvolvimento para esse cenário incluem anotadores para frases e tokenização, normalização e incorporações para dados de texto.
Registros do Machine Learning
Depois que a equipe de ciência de dados desenvolve um modelo que pode ser implantado em produção, a equipe registra o modelo no registro do espaço de trabalho do Machine Learning. Os pipelines de CI que são acionados automaticamente pelo registro do modelo ou pela aprovação humana no loop promovem o modelo e quaisquer outras dependências do modelo para a fase de implantação do modelo.
Implantação do modelo (fase de loop externo)
A fase de implantação de modelo ou loop externo consiste no processo de preparo e teste de pré-produção, implantação de produção e monitoramento do modelo, dos dados e da infraestrutura. Quando o modelo atende aos critérios da organização e do caso de uso, os pipelines de CD promovem o modelo e os ativos relacionados por meio da produção, do monitoramento e de possível retreinamento.
Processo de preparo e teste
A fase de preparação e teste varia de acordo com as práticas do cliente. Essa fase normalmente inclui operações como retreinamento e teste do modelo candidato em dados de produção, implantações de teste para desempenho de ponto de extremidade, verificações de qualidade de dados, testes de unidade e verificações de IA responsáveis para viés de modelo e dados. Essa fase ocorre em um ou mais workspaces dedicados e seguros do Machine Learning.
Implantação de produção
Depois que um modelo passa pela fase de preparação e teste, os engenheiros de aprendizado de máquina podem usar a aprovação humana para promovê-lo à produção. As opções de implantação de modelo incluem um ponto de extremidade em lote gerenciado para cenários em lote ou um ponto de extremidade online gerenciado ou uma implantação do Kubernetes que usa o Azure Arc para cenários online quase em tempo real. A produção costuma ocorrer em um ou mais workspaces dedicados e seguros do Machine Learning.
Monitoramento
Os engenheiros de aprendizado de máquina monitoraram componentes em preparação, teste e produção para análises detalhadas relacionadas a alterações no desempenho do modelo, dados e infraestrutura. Eles podem usar essas métricas para tomar medidas. O monitoramento de modelos e dados pode incluir a verificação de desvio de modelos e de dados, do desempenho do modelo em novos dados de texto e de problemas relacionados à IA responsável. O monitoramento de infraestrutura pode identificar problemas como resposta lenta de ponto de extremidade, capacidade de computação inadequada e problemas de rede.
Monitoramento de dados e modelos: eventos e ações
Assim como acontece com a arquitetura de CV, o monitoramento de dados e de modelos e as fases de eventos e ações de MLOps para processamento de linguagem natural são as principais diferenças do aprendizado de máquina clássico. O retreinamento automatizado normalmente não é feito em cenários de processamento de linguagem natural quando uma degradação do desempenho do modelo em um novo texto é detectada. Nesse caso, é necessário um processo humano para revisar e anotar novos dados de texto para o modelo que apresenta baixo desempenho. Geralmente, a próxima ação é voltar ao loop de desenvolvimento do modelo para atualizar o modelo com os novos dados de texto.
Monitoramento de infraestrutura: eventos e ações
Gatilhos e notificações automatizados podem implementar ações apropriadas a serem tomadas com base em critérios de infraestrutura, como atraso de resposta de ponto de extremidade ou computação insuficiente para a implantação. Os gatilhos e notificações automáticos podem iniciar um retorno para a fase de instalação e administração, na qual a equipe de infraestrutura pode investigar o problema e, possivelmente, reconfigurar os recursos de computação e rede.
Componentes
O Machine Learning é um serviço de nuvem que você pode usar para treinar, pontuar, implantar e gerenciar modelos de machine learning em escala.
O Azure Pipelines é um sistema de build e teste baseado no Azure DevOps e é usado para pipelines de build e lançamento. O Azure Pipelines divide esses pipelines em etapas lógicas chamadas tarefas.
O GitHub é uma plataforma de hospedagem de código para controle de versão, colaboração e fluxos de trabalho de CI/CD.
O Azure Arc é uma plataforma que usa o Azure Resource Manager para gerenciar recursos do Azure e recursos locais. Os recursos podem incluir máquinas virtuais, clusters do Kubernetes e bancos de dados.
O Kubernetes é um sistema de software livre que você pode usar para automatizar a implantação, o dimensionamento e o gerenciamento de aplicativos em contêineres.
O Azure Data Lake Storage é um sistema de arquivos compatível com Hadoop. Ele tem um namespace hierárquico integrado e a escala e economia massivas do Blob Storage.
O Azure Synapse Analytics é um serviço de análise ilimitado que reúne integração de dados, armazenamento de dados corporativos e análise de Big Data.
Os Hubs de Eventos do Azure são um serviço que ingere fluxos de dados gerados por aplicativos cliente. Depois, ele ingere e armazena os dados de streaming, o que preserva a sequência de eventos recebidos. Os consumidores podem se conectar aos pontos de extremidade do hub para recuperar mensagens para processamento. Essa arquitetura usa a integração do Data Lake Storage.
Outras considerações
O padrão de arquitetura MLOps v2 anterior tem vários componentes críticos, incluindo RBAC (controle de acesso baseado em função) que se alinha com as partes interessadas de negócios, gerenciamento eficiente de pacotes e mecanismos de monitoramento robustos. Esses componentes contribuem coletivamente para a implementação e o gerenciamento bem-sucedidos de fluxos de trabalho de aprendizado de máquina.
RBAC baseado em persona
É crucial que você gerencie o acesso a dados e recursos de aprendizado de máquina. O RBAC fornece uma estrutura robusta para ajudar você a gerenciar quem pode executar ações específicas e acessar áreas específicas em sua solução. Projete sua estratégia de segmentação de identidade para que se alinhe ao ciclo de vida dos modelos de aprendizado de máquina no Machine Learning e às personas incluídas no processo. Cada persona tem um conjunto específico de responsabilidades que são refletidas em suas funções no RBAC e na participação no grupo.
Personas de exemplo
Para dar suporte à segmentação apropriada em uma carga de trabalho de aprendizado de máquina, considere as seguintes personas comuns que informam o design do grupo RBAC baseado em identidade.
Cientista de dados e engenheiro de aprendizado de máquina
Cientistas de dados e engenheiros de aprendizado de máquina executam várias atividades de aprendizado de máquina e ciência de dados em todo o ciclo de vida de desenvolvimento de software de um projeto. Suas funções incluem análise exploratória de dados e pré-processamento de dados. Cientistas de dados e engenheiros de aprendizado de máquina são responsáveis por treinar, avaliar e implantar modelos. As responsabilidades dessas funções também incluem atividades de reparo para modelos, pacotes e dados de aprendizado de máquina. Essas funções estão fora do escopo da equipe de suporte técnico da plataforma.
Tipo: Pessoa
Específico do projeto: Sim
Analista de dados
Os analistas de dados fornecem a entrada necessária para atividades de ciência de dados, como a execução de consultas SQL para business intelligence. As responsabilidades dessa função incluem trabalhar com dados, realizar análises de dados e apoiar o desenvolvimento e a implantação de modelos.
Tipo: Pessoa
Específico do projeto: Sim
Testador de modelo
Os testadores de modelo realizam testes em ambientes de teste e preparo. Essa função fornece segregação funcional dos processos de CI/CD.
Tipo: Pessoa
Específico do projeto: Sim
Partes interessadas de negócios
As partes interessadas de negócios estão associadas ao projeto, como um gerente de marketing.
Tipo: Pessoa
Específico do projeto: Sim
Líder de projeto ou líder de ciência de dados
O líder de ciência de dados é uma função de administração de projeto para o ambiente de trabalho de aprendizado de máquina. Essa função também faz atividades de reparo para os modelos e pacotes de aprendizado de máquina.
Tipo: Pessoa
Específico do projeto: Sim
Proprietário do projeto ou produto (proprietário da empresa)
As partes interessadas do negócio são responsáveis pelo espaço de trabalho de Azure Machine Learning de acordo com a propriedade dos dados.
Tipo: Pessoa
Específico do projeto: Sim
Suporte técnico da plataforma
O suporte técnico da plataforma é a equipe de suporte técnico responsável pelas atividades de reparo em toda a plataforma. Essa função abrange a infraestrutura ou o serviço, mas não os modelos, pacotes ou dados de aprendizado de máquina. Esses componentes permanecem sob a função de cientista de dados ou engenheiro de aprendizado de máquina e são de responsabilidade do líder do projeto.
Tipo: Pessoa
Específico do projeto: Não
Usuário final do modelo
Os usuários finais do modelo são os consumidores finais do modelo de aprendizado de máquina.
Tipo: Pessoa ou Processo
Específico do projeto: Sim
Processos de CI/CD
Os processos de CI/CD liberam ou revertem alterações em ambientes de plataforma.
Tipo: Processo
Específico do projeto: Não
Espaço de Trabalho de Aprendizado de Máquina
Os workspaces do Machine Learning usam identidades gerenciadas para interagir com outras partes do Azure. Essa persona representa os vários serviços que compõem uma implementação do Machine Learning. Esses serviços interagem com outras partes da plataforma, como o espaço de trabalho de desenvolvimento que se conecta ao repositório de dados de desenvolvimento.
Tipo: Processo
Específico do projeto: Não
Processos de monitoramento
Os processos de monitoramento são processos de computação que monitoram e alertam com base nas atividades da plataforma.
Tipo: Processo
Específico do projeto: Não
Processos de governança de dados
Os processos de governança de dados examinam o projeto de aprendizado de máquina e os armazenamentos de dados em busca de governança de dados.
Tipo: Processo
Específico do projeto: Não
Associação ao grupo Microsoft Entra
Quando você implementa o RBAC, os grupos do Microsoft Entra fornecem uma maneira flexível e escalonável de gerenciar permissões de acesso em diferentes personas. Você pode usar grupos do Microsoft Entra para gerenciar os usuários que precisam do mesmo acesso e das mesmas permissões para recursos, como aplicativos e serviços potencialmente restritos. Em vez de adicionar permissões especiais para usuários individuais, crie um grupo que as aplica a todos os membros.
Nesse padrão de arquitetura, você pode integrar esses grupos com uma configuração de espaço de trabalho do Machine Learning, como um projeto, uma equipe ou um departamento. Você pode associar usuários a grupos específicos para definir políticas de acesso refinadas. As políticas concedem ou restringem permissões a vários workspaces do Machine Learning com base em funções de trabalho, requisitos de projeto ou outros critérios. Por exemplo, você pode ter um grupo que concede a todos os cientistas de dados acesso a um workspace de desenvolvimento para um caso de uso específico.
RBAC de identidade
Considere a forma como você pode usar as seguintes funções RBAC internas do Azure para aplicar o RBAC a ambientes de produção e pré-produção. Para a arquitetura neste artigo, os ambientes de produção incluem ambientes de preparo, teste e produção. Os ambientes de pré-produção incluem ambientes de desenvolvimento. As funções RBAC a seguir são baseadas nas personas descritas anteriormente neste artigo.
Funções padrão
- R = Leitor
- C = Colaborador
- O = Proprietário
Funções específicas do componente
AcrPush = Push do Registro de Contêiner do Azure
LAR = Leitor de Log Analytics
KVR = Leitor de Key Vault
Essas abreviações de função RBAC do Azure correspondem às tabelas a seguir.
Ambiente de produção
Personagem | Espaço de Trabalho de Aprendizado de Máquina | Cofre de Chaves do Azure | Registro de Contêiner | Conta do Armazenamento do Azure | Azure DevOps | Artefatos do Azure | Espaço de Trabalho do Log Analytics | Azure Monitor |
---|---|---|---|---|---|---|---|---|
Cientista de dados | R | LAR | SR | |||||
Analista de dados | ||||||||
Testador de modelo | ||||||||
Partes interessadas de negócios | SR | |||||||
Líder de projeto (líder de ciência de dados) | R | R, KVR | R | LAR | SR | |||
Proprietário do projeto/produto | SR | |||||||
Suporte técnico da plataforma | O | Olá, KVA | DOPCA | O | O | O | ||
Usuário final do modelo | ||||||||
Processos de CI/CD | O | Olá, KVA | AcrPush | DOPCA | O | O | O | |
Espaço de Trabalho de Aprendizado de Máquina | R | C | C | |||||
Processos de monitoramento | R | LAR | SR | |||||
Processos de governança de dados | R | R | R | R | R |
Ambiente de pré-produção
Personagem | Espaço de Trabalho de Aprendizado de Máquina | Key Vault (cofre de chaves) | Registro de Contêiner | Conta de armazenamento | Azure DevOps | Artefatos do Azure | Espaço de Trabalho do Log Analytics | Azure Monitor |
---|---|---|---|---|---|---|---|---|
Cientista de dados | ANÚNCIOS | R, KVA | C | C | C | C | LACA | MC |
Analista de dados | R | C | LAR | MC | ||||
Testador de modelo | R | R, KVR | R | R | R | R | LAR | SR |
Partes interessadas de negócios | R | R | R | R | R | |||
Líder de projeto (líder de ciência de dados) | C | C, KVA | C | C | C | C | LACA | MC |
Proprietário do projeto/produto | R | R | SR | |||||
Suporte técnico da plataforma | O | Olá, KVA | O | O | DOPCA | O | O | O |
Usuário final do modelo | ||||||||
Processos de CI/CD | O | Olá, KVA | AcrPush | O | DOPCA | O | O | O |
Espaço de Trabalho de Aprendizado de Máquina | R, KVR | C | C | |||||
Processos de monitoramento | R | R | R | R | R | R | LACA | |
Processos de governança de dados | R | R | R |
Observação
Cada pessoa mantém o acesso por toda a duração do projeto, exceto o suporte técnico da plataforma, que tem acesso temporário ou just-in-time ao Microsoft Enterprise Privileged Identity Management (PIM).
O RBAC desempenha um papel fundamental na proteção e simplificação dos fluxos de trabalho de MLOps. O RBAC restringe o acesso com base nas funções atribuídas e impede que usuários não autorizados acessem dados confidenciais, o que reduz os riscos de segurança. Dados sensíveis incluem dados de treinamento ou modelos e infraestrutura crítica, como sistemas de produção. Você pode usar o RBAC para garantir a conformidade com os regulamentos de privacidade de dados. O RBAC também fornece um registro claro de acesso e permissões, o que simplifica a auditoria, facilita a identificação de falhas de segurança e rastreia a atividade do usuário.
Gerenciamento de pacotes
Dependências em vários pacotes, bibliotecas e binários são comuns em todo o ciclo de vida do MLOps. Essas dependências, que muitas vezes desenvolvidas pela comunidade e estão evoluindo rapidamente, exigem conhecimento especializado no assunto para uso e compreensão adequados. Você deve garantir que as pessoas adequadas tenham acesso seguro a vários ativos, como pacotes e bibliotecas, mas também deve evitar vulnerabilidades. Os cientistas de dados encontram esse problema quando montam blocos de construção especializados para soluções de aprendizado de máquina. As abordagens tradicionais de gerenciamento de software são caras e ineficientes. Outras abordagens fornecem mais valor.
Para gerenciar essas dependências, você pode usar um processo de gerenciamento de pacotes seguro e de autoatendimento baseado no padrão de quarentena. Você pode projetar esse processo para permitir que os cientistas de dados façam o autoatendimento a partir de uma lista coletada de pacotes e garantir que os pacotes sejam seguros e compatíveis com os padrões organizacionais.
Essa abordagem inclui a adição de três repositórios de pacotes de aprendizado de máquina padrão do setor à lista de segurança: Microsoft Artifact Registry, Python Package Index (PyPI) e Conda. A listagem segura permite o autoatendimento de espaços de trabalho individuais de Azure Machine Learning. Em seguida, use um processo de teste automatizado durante a implantação para examinar os contêineres de solução resultantes. As falhas saem elegantemente do processo de implementação e removem o contêiner. O diagrama e o fluxo do processo a seguir demonstram esse processo:
Fluxo do processo
Os cientistas de dados que trabalham em um espaço de trabalho de Aprendizado de Máquina com uma configuração de rede podem autogerenciar pacotes de aprendizado de máquina sob demanda dos repositórios de pacotes de aprendizado de máquina. Um processo de exceção é necessário para todo o resto usando o padrão de armazenamento privado , que é semeado e mantido usando uma função centralizada.
O Machine Learning oferece soluções de aprendizado de máquina como contêineres do Docker. À medida que essas soluções são desenvolvidas, elas são carregadas no Registro de Contêiner. O Microsoft Defender para Contêineres gera avaliações de vulnerabilidade para a imagem de contêiner.
A implantação da solução ocorre por meio de um processo de CI/CD. O Microsoft Defender para DevOps é usado em toda a infraestrutura para fornecer gerenciamento de postura de segurança e proteção contra ameaças.
O contêiner de solução será implantado somente se passar por cada um dos processos de segurança. Se o contêiner da solução não passar em um processo de segurança, a implantação falhará, gerando notificações de erro e registros completos de auditoria. O recipiente de solução é descartado.
O fluxo de processo anterior fornece um processo de gerenciamento de pacotes seguro e de autoatendimento para cientistas de dados e garante que os pacotes sejam seguros e compatíveis com os padrões organizacionais. Para equilibrar inovação e segurança, você pode conceder aos cientistas de dados acesso de autoatendimento a pacotes, bibliotecas e binários comuns de aprendizado de máquina em ambientes de pré-produção. Exija exceções para pacotes menos comuns. Essa estratégia garante que os cientistas de dados possam permanecer produtivos durante o desenvolvimento, o que evita um grande gargalo durante a entrega.
Para simplificar seus processos de lançamento, conteinerize ambientes para uso em ambientes de produção. Os ambientes em contêineres reduzem o trabalho árduo e garantem a segurança contínua por meio da verificação de vulnerabilidades. Esse fluxo de processo proporciona uma abordagem repetível que você pode usar em todos os casos de uso até o momento da entrega. Ele reduz o custo geral para criar e implantar soluções de aprendizado de máquina na sua empresa.
Monitoramento
No MLOps, o monitoramento é crucial para manter a integridade e o desempenho dos sistemas de aprendizado de máquina e garantir que os modelos permaneçam eficazes e alinhados com as metas de negócios. O monitoramento oferece suporte a controles de governança, segurança e custo durante a fase de loop interno. E fornece observabilidade no desempenho, degradação do modelo e uso ao implantar soluções durante a fase de loop externo. As atividades de monitoramento são relevantes para personas como cientistas de dados, stakeholders de negócios, líderes de projeto, proprietários de projetos, suporte técnico de plataforma, processos de CI/CD e processos de monitoramento.
Escolha sua plataforma de monitoramento e verificação dependendo da configuração do workspace do Machine Learning, como um projeto, uma equipe ou um departamento.
Desempenho do modelo
Monitore o desempenho do modelo para detectar problemas de modelo e degradação de desempenho antecipadamente. Acompanhe o desempenho para garantir que os modelos permaneçam precisos, confiáveis e alinhados com os objetivos de negócios.
Descompasso de dados
O descompasso de dados acompanha as alterações na distribuição dos dados de entrada de um modelo comparando-os aos dados de treinamento do modelo ou aos dados de produção anteriores recentes. Essas alterações são resultado de mudanças na dinâmica do mercado, alterações de transformação de recursos ou alterações de dados upstream. Essas alterações podem degradar o desempenho do modelo, portanto, é importante monitorar o descompasso para garantir a correção oportuna. Para realizar uma comparação, a refatoração de desvio de dados requer conjuntos de dados de produção e saídas recentes.
Ambiente: Produção
Facilitação do Azure: Machine Learning – Monitoramento de modelos
Descompasso de previsão
O desvio de previsão rastreia mudanças na distribuição das saídas de previsão de um modelo comparando-as com dados de validação, rotulados em testes ou de produção recente. Para realizar uma comparação, a refatoração de desvio de dados requer conjuntos de dados de produção e saídas recentes.
Ambiente: Produção
Facilitação do Azure: Machine Learning – Monitoramento de modelos
Recurso
Use vários modelos que atendem a métricas de ponto de extremidade para indicar qualidade e desempenho, como uso de CPU ou memória. Essa abordagem ajuda você a aprender com a produção para ajudar a impulsionar investimentos ou mudanças futuras.
Ambiente: Todo
Facilitação do Azure: Monitorar – Métricas de pontos de extremidade online
Métricas de uso
Monitore o uso de endpoints para garantir que você cumpra os indicadores chave de desempenho específicos da organização ou da carga de trabalho, rastreie os padrões de uso e diagnostique e solucione os problemas que seus usuários enfrentam.
Solicitações de cliente
Acompanhe o número de solicitações de cliente para o ponto de extremidade do modelo para entender o perfil de uso ativo dos pontos de extremidade, o que pode afetar os esforços de dimensionamento ou otimização de custos.
Ambiente: Produção
Facilitação do Azure: Monitorar - Métricas de pontos de extremidade online, como RequestsPerMinute.
Anotações:
- Você pode alinhar limites aceitáveis ao tamanho da camiseta ou anomalias que sejam adaptados às necessidades da sua carga de trabalho.
- Retire os modelos que não estão mais em uso da produção.
Atrasos de limitação
Atrasos de limitação são lentidões na solicitação e na resposta de transferências de dados. A limitação ocorre no nível do Azure Resource Manager e no nível de serviço. Acompanhe as métricas em ambos os níveis.
Ambiente: Produção
Facilitação do Azure:
- Monitorar - Resource Manager, soma de RequestThrottlingDelayMs, ResponseThrottlingDelayMs.
- Machine Learning – Para verificar informações sobre as solicitações de seus pontos de extremidade, você pode habilitar logs de tráfego de ponto de extremidade online. Você pode usar um espaço de trabalho do Log Analytics para processar logs.
Anotações: Alinhe os limites aceitáveis aos SLOs (objetivos de nível de serviço) da carga de trabalho ou aos SLAs (contratos de nível de serviço) e aos requisitos não funcionais (NFRs) da solução.
Erros gerados
Acompanhe erros de código de resposta para ajudar a medir a confiabilidade do serviço e garantir a detecção precoce de problemas de serviço. Por exemplo, um aumento repentino em 500 respostas de erro do servidor pode indicar um problema crítico que requer atenção imediata.
Ambiente: Produção
Facilitação do Azure: Machine Learning - Habilite logs de tráfego de ponto de extremidade online para verificar informações sobre sua solicitação. Por exemplo, você pode verificar a contagem de XRequestId usando ModelStatusCode ou ModelStatusReason. Você pode usar um espaço de trabalho do Log Analytics para processar logs.
Anotações:
- Todos os códigos de respostas HTTP no intervalo 400 e 500 são classificados como um erro.
Otimização de custo
O gerenciamento e a otimização de custos em um ambiente de nuvem são cruciais porque eles ajudam as cargas de trabalho a controlar despesas, alocar recursos com eficiência e maximizar o valor de seus serviços em nuvem.
Computação de ambiente de trabalho
Quando as despesas operacionais mensais atingirem ou excederem um valor predefinido, gere alertas para notificar os stakeholders relevantes, como líderes ou proprietários do projeto, com base nos limites de configuração do workspace. Você pode determinar a configuração do workspace com base nos limites relacionados ao projeto, à equipe ou ao departamento.
Ambiente: Todo
Facilitação do Azure: Gerenciamento de Custos da Microsoft – Alertas de orçamento
Anotações:
- Defina limites de orçamento com base nos NFRs iniciais e nas estimativas de custo.
- Use vários níveis de limite. Vários níveis de limite garantem que os stakeholders recebam o aviso apropriado antes que o orçamento seja excedido. Esses stakeholders podem incluir líderes de negócios, proprietários de projetos ou líderes de projetos, dependendo da organização ou carga de trabalho.
- Alertas de orçamento consistentes também podem ser um gatilho para a refatoração para melhor suportar uma demanda maior.
Obsoletismo do espaço de trabalho
Se um workspace do Machine Learning não mostrar sinais de uso ativo com base no uso de computação associado para o caso de uso pretendido, um proprietário do projeto poderá descontinuar o workspace se ele não for mais necessário para um determinado projeto.
Ambiente: Pré-produção
Facilitação do Azure:
- Monitor – Métricas do Machine Learning
- Machine Learning — Métricas do espaço de trabalho, como a contagem de núcleos ativos ao longo de um período de tempo
Anotações:
- Os núcleos ativos devem ser iguais a zero com agregação de contagem.
- Alinhe os limites de data ao cronograma do projeto.
Segurança
Monitore para detectar desvios dos controles de segurança e linhas de base apropriados para garantir que os workspaces do Machine Learning estejam em conformidade com as políticas de segurança da sua organização. Você pode usar uma combinação de políticas predefinidas e personalizadas.
Ambiente: Todo
Facilitação do Azure:Azure Policy para Machine Learning
Segurança do ponto de extremidade
Para obter visibilidade das APIs críticas para os negócios, implemente o monitoramento de segurança focado em todos os endpoints de Aprendizado de Máquina. Você pode investigar e melhorar sua postura de segurança da API, priorizar correções de vulnerabilidade e detectar rapidamente ameaças ativas em tempo real.
Ambiente: Produção
Facilitação do Azure: o Microsoft Defender para APIs oferece ampla proteção ao longo do ciclo de vida, detecção e capacidade de resposta para APIs.
Anotações: O Defender para APIs fornece segurança para APIs publicadas no Gerenciamento de API do Azure. Você pode fazer a integração do Defender para APIs no portal do Microsoft Defender para Nuvem ou na instância do Gerenciamento de API no portal do Azure. É necessário integrar os endpoints online de Machine Learning à gestão de API.
Monitoramento da implantação
O monitoramento de implantação garante que todos os pontos de extremidade criados estejam em conformidade com suas políticas de carga de trabalho ou organização e livres de vulnerabilidades. Esse processo requer que você imponha políticas de conformidade em seus recursos do Azure antes e depois da implantação, forneça segurança contínua por meio da verificação de vulnerabilidades e garanta que o serviço atenda aos SLOs durante a operação.
Padrões e governança
Monitore para detectar desvios dos padrões adequados e garantir que sua carga de trabalho esteja em conformidade com os limites.
Ambiente: Todo
Facilitação do Azure:
- Atribuição de política gerenciada e ciclo de vida por meio do Azure Pipelines para tratar a política como código.
- O PSRule para Azure fornece uma estrutura de teste para a infraestrutura do Azure como código.
- Você pode usar a política do Azure Enterprise como código em políticas de implantação de sistema baseadas em CI/CD, conjuntos de políticas, atribuições, isenções de política e atribuições de função.
Anotações: Para obter mais informações, consulte as diretrizes do Azure para conformidade regulatória do Machine Learning.
Verificação de segurança
Implemente verificações de segurança automatizadas como parte dos processos automatizados de integração e implantação.
Ambiente: Todo
Facilitação do Azure:Defender para DevOps
Anotações: Você pode usar aplicativos no Azure Marketplace para estender esse processo para módulos de teste de segurança que não são da Microsoft.
Serviço contínuo
Monitore o serviço contínuo de uma API em termos de otimização de desempenho, segurança e uso de recursos. Garanta a detecção de erros em tempo hábil, a solução de problemas eficiente e a conformidade com os padrões.
Ambiente: Produção
Facilitação do Azure:
- Monitor – Métricas do Machine Learning
- Azure Machine Learning - Você pode habilitar logs de tráfego de ponto de extremidade online para verificar informações sobre seu serviço.
Colaboradores
Esse artigo é mantido pela Microsoft. Ele foi originalmente escrito pelos colaboradores a seguir.
Autor principal:
- Setu Chokshi | Especialista Técnico Sênior
Outros colaboradores:
- Scott Mckinnon | Arquiteto de Soluções na Nuvem
- Darren Turchiarelli | Arquiteto de Soluções na Nuvem
- Leo Kozhushnik | Arquiteto de Soluções na Nuvem
Para ver perfis não públicos do LinkedIn, entre no LinkedIn.
Próximas etapas
- O que é o Azure Pipelines?
- Visão geral do Azure Arc
- O que é Machine Learning?
- Dados no Machine Learning
- Repositório GitHub do Azure MLOps v2
- MLOps (operações de aprendizado de máquina) de ponta a ponta com o Azure Machine Learning
- Introdução ao Azure Data Lake Storage Gen2
- Documentação do Azure DevOps
- Documentos do GitHub
- Documentação do Synapse Analytics
- Documentação dos Hubs de Eventos
- Como o Machine Learning funciona: recursos e ativos (v2)
- O que são pipelines do Machine Learning?