Gerenciar registros do Azure Machine Learning

As entidades do Azure Machine Learning podem ser agrupadas em duas categorias amplas:

  • Ativos como modelos, ambientes, componentes e conjunto de dados são entidades duráveis que independem do workspace. Por exemplo, um modelo pode ser registrado em qualquer workspace e implantado em qualquer ponto de extremidade.
  • Recursos como computação, trabalho e pontos de extremidade são entidades temporárias específicas do workspace. Por exemplo, um ponto de extremidade online tem um URI de pontuação exclusivo de uma instância específica em um workspace específico. Da mesma forma, um trabalho é executado por uma duração conhecida e gera logs e métricas cada execução.

Os ativos podem ser armazenados em um repositório central e usados em diferentes workspaces, possivelmente em regiões diferentes. Os recursos são específicos do workspace.

Os registros do Azure Machine Learning permitem que você crie e use esses ativos em diferentes workspaces. Os registros dão suporte à replicação de várias regiões para acesso de baixa latência aos ativos, portanto, é possível usar ativos em workspaces localizados em diferentes regiões do Azure. A criação de um registro provisiona os recursos do Azure necessários para facilitar a replicação. Primeiro, as contas de armazenamento de blobs do Azure em cada região com suporte. Em segundo lugar, um único Registro de Contêiner do Azure com replicação habilitada para cada região com suporte.

Diagrama dos relacionamentos entre ativos no workspace e no registro.

Pré-requisitos

Antes de seguir as etapas neste artigo, verifique se você tem os seguintes pré-requisitos:

Dica

Se estiver usando uma versão mais antiga da extensão de ml para CLI, talvez você precise atualizá-la para a versão mais recente antes de trabalhar com esse recurso. Para atualizar para a versão mais recente, use o seguinte comando:

az extension update -n ml

Para obter mais informações, confira Instalar, configurar e usar a CLI (v2).

Preparar-se para criar o registro

Você precisa decidir as seguintes informações cuidadosamente antes de continuar a criar um registro:

Escolher um nome

Considere os fatores a seguir antes de escolher um nome.

  • Os registros destinam-se a facilitar o compartilhamento de ativos de ML entre equipes em sua organização em todos os workspaces. Escolha um nome que reflita o escopo de compartilhamento. O nome deve ajudar a identificar o seu grupo, divisão ou organização.
  • O nome do registro é exclusivo com sua organização (locatário do Microsoft Entra). Por exemplo, você pode prefixar o nome da equipe ou da organização e evitar nomes genéricos.
  • Os nomes do registro não podem ser alterados uma vez criados porque são usados em IDs de modelos, ambientes e componentes referenciados no código.
    • O tamanho pode ser de 2 a 32 caracteres.
    • Alfanuméricos, sublinhados, hífen são permitidos. Nenhum outro caractere especial. Nenhum espaço; os nomes do registro fazem parte de IDs de modelo, ambiente e componente que podem ser referenciadas no código.
    • O nome pode conter sublinhado ou hífen, mas não pode começar com um sublinhado ou hífen. Ele precisa começar com um alfanumérico.

Escolher regiões do Azure

Os registros permitem o compartilhamento de ativos entre workspaces. Para fazer isso, um registro replica o conteúdo entre várias regiões do Azure. Você precisa definir a lista de regiões compatíveis com um registro ao criá-lo. Crie uma lista de todas as regiões nas quais você tem workspaces atualmente e nas quais planeja adicionar em um futuro próximo. Essa lista é um bom conjunto de regiões para começar. Ao criar um registro, você define uma região primária e um conjunto de outras regiões. A região primária não pode ser alterada após a criação do registro, mas as outras regiões podem ser atualizadas posteriormente.

Verificar permissões

Verifique se você é o "Proprietário" ou "Colaborador" da assinatura ou do grupo de recursos no qual planeja criar o registro. Se você não tiver uma dessas funções internas, examine a seção sobre permissões no final deste artigo.

Criar um registro

Crie a definição YAML e nomeie-a registry.yml.

Observação

O local primário é listado duas vezes no arquivo YAML. No exemplo a seguir, eastus é listado primeiro como locação primária (item location) e também na lista replication_locations.

name: DemoRegistry1
tags:
  description: Basic registry with one primary region and to additional regions
  foo: bar
