Organizar e configurar ambientes do Azure Machine Learning

Quando você está planejando uma implantação do Aprendizado de Máquina do Azure para um ambiente corporativo, há alguns pontos de decisão comuns que afetam como você cria o espaço de trabalho:

  • Estrutura da equipe: a maneira como você organiza suas equipes de ciência de dados e colabora em projetos, considerando casos de uso e segregação de dados ou requisitos de gerenciamento de custos
  • Ambientes: os ambientes que você usa como parte do fluxo de trabalho de desenvolvimento e lançamento para segregar o desenvolvimento da produção
  • Região: o local dos dados e o público para o qual você precisa atender sua solução de aprendizado de máquina

Estrutura da equipe e configuração do workspace

O workspace é um recurso de alto nível no Azure Machine Learning. Ele armazena os artefatos que são produzidos ao trabalhar com aprendizado de máquina e a computação gerenciada e ponteiros para recursos anexados e associados. Do ponto de vista da capacidade de gerenciamento, o espaço de trabalho como um recurso do Gerenciador de Recursos do Azure dá suporte ao controle de acesso baseado em função do Azure (RBAC do Azure), ao gerenciamento por Política e você pode usá-lo como uma unidade para relatórios de custos.

As organizações normalmente escolhem um ou uma combinação dos seguintes padrões de solução para seguir os requisitos de capacidade de gerenciamento.

Espaço de trabalho por equipe: use um espaço de trabalho para cada equipe quando todos os membros de uma equipe exigirem o mesmo nível de acesso a dados e ativos de experimentação. Por exemplo, uma organização com três equipes de machine learning pode criar três workspaces, um para cada equipe.

A vantagem de usar um espaço de trabalho por equipe é que todos os artefatos de aprendizado de máquina para os projetos da equipe são armazenados em um só lugar. Você pode ver aumentos de produtividade porque os membros da equipe podem acessar, explorar e reutilizar facilmente os resultados da experimentação. A organização de workspaces por equipe reduz o volume do Azure e simplifica o gerenciamento de custos por equipe. Como o número de ativos de experimentação pode crescer rapidamente, você pode manter seus artefatos organizados seguindo as convenções de nomenclatura e marcação. Para obter recomendações sobre como nomear recursos, confira Desenvolver sua estratégia de nomenclatura e marcação de recursos do Azure.

Com essa abordagem, cada membro da equipe deve ter permissões de nível de acesso a dados semelhantes. O RBAC (controle de acesso baseado em função) granular e as listas de controle de acesso (ACL) para fontes de dados e ativos de experimentação são limitados em um espaço de trabalho. Não é possível ter requisitos de segregação de dados de caso de uso.

Espaço de trabalho por projeto: use um espaço de trabalho para cada projeto se você precisar de segregação de dados e ativos de experimentação por projeto ou tiver requisitos de relatório de custos e orçamento em um nível de projeto. Por exemplo, você pode ter uma organização com quatro equipes de aprendizado de máquina que executam três projetos cada para um total de 12 instâncias de espaço de trabalho.

A vantagem de usar um espaço de trabalho por projeto é que você gerencia os custos no nível do projeto. Uma equipe normalmente cria um grupo de recursos dedicado para o Aprendizado de Máquina do Azure e recursos associados por motivos semelhantes. Quando você trabalha com colaboradores externos, por exemplo, um workspace centralizado em projeto simplifica a colaboração porque os usuários externos só precisam ter acesso aos recursos do projeto, não aos recursos da equipe.

Algo a considerar com essa abordagem é o isolamento dos resultados e ativos da experimentação. A descoberta e a reutilização de ativos podem ser mais difíceis porque os ativos estão espalhados por várias instâncias de espaço de trabalho.

Espaço de trabalho único: use um espaço de trabalho para trabalhos não relacionados à equipe ou ao projeto, ou quando os custos não puderem ser associados diretamente a uma unidade específica de faturamento, por exemplo, com P&D.

