Utforska lösningsarkitekturen

Slutförd

Nu ska vi granska arkitekturen som du har valt för arbetsflödet för maskininlärningsåtgärder (MLOps) för att förstå var och när vi ska verifiera koden.

Diagram över arkitekturen för maskininlärningsåtgärder.

Kommentar

Diagrammet är en förenklad representation av en MLOps-arkitektur. Om du vill visa en mer detaljerad arkitektur kan du utforska de olika användningsfallen i lösningsacceleratorn MLOps (v2).

Huvudmålet med MLOps-arkitekturen är att skapa en robust och reproducerbar lösning. För att uppnå detta omfattar arkitekturen:

  1. Installation: Skapa alla nödvändiga Azure-resurser för lösningen.
  2. Modellutveckling (inre loop): Utforska och bearbeta data för att träna och utvärdera modellen.
  3. Kontinuerlig integrering: Paketera och registrera modellen.
  4. Modelldistribution (yttre loop): Distribuera modellen.
  5. Kontinuerlig distribution: Testa modellen och flytta upp till produktionsmiljön.
  6. Övervakning: Övervaka modell- och slutpunktsprestanda.

Om du vill flytta en modell från utveckling till distribution behöver du kontinuerlig integrering. Under kontinuerlig integrering paketeras och registreras modellen. Innan du paketera en modell måste du dock verifiera koden som används för att träna modellen.

Tillsammans med data science-teamet har du gått med på att använda trunkbaserad utveckling. Grenar skyddar inte bara produktionskoden, det gör också att du automatiskt kan verifiera eventuella föreslagna ändringar innan du sammanfogar den med produktionskoden.

Nu ska vi utforska arbetsflödet för en dataexpert:

Diagram över trunkbaserad utveckling, inklusive automatisk kodverifiering när en pull-begäran skapas.

  1. Produktionskoden finns i huvudgrenen.
  2. En dataexpert skapar en funktionsgren för modellutveckling.
  3. Dataexperten skapar en pull-begäran för att föreslå att push-överföra ändringar till huvudgrenen.
  4. När en pull-begäran skapas utlöses ett GitHub Actions-arbetsflöde för att verifiera koden.
  5. När koden klarar lintning och enhetstestning måste den ledande dataexperten godkänna de föreslagna ändringarna.
  6. När den ledande dataexperten har godkänt ändringarna sammanfogas pull-begäran och huvudgrenen uppdateras därefter.

Som maskininlärningstekniker måste du skapa ett GitHub Actions-arbetsflöde som verifierar koden genom att köra ett linter- och enhetstest när en pull-begäran skapas.