location: eastus
replication_locations:
  - location: eastus
  - location: eastus2
  - location: westus

Para obter mais informações sobre a estrutura do arquivo YAML, consulte o artigo de referência YAML do Registro.

Dica

Normalmente, você vê nomes de exibição de regiões do Azure, como 'Leste dos EUA', no Portal do Azure, mas o YAML de criação do registro precisa de nomes de regiões sem espaços e letras minúsculas. Use az account list-locations -o table para encontrar o mapeamento de nomes de exibição de região com o nome da região que pode ser especificado em YAML.

Execute o comando de criação do registro.

az ml registry create --file registry.yml

Especificar tipo de conta de armazenamento e SKU (opcional)

Dica

A especificação do tipo de Conta de Armazenamento do Azure e da SKU só está disponível na CLI do Azure.

O armazenamento do Azure oferece vários tipos de contas de armazenamento com diferentes recursos e preços. Para saber mais, confira o artigo Tipos de contas de armazenamento. Depois de identificar a SKU de conta de armazenamento que mais se encaixa nas suas necessidades, encontre o valor do tipo de SKU apropriado. No arquivo YAML, use seu tipo de SKU selecionado como o valor do campo storage_account_type. Esse campo fica abaixo de cada location na lista replication_locations.

Em seguida, decida se quer usar uma conta de armazenamento de Blobs do Azure ou o Azure Data Lake Storage Gen2. Para criar o Azure Data Lake Storage Gen2, defina storage_account_hns como true. Para criar o Armazenamento de Blobs do Azure, defina storage_account_hns como false. O campo storage_account_hns fica abaixo de cada location na lista replication_locations.

Observação

A parte de hns da storage_account_hns faz referência à capacidade do namespace hierárquico das contas do Azure Data Lake Storage Gen2.

O arquivo YAML de exemplo a seguir demonstra essa configuração de armazenamento avançada:

name: DemoRegistry2
tags:
  description: Registry with additional configuration for storage accounts
  foo: bar
location: eastus
replication_locations:
  - location: eastus
    storage_config:
      storage_account_hns: False
      storage_account_type: Standard_LRS
  - location: eastus2
    storage_config:
      storage_account_hns: False
      storage_account_type: Standard_LRS
  - location: westus
    storage_config:
      storage_account_hns: False
      storage_account_type: Standard_LRS

Adicionar usuários ao registro

Decida se deseja permitir que os usuários usem apenas ativos (modelos, ambientes e componentes) do registro ou usem e criem ativos no registro. Examine as etapas para atribuir uma função se você não sabe como gerenciar permissões usando o controle de acesso baseado em função do Azure.

Permitir que os usuários usem ativos do registro

Para permitir que um usuário apenas leia os ativos, conceda ao usuário a função interna Leitor. Se você não deseja utilizar a função interna, crie uma função personalizada com as seguintes permissões

Permissão Descrição
Microsoft.MachineLearningServices/registries/read Permite que o usuário liste registros e obtenha metadados do registro
Microsoft.MachineLearningServices/registries/assets/read Permite que o usuário procure ativos e use os ativos em um workspace

Permitir que os usuários criem e usem ativos do registro

Para permitir que o usuário leia e crie ou exclua ativos, conceda a seguinte permissão de gravação, além das permissões de leitura anteriores.

Permissão Descrição
Microsoft.MachineLearningServices/registries/assets/write Criar ativos em registros
Microsoft.MachineLearningServices/registries/assets/delete Excluir ativos em registros

Aviso

As funções internas Colaborador e Proprietário permitem que os usuários criem, atualizem e excluam registros. Você precisará criar uma função personalizada se quiser que o usuário crie e use ativos do registro, mas não crie ou atualize registros. Examine funções personalizadas para aprender a criar funções personalizadas com base em permissões.

Permitir que os usuários criem e gerenciem registros

Para permitir que os usuários criem, atualizem e excluam registros, conceda a eles a função de Colaborador ou Proprietário interna. Se você não quiser usar funções internas, crie uma função personalizada com as permissões a seguir, além de todas as permissões acima para ler, criar e excluir ativos no registro.

Permissão Descrição
Microsoft.MachineLearningServices/registries/write Permite que o usuário crie ou atualize registros
Microsoft.MachineLearningServices/registries/delete Permite que o usuário exclua registros