Use as Ações do GitHub para treinamento de modelos

Concluído

O GitHub Actions é uma plataforma que permite automatizar tarefas acionadas por eventos que ocorrem dentro de um repositório GitHub. Um fluxo de trabalho de Ações do GitHub consiste em trabalhos. Um trabalho agrupa um conjunto de etapas que você pode definir. Uma dessas etapas pode usar a CLI (v2) para executar um trabalho do Azure Machine Learning para treinar um modelo.

Para automatizar o treinamento de modelos com o GitHub Actions, você precisará:

  • Crie uma entidade de serviço usando a CLI do Azure.
  • Armazene as credenciais do Azure em um segredo do GitHub.
  • Defina uma ação do GitHub no YAML.

Criar um principal de serviço

Ao usar as Ações do GitHub para automatizar trabalhos do Azure Machine Learning, você precisa usar uma entidade de serviço para autenticar o GitHub para gerenciar o espaço de trabalho do Azure Machine Learning. Por exemplo, para treinar um modelo usando a computação do Azure Machine Learning, você ou qualquer ferramenta que você usa, precisa estar autorizado a usar essa computação.

Gorjeta

Saiba mais sobre como usar as Ações do GitHub para se conectar ao Azure

Armazenar as credenciais do Azure

As credenciais do Azure que você precisa autenticar não devem ser armazenadas em seu código ou texto sem formatação e, em vez disso, devem ser armazenadas em um segredo do GitHub.

Para adicionar um segredo ao seu repositório GitHub:

  1. Navegue até a guia Configurações .

    Captura de tela da guia configurações no repositório GitHub.

  2. Na guia Configurações, em Segurança, expanda a opção Segredos e selecione Ações.

    Captura de tela da opção segredos na seção de segurança.

  3. Insira suas credenciais do Azure como um segredo e nomeie o segredo AZURE_CREDENTIALS.

  4. Para usar um segredo que contém credenciais do Azure em uma Ação do GitHub, consulte o segredo no arquivo YAML.

    on: [push]
    
    name: Azure Login Sample
    
    jobs:
      build-and-deploy:
        runs-on: ubuntu-latest
        steps:
          - name: Log in with Azure
            uses: azure/login@v1
            with:
              creds: '${{secrets.AZURE_CREDENTIALS}}'
    

Definir a ação do GitHub

Para definir um fluxo de trabalho, você precisará criar um arquivo YAML. Você pode acionar o fluxo de trabalho para treinar um modelo manualmente ou com um evento push. Acionar manualmente o fluxo de trabalho é ideal para testes, enquanto automatizá-lo com um evento é melhor para automação.

Para configurar um fluxo de trabalho de Ações do GitHub para que você possa acioná-lo manualmente, use on: workflow_dispatch. Para acionar um fluxo de trabalho com um evento push, use on: [push].

Depois que o fluxo de trabalho de Ações do GitHub for acionado, você poderá adicionar várias etapas a um trabalho. Por exemplo, você pode usar uma etapa para executar um trabalho do Azure Machine Learning:

name: Manually trigger an Azure Machine Learning job

on:
  workflow_dispatch:

jobs:
  train-model:
    runs-on: ubuntu-latest
    steps:
    - name: Trigger Azure Machine Learning job
      run: |
        az ml job create --file src/job.yml