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 omvat:

  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. Monitoring: Prestaties van modellen en eindpunten monitoren.

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. Niet alleen beschermen vertakkingen de productiecode, maar zij maken het ook mogelijk om voorgestelde wijzigingen automatisch te verifiëren voordat je ze 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 unittesting doorstaat, 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.