Utiliser GitHub Actions pour automatiser le packaging de modèles
Les workflows CI/CD avec GitHub Actions permettent d’automatiser la construction, le test, et le déploiement de modèles machine learning en conteneurs. Automatiser le packaging de modèles, comme un modèle Hugging Face servi avec FastAPI, garantit que toute mise à jour du code ou du modèle est rapidement testée et prête à être déployée.
Étapes pour configurer GitHub Actions pour le packaging d’un modèle
-
Préparer le dépôt GitHub
- Commencez par mettre en place votre dépôt avec les fichiers nécessaires, notamment :
- Le code de l’application (ex.,
app.py
pour l’API FastAPI), - Un Dockerfile pour conteneuriser l’application,
- Un fichier de configuration (ex.,
requirements.txt
ouenvironment.yml
).
- Le code de l’application (ex.,
- Commencez par mettre en place votre dépôt avec les fichiers nécessaires, notamment :
-
Créer un workflow GitHub Actions
Dans votre dépôt, ajoutez un fichier de workflow CI/CD sous
.github/workflows
. Par exemple, créez.github/workflows/docker-package.yml
:Explications :
on
: Ce workflow est déclenché lorsqu’il y a un push ou une pull request sur la branchemain
.- Steps :
actions/checkout@v2
: Clone le dépôt.docker/setup-buildx-action@v1
: Active le support de construction multiplateforme pour Docker.docker/login-action@v1
: Se connecte à Docker Hub (utilisez vos identifiants dansSettings > Secrets
pour stockerDOCKER_USERNAME
etDOCKER_PASSWORD
de manière sécurisée).docker/build-push-action@v2
: Construit et pousse l’image sur Docker Hub avec le taglatest
.
-
Configurer les Secrets GitHub
Dans votre dépôt GitHub :
- Allez dans
Settings > Secrets
. - Ajoutez
DOCKER_USERNAME
(votre nom d’utilisateur Docker) etDOCKER_PASSWORD
(votre mot de passe Docker).
- Allez dans
-
Étendre le workflow avec des tests (facultatif)
Ajouter des tests est une bonne pratique pour garantir que le modèle fonctionne comme attendu avant le packaging. Par exemple, vous pouvez utiliser
pytest
avant l’étape de build pour tester le code et les prédictions : -
Exécuter et valider
- Lorsque vous pushez sur la branche
main
, GitHub Actions exécute automatiquement le workflow. - Sur la page Actions du dépôt, vous pouvez visualiser les logs en direct pour voir chaque étape du packaging et identifier toute erreur éventuelle.
- Lorsque vous pushez sur la branche
Conclusion
Avec GitHub Actions, automatiser le packaging de modèles permet de gagner du temps et d’assurer une continuité de service. Ce pipeline peut aussi être étendu pour des déploiements automatisés sur des plateformes cloud comme AWS, Azure ou GCP. Cette configuration assure que toute mise à jour du modèle ou du code est testée et prête à être distribuée en production de manière fluide.