Integrar o Azure Machine Learning com ferramentas de DevOps

Concluído

Imagine 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, 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 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 DevOps.

O administrador é responsável por conectar o Azure Machine Learning ao Azure DevOps ou 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 Microsoft ou uma conta do GitHub.

Depois de entrar, crie uma organização.

New organization in Azure DevOps

Em uma organização, crie vários projetos.

New project in Azure DevOps

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

Conectar o Azure DevOps ao Azure Machine Learning

Para acessar com segurança seu workspace do Azure Machine Learning no 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 é permitir que o Azure DevOps crie uma entidade de serviço por 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 do Azure Machine Learning existente:

  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 para Workspace do Machine Learning e conecte-se a um workspace existente ao qual você tem acesso.
  6. Conceder permissão de acesso a todos os pipelines.
  7. Dê um nome à conexão de serviço. Você usará o nome sempre que precisar autenticar o Azure DevOps para gerenciar o workspace 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 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 do GitHub.

Comece entrando no GitHub.

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

New repo in GitHub

Conecte o GitHub com o Azure Machine Learning

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

  • Criar uma entidade 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 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 usá-lo na próxima etapa.

Para armazenar essas credenciais no GitHub:

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

New secret in GitHub

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

Dica

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