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 sempre que é executado.

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.

Diagram of the relationships between assets in workspace and registry.

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 grupo, a divisão ou a organização.
  • O nome do registro é exclusivo com sua organização (locatário do Microsoft Entra). É recomendável prefixar o nome da equipe ou organização e evitar nomes genéricos.
  • Os nomes do registro não podem ser alterados depois de criados porque são usados em IDs de modelos, ambientes e componentes referenciados em 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 regiões adicionais. A região primária não pode ser alterada após a criação do registro, mas as regiões adicionais 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 permissão de gravação a seguir, além das permissões de leitura acima.

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 interna Colaborador ou Proprietário. 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

Próximas etapas