Introduktion till Continuous Integration/Continuous Delivery för maskininlärning

CI/CD för maskininlärning

Ravi Bhadauria

Machine Learning Engineer

Översikt över SDLC

  • SDLC: Software Development Life Cycle
  • Ett systematiskt tillvägagångssätt för hela mjukvaruutvecklingsprocessen
  • SDLC-arbetsflödet avser sekvensen av steg för att nå specifika mål:
    • Build: kompilering och/eller paketering av kod samt lösning av beroenden
    • Test: säkerställer kodens funktionalitet, kvalitet och tillförlitlighet
    • Deploy: processen att göra mjukvaran tillgänglig i en specifik miljö

  Beroendediagram över SDLC-arbetsflödets steg. Build är det första steget, följt av test och deploy.

CI/CD för maskininlärning

SDLC inom maskininlärning

  • Maskininlärningsutveckling kan vara komplex och tidskrävande
    • En modell är en algoritm som utvecklas dynamiskt
    • Datateknik spelar en viktig roll
  • Continuous Integration/Continuous Delivery minskar fel och säkerställer snabbare leverans av ML-mjukvara med hög kvalitet
  • Nödvändigt för effektiv maskininlärning och experimentering
1 https://cloud.google.com/blog/products/ai-machine-learning/making-the-machine-the-machine-learning-lifecycle
CI/CD för maskininlärning

Vad är CI/CD?

  • Continuous Integration (CI): Praktiken att regelbundet bygga, testa och slå samman kodändringar i ett gemensamt förråd
  • Gör det möjligt att upptäcka integrationsproblem tidigt och hålla kodbasen konsekvent
  • Continuous Delivery (CD): Säkerställer att kodändringar kan driftsättas i produktion när som helst, men kräver manuellt godkännande
  • Continuous Deployment (CD): Driftsätter kodändringar automatiskt i produktion utan manuell hantering
CI/CD för maskininlärning

CI/CD inom maskininlärning

  • Databeroenden: Strategier för dataversionshantering
  • Experimentering: Automatisering av hyperparameterjustering
  • Modellversionshantering: Förbättrar samarbete
  • Testparadigm: Går bortom traditionell funktions- och enhetstestning
  • Utmaningar med Continuous Deployment: Komplexitet i modellservning, övervakning och uppdateringar
CI/CD för maskininlärning

Kursens omfattning

Diagram över stegen i ett maskininlärningsprojekt, med betoning på dataförberedelse, modellutveckling samt modellutvärdering och -justering.

CI/CD för maskininlärning

Sammanfattning

  • SDLC-arbetsflödet innefattar att bygga, testa och driftsätta kod
  • Continuous Integration (CI) säkerställer frekvent kodsammanfogning och tidig felidentifiering
  • Continuous Delivery (CD) möjliggör driftsättning av kodändringar med manuellt godkännande
  • Continuous Deployment (CD) automatiserar driftsättning utan manuell hantering
  • CI/CD inom maskininlärning möjliggör
    • Dataversionshantering
    • Modellbygge och modellversionshantering
    • Automatisering av experiment
    • Testning
    • Driftsättning
CI/CD för maskininlärning

Nu kör vi en övning!

CI/CD för maskininlärning

Preparing Video For Download...