Modul 1: Grundläggande MLOps-principer

I denna första modul introduceras de grundläggande principerna och koncepten inom MLOps. Vi utforskar hur MLOps förhåller sig till traditionell DevOps, vilka utmaningar ML-system ställs inför i produktionsmiljöer, och varför en strukturerad approach är nödvändig för framgångsrika AI-implementationer.

Efter denna modul kommer du att:

  • Kunna definiera MLOps och dess nyckelkomponenter
  • Förstå skillnaden mellan DevOps och MLOps
  • Känna till de unika utmaningarna med ML i produktion
  • Kunna beskriva ML-systemens livscykel
  • Förstå grundläggande MLOps-mognadsnivåer

MLOps (Machine Learning Operations) är en samling metoder och verktyg som kombinerar maskininlärning (ML) med DevOps-principer för att effektivisera och automatisera utveckling, testning, driftsättning och underhåll av ML-system i produktion.

  • MLOps: Metoder för att hantera ML-modeller genom hela deras livscykel
  • Modelllivscykel: Fasen från datainsamling, träning, validering, driftsättning till övervakning och omträning
  • Modelldrift: Försämring av modellprestanda över tid när data förändras
  • Datapipeline: Automatiserad process för datainsamling, validering och förbehandling
  • Träningspipeline: Automatiserad process för modellträning och validering
  • Inferenspipeline: Infrastruktur för att använda tränade modeller för prediktioner
  • Model Registry: Central lagringsplats för ML-modeller med versionshantering
  • Experiment Tracking: Spårning av modellexperiment för reproduktion och jämförelse
DevOps MLOps
———————–
Fokuserar på kod Fokuserar på kod, data, och modeller
Byggbara artefakter (binärer) Byggbara artefakter (modeller) + data
Tester baserade på kodlogik Tester baserade på datakvalitet och modellprestanda
Driftsättning av applikationer Driftsättning av data- och modellpipelines
Övervakning av systemhälsa Övervakning av systemhälsa + modellprestanda
CI/CD (Continuous Integration/Deployment) CI/CD/CT (Continuous Integration/Deployment/Training)
  • Datainsamling och -bearbetning: Insamling, rengöring, validering och förbehandling av data
  • Funktionsutveckling (Feature Engineering): Transformering av rådata till meningsfulla egenskaper
  • Modellträning: Val av algoritm, hyperpararmeterjustering och modellträning
  • Modellutvärdering: Validering av modellens prestanda mot olika mätvärden
  • Modelldriftsättning: Publicering av modellen i produktionsmiljö
  • Modellövervakning: Kontinuerlig övervakning av modellprestanda och datakvalitet
  • Modellunderhåll: Omträning och uppdatering av modeller vid behov

Ett centralt koncept i MLOps är den kontinuerliga feedback-loopen:

1. Från datainsamling till modellpublikation
2. Övervakning av modellprestanda i produktion
3. Detektion av förändringar i data eller prestanda
4. Återgång till datainsamling eller modellträning för förbättring
5. Automatiserad driftsättning av nya modellversioner
  • Manuell databearbetning
  • Manuell modellträning
  • Manuell driftsättning
  • Liten eller ingen automatisering
  • Lämplig för POC och experimentella projekt
  • Automatiserad databearbetning
  • Automatiserad modellträning
  • Fortfarande manuell driftsättning
  • CI/CD för ML kod men inte för driftsättning
  • Lämplig för regelbundna modellupdateringar
  • Fullständigt automatiserad ML-pipeline
  • Automatiserad driftsättning
  • Kontinuerlig träning (CT)
  • Lättviktsövervakning
  • Lämplig för system som kräver frekvent uppdatering
  • Automatiserad feature engineering
  • Automatiserad modellval och hyperparameteroptimering
  • Kontinuerlig träning baserad på data- och modellövervakning
  • Automatiserade beslut om modelldriftsättning
  • Lämplig för avancerade ML-system med hög grad av automation
  • Problem: ML-experiment är svåra att reproducera på grund av slumpmässighet, dataförändring och miljöskillnader
  • Lösning: Versionshantering av data, kod och miljö, fördefinierade slumpfrön, dokumentation av experiment
  • Problem: ML-arbetsflöden är komplexa med många beroende steg
  • Lösning: Arbetsflödeshanteringsverktyg, pipeline-automatisering, containerisering
  • Problem: Svårt att förstå hur en specifik modell skapades och med vilka data
  • Lösning: Experimentspårning, modellregistrering, linjespårning (lineage tracking)
  • Problem: ML-modeller kan försämras över tid eller fungera oväntat
  • Lösning: Automatiserade tester, driftövervakning, prestanda-benchmarks, A/B-testning
  • Bygger och underhåller ML-pipelines
  • Ansvarar för automatisering av ML-arbetsflöden
  • Hanterar infrastruktur för ML-system
  • Utforskar och analyserar data
  • Utvecklar ML-modeller
  • Utför experiment för att förbättra modellprestanda
  • Hanterar infrastruktur som kod
  • Implementerar CI/CD-pipelines
  • Säkerställer systemsäkerhet och skalbarhet
  • Definierar ML-produktens krav och riktning
  • Överbryggar gapet mellan teknik och affär
  • Prioriterar ML-funktioner och förbättringar

1. Diskussion: Identifiera MLOps-utmaningar i din organisation eller projekt 2. Kartläggning: Skapa en visuell representation av ML-livscykeln för ett specifikt ML-projekt 3. Självutvärdering: Bestäm MLOps-mognadsnivån för din organisation och identifiera nästa steg för förbättring

  • MLflow: Introduktion till experiment tracking och modellhantering
  • DVC (Data Version Control): Grundläggande koncept för dataversionering
  • Kubeflow: Översikt av orkestrering för ML-pipelines
  • ”Machine Learning Operations (MLOps): Overview, Definition, and Architecture” - N. Paleyes, et al.
  • ”Hidden Technical Debt in Machine Learning Systems” - D. Sculley, et al.
  • ”ML Engineering: An Introduction” - Andriy Burkov
  • ”Continuous Delivery for Machine Learning” - Continuous Delivery Foundation
  • MLOps är en utvidgning av DevOps med särskilt fokus på ML-utmaningar
  • ML-system har unika utmaningar som kräver specialiserade verktyg och metoder
  • En strukturerad approach till ML-livscykeln är avgörande för framgångsrik AI-implementering
  • Mognadsnivån för MLOps bör anpassas efter organisationens behov och resurser
  • MLOps kräver tvärfunktionellt samarbete mellan olika roller och expertisområden

I nästa modul kommer vi att fokusera på versionshantering av data, modeller och kod, vilket är grundläggande för att uppnå reproduktion och spårbarhet i ML-system.