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 machine learning. 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 ambos os 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 com o Azure DevOps ou o GitHub. Para entender como a integração com o Azure Machine Learning está 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 conectado, você pode criar uma organização.

Nova organização no Azure DevOps

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

Novo projeto no Azure DevOps

Para cada projeto, você terá acesso a ferramentas como Boards, Repos e Pipelines para aplicar princípios de DevOps em seu projeto.

Conectar o Azure DevOps ao Azure Machine Learning

Para acessar com segurança seu workspace do Azure Machine Learning do Azure DevOps, você precisará criar uma conexã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 é deixar que o Azure DevOps crie um principal de serviço para você.

Uma entidade de serviço é criada como uma identidade no Microsoft Entra ID. 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 workspace existente do Azure Machine Learning:

  1. Em um projeto, vá para Configurações do Projeto.
  2. Selecione conexões de serviço e crie uma nova.
  3. Escolha o Azure Resource Manager.
  4. Escolha autenticar com uma Entidade de Serviço automática.
  5. Defina o nível de escopo para o Workspace do Machine Learning e conecte-se a um workspace existente do Azure Machine Learning 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 workspace do Azure Machine Learning.

Nova conexão de serviço no Azure DevOps

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

Configurar o GitHub

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

Comece entrando no GitHub.

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

Novo repositório no GitHub

Conectar o GitHub ao Azure Machine Learning

Para usar o GitHub para automatizar fluxos de trabalho de machine learning, você pode autenticar o GitHub para se conectar ao Azure Machine Learning. Para configurar uma conexão segura, você precisará:

  • Crie um principal de serviço no Azure.
  • Adicionar 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 Workspace 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 for criada, um texto JSON será retornado para você como resultado, incluindo 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 do repositório.
  5. Insira AZURE_CREDENTIALS como nome.
  6. Cole o JSON de saída com as credenciais e adicione o segredo.

Novo segredo no GitHub

Depois que o segredo for adicionado ao GitHub, você poderá usar o AZURE_CREDENTIALS segredo sempre que precisar que o GitHub seja autenticado para trabalhar com seu workspace do Azure Machine Learning.

Dica

Continue seu aprendizado sobre como integrar o GitHub ao Azure Machine Learning e explore como usar o GitHub Actions com o Azure Machine Learning. O tutorial usa o AZURE_CREDENTIALS segredo para se conectar ao Azure.