Introductie tot Continuous Integration/Continuous Delivery voor machine learning

CI/CD voor Machine Learning

Ravi Bhadauria

Machine Learning Engineer

SDLC-overzicht

  • SDLC: Software Development Life Cycle
  • Systematische aanpak van softwareontwikkeling van begin tot eind
  • SDLC-workflow is de reeks stappen om doelen te halen:
    • Build: code compileren en/of verpakken, dependencies oplossen
    • Test: borgt functionaliteit, kwaliteit en betrouwbaarheid van de codebase
    • Deploy: software beschikbaar maken in een specifieke omgeving

  Afhankelijkheidsdiagram van SDLC-stappen. Build eerst, gevolgd door test en deploy.

CI/CD voor Machine Learning

SDLC in machine learning

  • ML-ontwikkeling kan complex en tijdrovend zijn
    • Een model is een algoritme dat dynamisch evolueert
    • Data engineering is belangrijk
  • Continuous Integration/Continuous Delivery verkleint fouten en versnelt levering van hoogwaardige ML-software
  • Essentieel voor efficiënte machine learning en experimentatie
1 https://cloud.google.com/blog/products/ai-machine-learning/making-the-machine-the-machine-learning-lifecycle
CI/CD voor Machine Learning

Wat is CI/CD?

  • Continuous Integration (CI): vaak bouwen, testen en codewijzigingen mergen in een gedeelde repository
  • Helpt issues vroeg te vinden en een consistente codebase te houden
  • Continuous Delivery (CD): maakt deployen naar productie op elk moment mogelijk, met handmatige goedkeuring
  • Continuous Deployment (CD): deployt automatisch naar productie zonder handmatige tussenkomst
CI/CD voor Machine Learning

CI/CD in machine learning

  • Datadependentie: Versiebeheer en beheerstrategieën voor data
  • Experimentatie: Hyperparametertuning automatiseren
  • Modelversiebeheer: Betere samenwerking
  • Testparadigma: Gaat verder dan klassieke functionele en unit-tests
  • Uitdagingen bij continuous deployment: Complexiteit in serving, monitoring en updates van modellen
CI/CD voor Machine Learning

Reikwijdte van deze course

Diagram van stappen in een machine-learningproject, met nadruk op Datavoorbereiding, Modelontwikkeling en Evaluatie & Tuning.

CI/CD voor Machine Learning

Samenvatting

  • De Software Development Life Cycle omvat bouwen, testen en deployen van code
  • Continuous Integration (CI) zorgt voor vaak mergen en vroege foutdetectie
  • Continuous Delivery (CD) laat deployen met handmatige goedkeuring toe
  • Continuous Deployment (CD) automatiseert deployen zonder handmatige tussenkomst
  • CI/CD voor machine learning maakt mogelijk
    • Dataversiebeheer
    • Modellen bouwen en modelversiebeheer
    • Experimenten automatiseren
    • Testen
    • Deployen
CI/CD voor Machine Learning

Laten we oefenen!

CI/CD voor Machine Learning

Preparing Video For Download...