Het doel van dit volwassen model is om de principes en procedures van Machine Learning Operations (MLOps) te verduidelijken. Het volwassen model toont de continue verbetering in het maken en gebruiken van een machine learning-toepassingsomgeving op productieniveau. U kunt deze gebruiken als metrische waarde voor het vaststellen van de progressieve vereisten die nodig zijn om de volwassenheid van een machine learning-productieomgeving en de bijbehorende processen te meten.
Volwassenheidsmodel
Het MLOps-volwassen model helpt de DevOps-principes en -procedures (Development Operations) te verduidelijken die nodig zijn om een succesvolle MLOps-omgeving uit te voeren. Het is bedoeld om hiaten te identificeren in de poging van een bestaande organisatie om een dergelijke omgeving te implementeren. Het is ook een manier om u te laten zien hoe u uw MLOps-mogelijkheden in stappen kunt vergroten in plaats van overweldigd te worden met de vereisten van een volledig volwassen omgeving. Gebruik deze als richtlijn voor het volgende:
Maak een schatting van het bereik van het werk voor nieuwe afspraken.
Stel realistische succescriteria vast.
Identificeer producten die u aan het einde van de afspraak zult overhandigen.
Net als bij de meeste volwassen modellen beoordeelt het MLOps-volwassen model kwalitatief mensen/cultuur, processen/structuren en objecten/technologie. Naarmate het vervaldatumniveau toeneemt, neemt de kans toe dat incidenten of fouten leiden tot verbeteringen in de kwaliteit van de ontwikkelings- en productieprocessen.
Het MLOps-volwassen model omvat vijf niveaus van technische mogelijkheden:
Niveau |
Beschrijving |
Hoogtepunten |
Technologie |
0 |
Geen MLOps |
- Moeilijk om de volledige levenscyclus van machine learning-modellen te beheren
- De teams zijn ongelijk en releases zijn pijnlijk
- De meeste systemen bestaan als 'zwarte vakken', weinig feedback tijdens/na de implementatie
|
- Handmatige builds en implementaties
- Handmatig testen van model en toepassing
- Geen gecentraliseerd bijhouden van modelprestaties
- Het trainen van het model is handmatig
|
1 |
DevOps, maar geen MLOps |
- Releases zijn minder pijnlijk dan Geen MLOps, maar vertrouwen op Data Team voor elk nieuw model
- Nog steeds beperkte feedback over hoe goed een model presteert in productie
- Moeilijk om resultaten te traceren/reproduceren
|
- Geautomatiseerde builds
- Geautomatiseerde tests voor toepassingscode
|
2 |
Geautomatiseerde training |
- Trainingsomgeving is volledig beheerd en traceerbaar
- Eenvoudig te reproduceren model
- Releases zijn handmatig, maar lage wrijving
|
- Geautomatiseerde modeltraining
- Gecentraliseerd bijhouden van modeltrainingsprestaties
- Modelbeheer
|
3 |
Geautomatiseerde modelimplementatie |
- Releases zijn weinig wrijving en automatisch
- Volledige tracering van implementatie naar oorspronkelijke gegevens
- Volledige omgeving beheerd: testproductie trainen > >
|
- Geïntegreerde A/B-test van modelprestaties voor implementatie
- Geautomatiseerde tests voor alle code
- Gecentraliseerd bijhouden van modeltrainingsprestaties
|
4 |
Volledige geautomatiseerde MLOps-bewerkingen |
- Volledig systeem geautomatiseerd en eenvoudig bewaakt
- Productiesystemen bieden informatie over het verbeteren en, in sommige gevallen, automatisch verbeteren met nieuwe modellen
- Een systeem zonder downtime naderen
|
- Geautomatiseerde modeltraining en -tests
- Uitgebreide, gecentraliseerde metrische gegevens van geïmplementeerd model
|
De tabellen die volgen, identificeren de gedetailleerde kenmerken voor dat procesniveau. Het model blijft zich ontwikkelen.
Niveau 0: Geen MLOps
Personen |
Model maken |
Modelrelease |
Integratie van toepassingen |
- Data scientists: siloed, niet in reguliere communicatie met het grotere team
- Data engineers (indien aanwezig): siloed, niet in reguliere communicatie met het grotere team
- Softwaretechnici: siloed, ontvangen model op afstand van de andere teamleden
|
- Gegevens die handmatig zijn verzameld
- Compute wordt waarschijnlijk niet beheerd
- Experimenten worden niet voorspelbaar bijgehouden
- Eindresultaat kan een enkel modelbestand handmatig worden overgedragen met invoer/uitvoer
|
- Handmatig proces
- Scorescript kan handmatig worden gemaakt na experimenten, niet door versiebeheer
- Release die alleen wordt afgehandeld door data scientist of data engineer
|
- Sterk afhankelijk van de expertise van data scientist om te implementeren
- Handmatige releases elke keer
|
Niveau 1: DevOps geen MLOps
Personen |
Model maken |
Modelrelease |
Integratie van toepassingen |
- Data scientists: siloed, niet in reguliere communicatie met het grotere team
- Data engineers (indien aanwezig): siloed, niet in reguliere communicatie met het grotere team
- Softwaretechnici: siloed, ontvangen model op afstand van de andere teamleden
|
- Gegevenspijplijn verzamelt automatisch gegevens
- Compute wordt wel of niet beheerd
- Experimenten worden niet voorspelbaar bijgehouden
- Eindresultaat kan een enkel modelbestand handmatig worden overgedragen met invoer/uitvoer
|
- Handmatig proces
- Scorescript kan handmatig worden gemaakt na experimenten, waarschijnlijk versiebeheer
- Wordt doorgegeven aan softwaretechnici
|
- Er bestaan basisintegratietests voor het model
- Sterk afhankelijk van expertise van data scientist om model te implementeren
- Releases geautomatiseerd
- Toepassingscode bevat eenheidstests
|
Niveau 2: Geautomatiseerde training
Personen |
Model maken |
Modelrelease |
Integratie van toepassingen |
- Gegevenswetenschappers: rechtstreeks werken met data engineers om experimentencode te converteren naar herhaalbare scripts/taken
- Data engineers: Werken met gegevenswetenschappers
- Softwaretechnici: siloed, ontvangen model op afstand van de andere teamleden
|
- Gegevenspijplijn verzamelt automatisch gegevens
- Beheerd rekenproces
- Bijgehouden experimentresultaten
- Zowel trainingscode als resulterende modellen worden versiebeheerd
|
- Handmatige release
- Scorescript is versiebeheer met tests
- Release beheerd door software-engineeringteam
|
- Er bestaan basisintegratietests voor het model
- Sterk afhankelijk van expertise van data scientist om model te implementeren
- Toepassingscode bevat eenheidstests
|
Niveau 3: Geautomatiseerde modelimplementatie
Personen |
Model maken |
Modelrelease |
Integratie van toepassingen |
- Gegevenswetenschappers: rechtstreeks werken met data engineers om experimentencode te converteren naar herhaalbare scripts/taken
- Data engineers: werken met gegevenswetenschappers en softwaretechnici om invoer/uitvoer te beheren
- Softwaretechnici: Werken met data engineers om modelintegratie in toepassingscode te automatiseren
|
- Gegevenspijplijn verzamelt automatisch gegevens
- Beheerd rekenproces
- Bijgehouden experimentresultaten
- Zowel trainingscode als resulterende modellen worden versiebeheerd
|
- Automatische release
- Scorescript is versiebeheer met tests
- Release beheerd door CI/CD-pijplijn (Continuous Delivery)
|
- Eenheids- en integratietests voor elke modelrelease
- Minder afhankelijk van de expertise van data scientist voor het implementeren van het model
- Toepassingscode bevat eenheids-/integratietests
|
Niveau 4: Volledige MLOps Geautomatiseerde hertraining
Personen |
Model maken |
Modelrelease |
Integratie van toepassingen |
- Gegevenswetenschappers: rechtstreeks met data engineers werken om experimenteercode te converteren naar herhaalbare scripts/taken. Werken met softwaretechnici om markeringen voor data engineers te identificeren
- Data engineers: werken met gegevenswetenschappers en softwaretechnici om invoer/uitvoer te beheren
- Softwaretechnici: Werken met data engineers om modelintegratie in toepassingscode te automatiseren. Verzamelen van metrische gegevens na implementatie implementeren
|
- Gegevenspijplijn verzamelt automatisch gegevens
- Automatisch opnieuw trainen geactiveerd op basis van metrische productiegegevens
- Beheerd rekenproces
- Bijgehouden experimentresultaten
- Zowel trainingscode als resulterende modellen worden versiebeheerd
|
- Automatische release
- Scorescript is versiebeheer met tests
- Release beheerd door continue integratie en CI/CD-pijplijn
|
- Eenheids- en integratietests voor elke modelrelease
- Minder afhankelijk van de expertise van data scientist voor het implementeren van het model
- Toepassingscode bevat eenheids-/integratietests
|
Volgende stappen