Integrar o Azure Machine Learning com ferramentas de DevOps

Concluído

Imagine que você trabalha com uma equipe de ciência de dados em um projeto de aprendizado de máquina. Sua equipe pode optar por usar o Azure DevOps ou o GitHub para planejar o trabalho, armazenar o repositório de código e automatizar fluxos de trabalho.

Com qualquer um dos conjuntos de ferramentas, geralmente há duas funções:

  • Administrador: configura o ambiente de DevOps e gerencia as ferramentas.
  • Usuário final: contribui para o projeto colaborando no desenvolvimento. Conecta-se às ferramentas, mas tem acesso restrito à configuração do ambiente de DevOps.

O administrador é responsável por conectar o Azure Machine Learning ao Azure DevOps ou ao GitHub. Para entender como a integração com o Azure Machine Learning é configurada, vamos explorar como um administrador conectaria com segurança o Azure DevOps e o GitHub ao Azure Machine Learning.

Configurar o Azure DevOps

Para conectar o Azure DevOps ao Azure Machine Learning, primeiro você precisará criar uma organização e um projeto. Você usará a organização para agrupar e gerenciar projetos.

Comece entrando no Azure DevOps com uma conta da Microsoft ou do GitHub.

Depois de entrar, você pode criar uma organização.

New organization in Azure DevOps

Dentro de uma organização, você pode criar vários projetos.

New project in Azure DevOps

Para cada projeto, você terá acesso a ferramentas como Painéis, Repositórios e Pipelines para aplicar os princípios de DevOps em seu projeto.

Conectar o Azure DevOps ao Azure Machine Learning

Para aceder com segurança à sua área de trabalho do Azure Machine Learning a partir do Azure DevOps, terá de criar uma ligação de serviço.

Ao criar uma conexão de serviço, você define como o Azure DevOps será autenticado para se conectar a outro serviço. Quando você trabalha com o Azure Machine Learning, a opção recomendada é permitir que o Azure DevOps crie uma entidade de serviço para você.

Uma entidade de serviço é criada como uma identidade na ID do Microsoft Entra. Em vez de usar as credenciais de um membro da equipe para se conectar ao Azure Machine Learning, o Azure DevOps usa as credenciais da entidade de serviço.

Quando um projeto do Azure DevOps é criado, você pode se conectar a um espaço de trabalho existente do Azure Machine Learning:

  1. Dentro de um projeto, vá para Configurações do projeto.
  2. Selecione conexões de serviço e crie uma nova.
  3. Escolha Azure Resource Manager.
  4. Escolha autenticar com uma entidade de serviço automática.
  5. Defina o nível de escopo como Espaço de Trabalho de Aprendizado de Máquina e conecte-se a um espaço de trabalho existente do Aprendizado de Máquina do Azure ao qual você tem acesso.
  6. Conceda permissão de acesso a todos os pipelines.
  7. Dê um nome à sua conexão de serviço. Você usará o nome sempre que precisar autenticar o Azure DevOps para gerenciar o espaço de trabalho do Azure Machine Learning.

New service connection in Azure DevOps

Depois que a conexão de serviço for criada, você notará que uma entidade de serviço recém-criada tem acesso de Colaborador ao seu espaço de trabalho do Azure Machine Learning.

Configurar o GitHub

Para conectar o GitHub ao Azure Machine Learning, primeiro você precisará criar um repositório do GitHub.

Comece fazendo login no GitHub.

Depois de entrar no GitHub, você pode escolher se, como indivíduo, deseja ser proprietário do repositório ou se ele deve ser de propriedade de uma organização do GitHub.

New repo in GitHub

Conectar o GitHub ao Azure Machine Learning

Para usar o GitHub para automatizar fluxos de trabalho de aprendizado de máquina, você pode autenticar o GitHub para se conectar ao Azure Machine Learning. Para configurar uma ligação segura, terá de:

  • Crie uma entidade de serviço no Azure.
  • Adicione as credenciais da entidade de serviço aos segredos do repositório.

Para criar uma entidade de serviço, você pode usar a CLI do Azure. Para trabalhar com a CLI, uma opção é enviar comandos no Azure Cloud Shell.

Você pode criar uma entidade de serviço chamada github-aml-sp que receberá acesso de Colaborador ao espaço de trabalho do Azure Machine Learning com o seguinte comando:

az ad sp create-for-rbac --name "github-aml-sp" --role contributor \
                            --scopes /subscriptions/<subscription-id>/resourceGroups/<group-name>/providers/Microsoft.MachineLearningServices/workspaces/<workspace-name> \
                            --sdk-auth

Depois que a entidade de serviço é criada, um texto JSON é retornado para você como saída, que inclui as credenciais que o GitHub precisará para se conectar ao seu grupo de recursos do Azure. Copie o texto JSON e salve-o para a próxima etapa.

Para armazenar essas credenciais no GitHub:

  1. Vá para as Configurações do repositório.
  2. Navegue até a página Segredos .
  3. Selecione Ações.
  4. Adicione um novo segredo de repositório.
  5. Digite AZURE_CREDENTIALS como o nome.
  6. Cole o JSON de saída com as credenciais e adicione o segredo.

New secret in GitHub

Depois que o segredo for adicionado ao GitHub, você poderá usá-lo sempre que precisar que o AZURE_CREDENTIALS GitHub seja autenticado para trabalhar com seu espaço de trabalho do Azure Machine Learning.

Gorjeta

Continue seu aprendizado sobre a integração do GitHub com o Azure Machine Learning e explore como usar as Ações do GitHub com o Azure Machine Learning. O tutorial usa o AZURE_CREDENTIALS segredo para se conectar ao Azure.