Emballage et conteneurisation

Apprentissage Machine de bout en bout

Joshua Stapleton

Machine Learning Engineer

Déploiement et conteneurisation

Déploiement

  • Regrouper le modèle + dépendances en unités
  • Pour l'exécuter dans divers environnements
  • Cadriciel de facto pour la conteneurisation et le déploiement : Docker

Phase de déploiement du cycle de vie de Machine Learning

Apprentissage Machine de bout en bout

Docker

  • Plateforme qui simplifie le développement avec des conteneurs

Conteneurs :

  • Emballent l'application en actifs autonomes
  • Conçus pour être indépendants de la plateforme
  • Get Docker

 

DataCamp Docker Course

Logo de Docker

Apprentissage Machine de bout en bout

Utiliser Docker : partie 1

Dockerfile : instructions pour construire un 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
Apprentissage Machine de bout en bout

Utiliser 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 .
Apprentissage Machine de bout en bout

Étiqueter des conteneurs

Étiquetage :

docker tag heart_disease_model:latest heart_disease_model:1.0
  • Facilite l'identification et la gestion des images/conteneurs.
  • Aide à tenir un registre de modèles détaillé et robuste.
  • Une fois étiqueté, prêt pour le déploiement !

Le déploiement représenté par une flèche

Apprentissage Machine de bout en bout

Bonnes pratiques

Même si Docker facilite l'emballage des modèles...

  • Pensez sécurité
  • N'incluez pas de données sensibles
  • Utilisez des images fiables (développeurs vérifiés)

Si votre application contient des renseignements sensibles...

  • Utilisez des variables d'environnement
  • P. ex. : pour des chaînes de connexion/mots de passe

Cadenas de sécurité

Apprentissage Machine de bout en bout

Passons à la pratique !

Apprentissage Machine de bout en bout

Preparing Video For Download...