Usar o GitHub Actions para o treinamento de modelos
O GitHub Actions é uma plataforma que permite automatizar tarefas disparadas por eventos que ocorrem em um repositório do GitHub. Um fluxo de trabalho do GitHub Actions consiste em trabalhos. Um trabalho agrupa um conjunto de etapas que podem ser definidas. Uma dessas etapas pode usar a CLI (v2) para executar um trabalho do Azure Machine Learning a fim de treinar um modelo.
Para automatizar o treinamento de modelos com o GitHub Actions, você precisará fazer o seguinte:
- Criar uma entidade de serviço usando a CLI do Azure.
- Armazenar as credenciais do Azure em um segredo do GitHub.
- Definir uma ação do GitHub em YAML.
Criar uma entidade de serviço
Ao usar o GitHub Actions para automatizar trabalhos do Azure Machine Learning, é necessário usar uma entidade de serviço a fim de autenticar o GitHub e gerenciar o workspace 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.
Dica
Saiba mais sobre como Usar o GitHub Actions para se conectar ao Azure
Armazenar as credenciais do Azure
As credenciais do Azure necessárias para a autenticação não devem ser armazenadas no código ou em um texto sem formatação, mas em um segredo do GitHub.
Para adicionar um segredo ao repositório do GitHub:
Acesse a guia Configurações.
Na guia Configurações, em Segurança, expanda a opção Segredos e selecione Ações.
Insira suas credenciais do Azure como um segredo e dê ao segredo o nome
AZURE_CREDENTIALS
.Para usar um segredo contendo credenciais do Azure em uma ação do GitHub, faça referência a ele 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, crie um arquivo YAML. É possível disparar o fluxo de trabalho para treinar um modelo manualmente ou com um evento push. O disparo manual do fluxo de trabalho é ideal para testes, enquanto a automatização dele com um evento é melhor para a automação.
Para configurar um fluxo de trabalho do GitHub Actions a fim de dispará-lo manualmente, use on: workflow_dispatch
. Para disparar um fluxo de trabalho com um evento push, use on: [push]
.
Depois que o fluxo de trabalho do GitHub Actions é disparado, é possível adicionar diversas etapas a um trabalho. Por exemplo, é possível 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
Dica
Saiba mais sobre o GitHub Actions, incluindo conceitos centrais e terminologias essenciais.