Articles

een overzicht van de End-to-End Machine Learning Workflow

Icon of an eye

in deze sectie bieden we een overzicht op hoog niveau van een typische workflow voor machine learning-gebaseerde softwareontwikkeling.Over het algemeen, het doel van een machine learning project is om een statistisch model te bouwen door het gebruik van verzamelde gegevens en het toepassen van machine learning algoritmen om hen.Daarom bevat elke ML-gebaseerde software drie belangrijke artefacten: Data, ML-Model en Code. Overeenkomend met deze artefacten, bestaat de typische machine learning workflow uit drie hoofdfasen:

  • Data Engineering: Data acquisition & data preparation,
  • ML Model Engineering: ML model training & serving, en
  • Code Engineering: integratie ML model in het eindproduct.

onderstaande figuur toont de kernstappen die betrokken zijn bij een typische ML-workflow.

Machine Learning Engineering

Data Engineering

de eerste stap in een data science workflow is het verzamelen en voorbereiden van de te analyseren gegevens.Typisch, gegevens worden geà ntegreerd vanuit verschillende bronnen en heeft verschillende formaten.De data voorbereiding volgt de data acquisitie stap, die volgens Gartner “een iteratief en agile proces voor het verkennen, combineren, reinigen en transformeren van ruwe data in samengestelde datasets voor data-integratie, Data science, Data discovery en analytics/business intelligence (BI) use cases”.Hoewel de voorbereidingsfase een tussenfase is om gegevens voor analyse voor te bereiden, is deze fase naar verluidt de duurste met betrekking tot middelen en tijd.Gegevensvoorbereiding is een kritische activiteit in de data science workflow omdat het belangrijk is om de verspreiding van gegevensfouten naar de volgende fase, data-analyse, te voorkomen, omdat dit zou resulteren in het afleiden van verkeerde inzichten uit de gegevens.

de Data Engineering pipeline bevat een reeks bewerkingen op de beschikbare gegevens die leiden tot het leveren van trainings-en testdatasets voor de algoritmen voor machine learning:

  1. data inname-het verzamelen van gegevens met behulp van verschillende frameworks en formaten, zoals Spark, HDFS, CSV, enz. Deze stap kan ook synthetische gegevensgeneratie of gegevensverrijking omvatten.
  2. exploratie en validatie – inclusief gegevensprofilering om informatie te verkrijgen over de inhoud en structuur van de gegevens. De uitvoer van deze stap is een set metadata, zoals max, min, avg van waarden. Gegevensvalidatiebewerkingen zijn door de gebruiker gedefinieerde foutdetectiefuncties, die de dataset scannen om enkele fouten op te sporen.
  3. gegevensbeheer (Opschonen) – het proces van het opnieuw formatteren van bepaalde attributen en het corrigeren van fouten in gegevens, zoals de toerekening van ontbrekende waarden.
  4. data Labeling-de werking van de Data Engineering pipeline, waarbij elk gegevenspunt is toegewezen aan een specifieke categorie.
  5. opsplitsen van gegevens-opsplitsen van de gegevens in gegevensverzamelingen voor training, validatie en testen die tijdens de kernfase van machine learning moeten worden gebruikt om het ML-model te produceren.

Modelbouw

de kern van de ML-workflow is de fase van het schrijven en uitvoeren van machine learning-algoritmen om een ML-model te verkrijgen. De Model Engineering pipeline bevat een aantal bewerkingen die leiden tot een definitief model:

  1. Model Training-het proces van het toepassen van de machine learning algoritme op trainingsgegevens om een ML-model te trainen. Het omvat ook feature engineering en de hyperparameter tuning voor het model training activiteit.
  2. Modelevaluatie-valideren van het getrainde model om ervoor te zorgen dat het voldoet aan de oorspronkelijke gecodificeerde doelstellingen voordat het ML-model in productie wordt aangeboden aan de eindgebruiker.
  3. modeltest-het uitvoeren van de definitieve “Modelacceptatietest” met behulp van de dataset van de hold backtest.
  4. Modelverpakking-het proces van de uitvoer van het uiteindelijke ML-model naar een specifiek formaat (bv. PMML, PFA of ONNX), waarin het model wordt beschreven, om te worden gebruikt door de zakelijke toepassing.

Model implementatie

zodra we een machine learning model hebben getraind, moeten we het implementeren als onderdeel van een zakelijke applicatie zoals een mobiele of desktop applicatie.De ML-modellen vereisen verschillende datapunten (feature vector) om voorspellingen te produceren.De laatste fase van de ML workflow is de integratie van het eerder ontwikkelde ML-model in bestaande software.Deze fase omvat de volgende bewerkingen:

  1. Model dienen-het proces van het aanpakken van het ML model artefact in een productie-omgeving.
  2. monitoring van de prestaties van het model – het proces van het observeren van de prestaties van het ML-model op basis van levende en eerder ongeziene gegevens, zoals voorspelling of aanbeveling. In het bijzonder zijn we geïnteresseerd in ML-specifieke signalen, zoals voorspellingsafwijking van eerdere modelprestaties. Deze signalen kunnen worden gebruikt als triggers voor modelherscholing.
  3. Model prestatie-logboekregistratie-elke gevolgaanvraag resulteert in de log-record.