Organizar e configurar ambientes do Azure Machine Learning

Quando você está planejando uma implantação do Azure Machine Learning para um ambiente corporativo, há alguns pontos de decisão comuns que afetam a forma 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, casos de uso e segregação de dados ou requisitos de gerenciamento de custos
  • Ambientes: os ambientes que você usa como parte de seu fluxo de trabalho de desenvolvimento e liberação para separar o desenvolvimento da produção
  • Região: a localização dos seus dados e o público ao qual você precisa para servir sua solução de aprendizado de máquina

Estrutura da equipe e configuração do espaço de trabalho

O espaço de trabalho é o recurso de nível superior 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 Azure Resource Manager dá suporte ao controle de acesso baseado em função do Azure (Azure RBAC), ao gerenciamento por Política e você pode usá-lo como uma unidade para relatórios de custo.

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 aprendizado de máquina pode criar três espaços de trabalho, um para cada equipe.

O benefício 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 facilmente acessar, explorar e reutilizar os resultados da experimentação. Organizar seus espaços de trabalho por equipe reduz sua pegada 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 convenções de nomenclatura e marcação. Para obter recomendações sobre como nomear recursos, consulte Desenvolver sua estratégia de nomenclatura e marcação para recursos do Azure.

Com essa abordagem, cada membro da equipe deve ter permissões de nível de acesso a dados semelhantes. O controle de acesso granular baseado em função (RBAC) 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. Você não pode 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 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 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 Azure Machine Learning e recursos associados por motivos semelhantes. Quando você trabalha com colaboradores externos, por exemplo, um espaço de trabalho centrado no projeto simplifica a colaboração em um projeto porque os usuários externos só precisam ter acesso aos recursos do projeto, não aos recursos da equipe.

Algo a considerar com esta 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 do espaço de trabalho.

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

O benefício desta configuração é que o custo do trabalho individual, não relacionado com o projeto, pode ser dissociado dos custos relacionados com o projeto. Ao configurar um único espaço de trabalho para todos os usuários fazerem seu trabalho individual, você reduz sua pegada 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 precisar de filtragem de ativos baseada na interface do usuário para encontrar efetivamente seus recursos. 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 segmentar orçamentos.

Configuração de ambientes e espaços de trabalho

Um ambiente é uma coleção de recursos que as implantações destinam com base em seu estágio no ciclo de vida do aplicativo. Exemplos comuns de nomes de ambiente são Dev, Test, QA, Staging e Production.

O processo de desenvolvimento em sua 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 implanta 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 centrada na pesquisa é uma pegada menor do Azure e uma sobrecarga de gerenciamento mínima. Essa maneira de trabalhar implica não precisar ter um espaço de trabalho do Azure Machine Learning implantado em cada ambiente.

Com essa abordagem, a implantação de um único ambiente está sujeita à disponibilidade de dados. Portanto, seja cauteloso ao configurar seu armazenamento de dados. Se você configurar o acesso extensivo, por exemplo, o acesso do gravador em fontes de dados de produção, poderá prejudicar involuntariamente a qualidade dos dados. Se você levar o trabalho para a produção no mesmo ambiente onde o desenvolvimento acontece, as mesmas restrições 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 flexíveis.

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

Implantação de vários espaços de trabalho de ambiente: 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 separação clara de tarefas entre ambientes e para usuários que têm acesso a recursos a esses ambientes.

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

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

Com essa abordagem, você corre o risco de 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ê dê acesso a uma equipe 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 Azure Machine Learning implanta 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 segregar ambientes de desenvolvimento e produção. Por exemplo, você pode estar trabalhando sob restrições organizacionais para disponibilizar dados de produção em qualquer ambiente ou talvez queira separar o trabalho de desenvolvimento do trabalho de produção sem duplicar dados mais do que o necessário devido ao alto custo de manutenção.

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

Com essa abordagem, você precisa de um processo de desenvolvimento e distribuição definido 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.

Regiões e configuração de recursos

A localização dos seus recursos, dados ou utilizadores pode exigir que crie instâncias de espaço de trabalho do Azure Machine Learning e recursos associados em várias regiões do Azure. Por exemplo, um projeto pode abranger seus recursos nas regiões do Azure da Europa Ocidental e Leste dos EUA por motivos de desempenho, custo e conformidade. Os seguintes cenários são comuns:

Treinamento regional: os trabalhos de treinamento de aprendizado de máquina 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 experimentação 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. Torna-se desafiador comparar os resultados da experimentação entre instâncias e adiciona sobrecarga ao gerenciamento de cotas e computação.

Se você quiser anexar armazenamento entre regiões, mas usar computação de uma região, o Aprendizado de Máquina do Azure dá suporte ao cenário de anexar contas de armazenamento em uma região em vez do espaço de trabalho. 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 vive. 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 onde novos dados são ingeridos, minimizando a latência e a movimentação de dados e a conformidade com as regulamentações 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 retreinamento.

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

Ajuste fino regional: um modelo de 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 pode existir apenas em uma região específica devido a restrições de conformidade ou movimentação de dados. Por exemplo, você pode precisar que o treinamento de modelo básico 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 de forma compatível 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 suporta 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 cota 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, dadas suas restrições organizacionais, relatórios e requisitos de orçamento:

  • A Contoso cria grupos de recursos com base na solução por motivos de gerenciamento de custos e relatórios.
  • Os administradores de TI criam apenas 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 lugar para experimentar e trabalhar para casos de uso e exploração de dados. 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 quer 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 se mostra bem-sucedido no ambiente exploratório, as equipes podem 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 segregação de dados e conformidade não permitem a existência de dados de produção em tempo real 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 casos 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, RBAC e 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 do ambiente de desenvolvimento, e os níveis de acesso podem diferir de acordo com a 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óximos passos

Saiba mais sobre as práticas recomendadas em DevOps de aprendizado de máquina com o Azure Machine Learning.

Saiba mais sobre considerações ao gerenciar orçamentos, cotas e custos com o Azure Machine Learning.