Utforska lösningsarkitekturen

Slutförd

När du arbetar med mindre projekt med mindre team kan det vara bra att ha en Azure Machine Learning-arbetsyta. Den enda arbetsytan kan användas för allt: för att träna, testa och distribuera din modell. Men på Proseware vill du ha en robust och framtidssäker lösning som enkelt kan skalas när du skapar och underhåller flera modeller som du vill integrera med vår webbapp för utövare.

För att snabbt men säkert flytta en modell från utveckling till produktion har du kommit överens om en arkitektur för maskininlärningsåtgärder på hög nivå (MLOps).

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).

Arkitekturen innehåller:

  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.

För att arbeta med maskininlärningsmodeller i stor skala vill Proseware använda separata miljöer för olika faser. Om du har separata miljöer blir det enklare att kontrollera åtkomsten till resurser. Varje miljö kan sedan associeras med en separat Azure Machine Learning-arbetsyta.

Kommentar

I den här modulen refererar vi till DevOps-tolkningen av miljöer. Observera att Azure Machine Learning även använder termmiljöerna för att beskriva en samling Python-paket som behövs för att köra ett skript. Dessa två miljöbegrepp är oberoende av varandra. Läs mer om Azure Machine Learning-miljöer.

Om du vill tillåta att modeller testas innan de distribueras vill du arbeta med tre miljöer:

Diagram över utvecklings-, mellanlagrings- och produktionsmiljö.

Utvecklingsmiljön används för den inre loopen:

  1. Dataforskare tränar modellen.
  2. Modellen är paketerad och registrerad.

Mellanlagringsmiljön används för en del av den yttre loopen:

  1. Testa koden och modellen med linting och enhetstestning.
  2. Distribuera modellen för att testa slutpunkten.

Produktionsmiljön används för en annan del av den yttre loopen:

  1. Distribuera modellen till produktionsslutpunkten. Produktionsslutpunkten är integrerad med webbprogrammet.
  2. Övervaka modellens och slutpunktens prestanda för att utlösa omträning vid behov.

Även om många maskininlärningsuppgifter kan och bör automatiseras, vill du också planera för punkter där du vill ha gated approval. När en modell har tränats och paketerats vill du meddela den ledande dataexperten att verifiera modellen innan den flyttas till mellanlagringsmiljön.

När modellen har testats kraftigt i mellanlagringsmiljön vill du också lägga till gated approval för att säkerställa att någon från programvaruutvecklingsteamet verifierar att alla tester lyckades innan du distribuerar din modell till produktion.

När du arbetar med miljöer kan du med gated approval styra distributioner från en miljö till en annan.