O benefício dessa configuração é que o custo do trabalho individual e não relacionado ao projeto pode ser dissociado dos custos relacionados ao projeto. Ao configurar um único workspace para que todos os usuários trabalhem individualmente, você reduz o volume do Azure.

Com essa abordagem, o espaço de trabalho pode ficar confuso rapidamente quando muitos profissionais de aprendizado de máquina compartilham a mesma instância. Os usuários podem exigir filtragem baseada em interface do usuário de ativos para encontrar recursos com eficiência. Você pode criar espaços de trabalho de aprendizado de máquina compartilhados para cada divisão de negócios para mitigar preocupações de escala ou para segmentar orçamentos.

Ambientes e configuração do workspace

Ambiente é uma coleção de recursos de que as implantações precisam de acordo com o estágio do ciclo de vida do aplicativo. Exemplos comuns de nomes de ambiente são Desenvolvimento, Teste, Garantia de qualidade, Preparo e Produção.

O processo de desenvolvimento da organização afeta os requisitos de uso do ambiente. Seu ambiente afeta a configuração do Aprendizado de Máquina do Azure e os recursos associados, como computação anexada. Por exemplo, a disponibilidade de dados pode restringir a capacidade de gerenciamento de ter uma instância de aprendizado de máquina disponível para cada ambiente. Os seguintes padrões de solução são comuns:

Implantação de espaço de trabalho de ambiente único: quando você escolhe uma implantação de espaço de trabalho de ambiente único, o Aprendizado de Máquina do Azure é implantado em um ambiente. Essa configuração é comum para cenários centrados em pesquisa, onde não há necessidade de liberar artefatos de aprendizado de máquina com base em seu estágio de ciclo de vida, em todos os ambientes. Outro cenário em que essa configuração faz sentido é quando apenas serviços de inferência, e não pipelines de aprendizado de máquina, são implantados em ambientes.

O benefício de uma configuração focada em pesquisa é um volume menor do Azure e uma sobrecarga mínima de gerenciamento. Nessa abordagem de trabalho, não é necessário ter um workspace do Azure Machine Learning implantado em cada ambiente.

Com essa abordagem, uma implantação de ambiente único está sujeita à disponibilidade de dados. Portanto, seja cauteloso ao configurar seu armazenamento de dados. Se você configura o acesso extensivo, como o acesso de autor em fontes de dados de produção, pode prejudicar involuntariamente a qualidade dos dados. Se você levar o trabalho para a produção no mesmo ambiente em que o desenvolvimento acontece, as mesmas restrições do RBAC se aplicam tanto para o trabalho de desenvolvimento quanto para o trabalho de produção. Essa configuração pode tornar ambos os ambientes muito rígidos ou muito flexíveis.

Diagram of a single environment workspace deployment in Azure Machine Learning.

Implantação de espaço de trabalho de vários ambientes: quando você escolhe uma implantação de espaço de trabalho de vários ambientes , uma instância de espaço de trabalho é implantada para cada ambiente. Um cenário comum para essa configuração é um local de trabalho regulamentado com uma clara separação de tarefas entre ambientes e de usuários que têm acesso aos recursos desses ambientes.

Os benefícios dessa configuração são:

  • Implantação em etapas de fluxos de trabalho e artefatos de aprendizado de máquina. Por exemplo, modelos entre ambientes, com o potencial de aumentar a agilidade e reduzir o tempo de implantação.
  • Segurança e controle aprimorados de recursos porque você pode atribuir mais restrições de acesso em ambientes downstream.
  • Cenários de treinamento de dados de produção em ambientes que não sejam de desenvolvimento porque você pode conceder acesso a um grupo de usuários selecionados.

Com essa abordagem, você corre o risco de obter mais gerenciamento e sobrecarga de processos. Essa configuração requer um processo refinado de desenvolvimento e distribuição para artefatos de aprendizado de máquina em instâncias de espaço de trabalho. Além disso, o gerenciamento de dados e o esforço de engenharia podem ser necessários para disponibilizar dados de produção para treinamento no ambiente de desenvolvimento. O gerenciamento de acesso exige que você conceda a uma equipe acesso para resolver e investigar incidentes na produção. E, finalmente, sua equipe precisa do Azure DevOps e da experiência em engenharia de aprendizado de máquina para implementar fluxos de trabalho de automação.

