Packaging and containerization

Machine Learning de bout en bout

Joshua Stapleton

Machine Learning Engineer

Déploiement et conteneurisation

Déploiement

  • Regrouper modèle + dépendances en unités
  • Pour l’exécuter dans différents environnements
  • Docker est le standard pour la conteneurisation et le déploiement

Phase de déploiement du cycle de vie du machine learning

Machine Learning de bout en bout

Docker

  • Plateforme pour simplifier le développement via des conteneurs

Conteneurs :

  • Conditionnent l’application en artefacts autonomes
  • Conçus pour être indépendants de la plateforme
  • Obtenir Docker

 

Cours DataCamp sur Docker

Logo Docker

Machine Learning de bout en bout

Utilisation de Docker, partie 1

Dockerfile : instructions pour construire le conteneur

# Use an official Python runtime as a parent image
FROM Python:3.7

# Set the working directory in the container to /app WORKDIR /ML_pipeline
# Copy the current directory contents into the container at /app ADD . /ML_pipeline
# Install any needed packages specified in requirements.txt RUN pip install --no-cache-dir -r requirements.txt
Machine Learning de bout en bout

Utilisation de Docker, partie 2

# ... continued
# Make port 80 available to the world outside this container
EXPOSE 80
# Define environment variable
ENV NAME World
# Run app.py when the container launches
CMD ["Python", "ML_pipeline.py"]

Construire l’image définie :

docker build -t heart_disease_model .
Machine Learning de bout en bout

Taguer des conteneurs

Taggage :

docker tag heart_disease_model:latest heart_disease_model:1.0
  • Identifie et gère plus facilement images / conteneurs.
  • Aide à maintenir un registre de modèles précis et robuste.
  • Après le tag, prêt pour le déploiement !

Le déploiement visualisé comme une flèche

Machine Learning de bout en bout

Bonnes pratiques

Docker facilite l’empaquetage des modèles, mais…

  • Soyez attentif à la sécurité
  • N’incluez pas de données sensibles
  • Utilisez des images fiables (développeurs vérifiés)

Si votre application contient des informations sensibles…

  • Utilisez des variables d’environnement
  • Ex. : chaînes de connexion / mots de passe

Cadenas de sécurité

Machine Learning de bout en bout

Passons à la pratique !

Machine Learning de bout en bout

Preparing Video For Download...