Pakowanie i konteneryzacja

End-to-End Machine Learning

Joshua Stapleton

Machine Learning Engineer

Wdrożenie i konteneryzacja

Wdrożenie

  • Pakowanie modelu i zależności w jednostki
  • Do uruchamiania w różnych środowiskach
  • De facto standardem konteneryzacji i wdrażania jest Docker

Faza wdrożenia w cyklu życia uczenia maszynowego

End-to-End Machine Learning

Docker

  • Platforma upraszczająca tworzenie oprogramowania z użyciem kontenerów

Kontenery:

  • Pakują aplikację w samodzielne jednostki
  • Zaprojektowane jako niezależne od platformy
  • Pobierz Dockera

 

Kurs Docker na DataCamp

Logo Docker

End-to-End Machine Learning

Użycie Dockera — część 1

Dockerfile: instrukcje budowania kontenera

# 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

Użycie Dockera — część 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"]

Budowanie zdefiniowanego obrazu:

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

Tagowanie kontenerów

Tagowanie:

docker tag heart_disease_model:latest heart_disease_model:1.0
  • Ułatwia identyfikację obrazów i kontenerów oraz zarządzanie nimi.
  • Pomaga w utrzymaniu szczegółowego i solidnego rejestru modeli.
  • Po otagowaniu model jest gotowy do wdrożenia!

Wdrożenie zobrazowane jako strzałka

End-to-End Machine Learning

Dobre praktyki

Docker ułatwia pakowanie modeli, ale...

  • Dbaj o bezpieczeństwo
  • Nie dołączaj wrażliwych danych
  • Używaj zaufanych obrazów (od zweryfikowanych twórców)

Jeśli aplikacja zawiera poufne informacje...

  • Używaj zmiennych środowiskowych
  • Np. dla ciągów połączeń/haseł

Kłódka bezpieczeństwa

End-to-End Machine Learning

Czas na ćwiczenia!

End-to-End Machine Learning

Preparing Video For Download...