Diagram of a multiple environment workspace deployment in Azure Machine Learning.

Um ambiente com acesso limitado a dados, outro com acesso a dados de produção: quando você escolhe essa configuração, o Aprendizado de Máquina do Azure é implantado em dois ambientes: um com acesso limitado a dados e outro com acesso a dados de produção. Essa configuração é comum se você precisar separar ambientes de desenvolvimento e produção. Por exemplo, você pode estar trabalhando sob restrições organizacionais para disponibilizar dados de produção em todos os ambientes, ou pode querer separar o trabalho de desenvolvimento do trabalho de produção sem duplicar os dados mais do que o necessário devido ao alto custo de manutenção.

O benefício dessa configuração é a clara separação de tarefas e acesso entre os ambientes de desenvolvimento e produção. Outro benefício é a menor sobrecarga de gerenciamento de recursos em comparação com um cenário de implantação de vários ambientes.

Com essa abordagem, você precisa de um processo definido de desenvolvimento e distribuição para artefatos de aprendizado de máquina em espaços de trabalho. Além disso, pode exigir gerenciamento de dados e esforço de engenharia para disponibilizar dados de produção para treinamento em um ambiente de desenvolvimento. Mas essa abordagem pode exigir relativamente menos esforço do que uma implantação de espaço de trabalho em vários ambientes.

Diagram of an environment with limited data access, and an environment with production data access.

Configuração de regiões e recursos

O local de seus recursos, dados ou usuários pode exigir que você crie instâncias de workspace do Azure Machine Learning e recursos associados em várias regiões do Azure. Por exemplo, um projeto pode distribuir recursos nas regiões do Azure Oeste da Europa e Leste dos EUA em razão de desempenho, custo e conformidade. Os cenários a seguir são comuns:

Treinamento regional: os trabalhos de treinamento de Machine Learning são executados na mesma região do Azure onde os dados estão localizados. Nessa configuração, um espaço de trabalho de aprendizado de máquina é implantado em cada região do Azure onde os dados estão localizados. Esse cenário é comum quando você precisa atender à conformidade ou quando há restrições de movimentação de dados entre regiões.

O benefício dessa configuração é que você pode fazer experimentos no data center onde os dados estão localizados com a menor latência de rede. Com essa abordagem, quando um pipeline de aprendizado de máquina é executado em várias instâncias de espaço de trabalho, ele adiciona mais complexidade de gerenciamento. Comparar os resultados da experimentação entre as instâncias torna-se um desafio, e o gerenciamento de cota e computação fica sobrecarregado.

Se você quiser anexar o armazenamento em todas as regiões, mas usando computação de uma única região, o Azure Machine Learning tem suporte para o cenário de anexação de contas de armazenamento em uma região em vez do workspace. Os metadados, por exemplo, métricas, são armazenados na região do espaço de trabalho.

Diagram of training jobs operating in the same Azure region as the data.

Atendimento regional: os serviços de aprendizado de máquina são implantados perto de onde o público-alvo mora. Por exemplo, se os usuários-alvo estiverem na Austrália e a principal região de armazenamento e experimentação for a Europa Ocidental, implante o espaço de trabalho de aprendizado de máquina para experimentação na Europa Ocidental. Em seguida, você implanta um cluster AKS para implantação de ponto de extremidade de inferência na Austrália.

Os benefícios dessa configuração são a oportunidade de inferência no data center em que novos dados são ingeridos, minimizando a latência e a movimentação de dados e a conformidade com os regulamentos locais.

Com essa abordagem, uma configuração de várias regiões oferece várias vantagens, mas também adiciona mais sobrecarga no gerenciamento de cotas e computação. Quando você tem um requisito para inferência em lote, o serviço regional pode exigir uma implantação de vários espaços de trabalho. Os dados coletados por meio de pontos de extremidade de inferência podem precisar ser transferidos entre regiões para cenários de reciclagem.

