Packaging en containerization

End-to-End Machine Learning

Joshua Stapleton

Machine Learning Engineer

Deployment en containerization

Deployment

  • Model + dependencies verpakken in units
  • Voor draaien in verschillende omgevingen
  • De facto framework voor containerization en deployment is Docker

Deploy-fase van de machinelearning-levenscyclus

End-to-End Machine Learning

Docker

  • Platform om development met containers te vereenvoudigen

Containers:

  • Verpakken apps tot zelfstandige units
  • Ontworpen als platform-agnostisch
  • Get Docker

 

DataCamp-cursus Docker

Docker-logo

End-to-End Machine Learning

Docker-gebruik deel 1

Dockerfile: instructies om een container te bouwen

# 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
End-to-End Machine Learning

Docker-gebruik deel 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"]

Bouw de gedefinieerde image:

docker build -t heart_disease_model .
End-to-End Machine Learning

Containers taggen

Taggen:

docker tag heart_disease_model:latest heart_disease_model:1.0
  • Maakt images/containers makkelijker te herkennen en beheren.
  • Helpt een gedetailleerd, robuust modelregister te onderhouden.
  • Na taggen zijn we klaar om te deployen!

Deploy als pijl weergegeven

End-to-End Machine Learning

Best practices

Docker maakt modellen verpakken makkelijk, maar...

  • Let op security
  • Geen gevoelige data opnemen
  • Gebruik vertrouwde images (geverifieerde makers)

Als je app wél gevoelige info heeft...

  • Gebruik omgevingsvariabelen
  • Bijv. voor connection strings/wachtwoorden

Beveiligingsslot

End-to-End Machine Learning

Laten we oefenen!

End-to-End Machine Learning

Preparing Video For Download...