Utiliser GitHub Actions pour l’entraînement de modèle
GitHub Actions est une plateforme qui vous permet d’automatiser les tâches déclenchées par des événements se produisant dans un dépôt GitHub. Un workflow GitHub Actions se compose de travaux. Un travail regroupe un ensemble d’étapes que vous pouvez définir. Pour l’une de ces étapes, l’interface CLI (v2) peut être utilisée pour l’exécution d’un travail Azure Machine Learning afin d’entraîner un modèle.
Pour automatiser l’entraînement de modèle avec GitHub Actions, vous devez :
- Créer un principal de service avec Azure CLI
- Stocker les informations d’identification Azure dans un secret GitHub
- Définir une action GitHub dans un fichier YAML
Créer un principal du service
Quand vous utilisez GitHub Actions pour automatiser des travaux Azure Machine Learning, vous devez utiliser un principal de service pour authentifier GitHub afin de gérer l’espace de travail Azure Machine Learning. Par exemple, pour entraîner un modèle à l’aide de la capacité de calcul Azure Machine Learning, vous devez être autorisé à utiliser cette capacité de calcul. De même, les outils que vous employez doivent également être autorisés à l’utiliser.
Conseil
Apprenez-en davantage sur l’utilisation de GitHub Actions pour vous connecter à Azure.
Stocker les informations d’identification Azure
Les informations d’identification Azure que vous devez authentifier ne doivent pas être stockées dans votre code ou en texte brut. Elles doivent être stockées dans un secret GitHub.
Pour ajouter un secret à votre dépôt GitHub :
Accédez à l’onglet Paramètres.
Sous l’onglet Paramètres, sous Sécurité, développez l’option Secrets et sélectionnez Actions.
Entrez vos informations d’identification Azure comme secret et nommez le secret
AZURE_CREDENTIALS
.Pour utiliser un secret contenant des informations d’identification Azure dans une action GitHub, faites référence au secret dans le fichier 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}}'
Définir l’action GitHub
Pour définir un workflow, vous devez créer un fichier YAML. Vous pouvez déclencher le workflow pour entraîner un modèle manuellement ou avec un événement de poussée (push). Le déclenchement manuel du workflow est idéal pour les tests. Un déclenchement automatisé avec un événement est, quant à lui, préférable pour l’automatisation.
Pour configurer un workflow GitHub Actions afin de pouvoir le déclencher manuellement, utilisez on: workflow_dispatch
. Pour déclencher un workflow avec un événement de poussée, utilisez on: [push]
.
Quand le workflow GitHub Actions a été déclenché, vous pouvez ajouter différentes étapes à un travail. Par exemple, vous pouvez utiliser une étape pour exécuter un travail 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
Conseil
Apprenez-en davantage sur GitHub Actions, ses concepts fondamentaux et la terminologie essentielle.