De oplossingsarchitectuur verkennen

Voltooid

Laten we de architectuur bekijken die u hebt besloten voor de MACHINE Learning Operations -werkstroom (MLOps) om te begrijpen waar en wanneer we de code moeten verifiëren.

Diagram van machine learning-bewerkingsarchitectuur.

Notitie

Het diagram is een vereenvoudigde weergave van een MLOps-architectuur. Als u een gedetailleerdere architectuur wilt bekijken, bekijkt u de verschillende use cases in de MLOps-oplossingsversneller (v2).

Het belangrijkste doel van de MLOps-architectuur is het maken van een robuuste en reproduceerbare oplossing. De architectuur kan als volgende worden bereikt:

  1. Installatie: Maak alle benodigde Azure-resources voor de oplossing.
  2. Modelontwikkeling (interne lus): de gegevens verkennen en verwerken om het model te trainen en te evalueren.
  3. Continue integratie: het model verpakken en registreren.
  4. Modelimplementatie (outer loop): implementeer het model.
  5. Continue implementatie: test het model en promoot het naar de productieomgeving.
  6. Bewaking: model- en eindpuntprestaties bewaken.

Als u een model van ontwikkeling naar implementatie wilt verplaatsen, hebt u continue integratie nodig. Tijdens continue integratie verpakt en registreert u het model. Voordat u echter een model inpakt, moet u de code controleren die wordt gebruikt om het model te trainen.

Samen met het data science-team hebt u besloten om trunk-based development te gebruiken. De productiecode wordt niet alleen beveiligd met vertakkingen, maar u kunt ook automatisch voorgestelde wijzigingen verifiëren voordat u deze samenvoegt met de productiecode.

Laten we de werkstroom voor een data scientist verkennen:

Diagram van ontwikkeling op basis van trunk, inclusief automatische codeverificatie wanneer een pull-aanvraag wordt gemaakt.

  1. De productiecode wordt gehost in de hoofdbranch .
  2. Een data scientist maakt een functiebranch voor modelontwikkeling.
  3. De data scientist maakt een pull-aanvraag om wijzigingen naar de hoofdbranch te pushen.
  4. Wanneer een pull-aanvraag wordt gemaakt, wordt een GitHub Actions-werkstroom geactiveerd om de code te verifiëren.
  5. Wanneer de code linting en eenheidstests doorgeeft, moet de hoofdgegevenswetenschapper de voorgestelde wijzigingen goedkeuren.
  6. Nadat de hoofdgegevenswetenschapper de wijzigingen goedkeurt, wordt de pull-aanvraag samengevoegd en wordt de hoofdbranch dienovereenkomstig bijgewerkt.

Als machine learning-engineer moet u een GitHub Actions-werkstroom maken die de code verifieert door een linter en eenheidstests uit te voeren wanneer er een pull-aanvraag wordt gemaakt.