Gå tillbaka

MLOps (Machine Learning Operations)

Vad är MLOps (Machine Learning Operations)?

MLOps (Machine Learning Operations) är en uppsättning metoder och en kultur som syftar till att driftsätta och underhålla maskininlärningsmodeller (ML-modeller) i produktion på ett tillförlitligt och effektivt sätt. Det är en förlängning av DevOps-principerna (som fokuserar på traditionell mjukvaruutveckling) till maskininlärningslivscykeln. MLOps handlar om att överbrygga klyftan mellan data scientists som bygger ML-modeller och IT/driftsteam som ansvarar för att köra dem i produktion.

Att utveckla en fungerande ML-modell är bara första steget. Att få den att leverera kontinuerligt värde i en produktionsmiljö medför unika utmaningar som MLOps adresserar:

  • Reproducerbarhet: Säkerställa att modellträning och resultat kan återskapas konsekvent.
  • Automatisering: Automatisera så mycket som möjligt av ML-pipelinen, från datainsamling och förberedelse till modellträning, validering, driftsättning och övervakning.
  • Skalbarhet: Hantera stora datamängder och träna/driftsätta modeller som kan skalas efter behov.
  • Övervakning och Hantering av Modelldrift (Model Drift): ML-modellers prestanda kan försämras över tid när den data de möter i produktion skiljer sig från den data de tränades på. MLOps inkluderar övervakning för att upptäcka detta och mekanismer för att omskola och uppdatera modeller.
  • Versionshantering: Hantera versioner av data, kod (för modellträning och inferens) och tränade modeller.
  • Samarbete: Underlätta samarbete mellan data scientists, ML-ingenjörer, mjukvaruutvecklare och driftspersonal.
  • Regelefterlevnad och Styrning (Governance): Säkerställa att ML-system uppfyller regulatoriska krav och interna policyer, inklusive spårbarhet och förklarbarhet (explainability).

Olika komponenter inom MLOps

En mogen MLOps-process involverar vanligtvis följande:

  1. Datainsamling och -förberedelse: Automatiserade pipelines för att samla in, rengöra och transformera data för modellträning.
  2. Modellträning och -validering: Automatiserad träning, testning och validering av ML-modeller.
  3. Model Registry: En central plats för att lagra, versionshantera och hantera tränade ML-modeller.
  4. Driftsättning (Deployment): Automatiserade processer för att driftsätta modeller i olika miljöer (t.ex. som API:er, batch-processer, på edge-enheter).
  5. Övervakning (Monitoring): Kontinuerlig övervakning av modellens prestanda, datadrift och systemhälsa i produktion.
  6. Omskolning (Retraining): Automatiserade pipelines för att omskola modeller när deras prestanda försämras eller ny data blir tillgänglig.
  7. CI/CD för ML (Continuous Integration/Continuous Delivery/Continuous Training): Tillämpning av CI/CD-principer för att automatisera hela ML-livscykeln.

MLOps och industrialiseringen av Artificiell Intelligens

I takt med att allt fler organisationer vill operationalisera AI och maskininlärning blir MLOps en kritisk framgångsfaktor. Det möjliggör för företag att gå från enstaka, experimentella ML-projekt till att systematiskt bygga, driftsätta och underhålla robusta och tillförlitliga ML-drivna applikationer i stor skala.

Vanliga frågor om MLOps

Är MLOps samma sak som DevOps?

Nej, men MLOps är starkt inspirerat av DevOps. Man kan se MLOps som en specialisering av DevOps anpassad för de unika utmaningarna med maskininlärning. Medan DevOps fokuserar på att automatisera livscykeln för traditionell mjukvara, hanterar MLOps den mer komplexa livscykeln för ML-modeller, som även inkluderar datahantering, modellträning, validering och kontinuerlig övervakning av modellens prestanda i produktion.

Varför är datahantering så centralt inom MLOps?

Inom traditionell mjukvaruutveckling är koden den primära komponenten som förändras. Inom maskininlärning är både koden och datan avgörande. En ML-modells prestanda är helt beroende av kvaliteten och färskheten på den data den tränas på. MLOps måste därför inkludera robusta processer för att samla in, versionera, validera och förbereda data, vilket skapar en "data pipeline" som är lika viktig som "code pipeline".

Vad menas med "model drift" (modelldrift)?

Modelldrift är fenomenet där en ML-modells prediktionsförmåga försämras över tid. Detta händer eftersom den verkliga världen förändras, och den data som modellen möter i produktion inte längre stämmer överens med den data den ursprungligen tränades på. Ett centralt mål med MLOps är att kontinuerligt övervaka för modelldrift och ha automatiserade processer för att träna om och driftsätta nya versioner av modellen när det behövs.

Andra relevanta ord i samma kategori