Diagram of Azure Machine Learning services deployed near where the target audience lives.

Ajuste fino regional: um modelo base treina em um conjunto de dados inicial, por exemplo, dados públicos ou dados de todas as regiões, e é posteriormente ajustado com um conjunto de dados regional. O conjunto de dados regional só pode existir em uma região específica devido à conformidade ou a restrições de movimentação de dados. Por exemplo, talvez você precise que o treinamento do modelo base seja feito em um espaço de trabalho na região A, enquanto o ajuste fino acontece em um espaço de trabalho na região B.

O benefício dessa configuração é que você pode experimentar em conformidade no data center onde os dados residem. Você também ainda pode aproveitar o treinamento do modelo base em um conjunto de dados maior em um estágio de pipeline anterior.

Essa abordagem oferece suporte a pipelines de experimentação complexos, mas pode criar mais desafios. Por exemplo, quando você compara os resultados do experimento entre regiões, isso pode adicionar mais sobrecarga ao gerenciamento de cotas e computação.

Diagram of an initial dataset deployed using public data or data from all regions, and fine-tuned later with a regional dataset.

Implementação de referência

Para ilustrar a implantação do Aprendizado de Máquina do Azure em uma configuração maior, esta seção mostra como a organização 'Contoso' configura o Aprendizado de Máquina do Azure, considerando suas restrições organizacionais, relatórios e requisitos de orçamento:

  • A Contoso cria grupos de recursos usando soluções de acordo com motivos de gerenciamento de custos e relatórios.
  • Os administradores de TI apenas criam grupos de recursos e recursos para soluções financiadas para atender aos requisitos de orçamento.
  • Devido à natureza exploratória e incerta da ciência de dados, os usuários precisam de um local de experimento e trabalho para exploração de dados e caso de uso. Muitas vezes, o trabalho exploratório não pode ser diretamente associado a um caso de uso específico e pode ser associado apenas a um orçamento de pesquisa e desenvolvimento. A Contoso deseja financiar alguns recursos de aprendizado de máquina centralmente que qualquer pessoa pode usar para fins de exploração.
  • Quando um caso de uso de aprendizado de máquina for bem-sucedido no ambiente exploratório, as equipes poderão solicitar grupos de recursos. Por exemplo, a empresa pode configurar Dev, QA e Production para trabalho de projeto de experimentação iterativa e acesso a fontes de dados de produção.
  • Os requisitos de separação de dados e de conformidade não permitem que os dados de produção ativos existam em ambientes de desenvolvimento.
  • Existem diferentes requisitos RBAC para vários grupos de usuários por política de TI por ambiente, por exemplo, o acesso é mais restritivo na produção.
  • Todos os dados, experimentação e inferência acontecem em uma única região do Azure.

Para aderir aos requisitos acima, a Contoso configura seus recursos da seguinte maneira:

  • Espaços de trabalho e grupos de recursos do Azure Machine Learning com escopo por projeto para seguir os requisitos de orçamento e segregação de caso de uso.
  • Uma configuração de vários ambientes para o Azure Machine Learning e recursos associados para atender aos requisitos de gerenciamento de custos, de RBAC e de acesso a dados.
  • Um único grupo de recursos e espaço de trabalho de aprendizado de máquina dedicado à exploração.
  • Grupos do Microsoft Entra que são diferentes por função de usuário e ambiente. Por exemplo, as operações que um cientista de dados pode fazer em um ambiente de produção são diferentes das do ambiente de desenvolvimento, e os níveis de acesso podem diferir por solução.
  • Todos os recursos criados em uma única região do Azure.

Diagram of a sample Azure Machine Learning multiple-environment setup for the Contoso organization.

Próximas etapas

Saiba mais sobre as práticas recomendadas em DevOps de aprendizado de máquina com o Aprendizado de Máquina do Azure.

Saiba mais sobre considerações ao gerenciar orçamentos, cota e custo com o Aprendizado de Máquina do Azure.