Machine Learning-register för MLOps

I den här artikeln får du lära dig hur du skalar MLOps i utvecklings-, testnings- och produktionsmiljöer. Dina miljöer kan variera från några till många baserat på IT-miljöns komplexitet och påverkas av faktorer som:

  • Säkerhets- och efterlevnadsprinciper – Måste produktionsmiljöer isoleras från utvecklingsmiljöer när det gäller åtkomstkontroller, nätverksarkitektur, dataexponering osv.?
  • Prenumerationer – Finns dina utvecklingsmiljöer i en prenumeration och produktionsmiljöer i en annan prenumeration? Ofta används separata prenumerationer för fakturering, budgetering och kostnadshantering.
  • Regioner – Behöver du distribuera till olika Azure-regioner för att stödja krav på svarstid och redundans?

I sådana scenarier kanske du använder olika Azure Machine Learning-arbetsytor för utveckling, testning och produktion. Den här konfigurationen innebär följande utmaningar för modellträning och distribution:

  • Du måste träna en modell på en utvecklingsarbetsyta men distribuera den till en slutpunkt på en produktionsarbetsyta, eventuellt i en annan Azure-prenumeration eller region. I det här fallet måste du kunna spåra träningsjobbet. Till exempel för att analysera mått, loggar, kod, miljö och data som används för att träna modellen om du stöter på noggrannhets- eller prestandaproblem med produktionsdistributionen.
  • Du måste utveckla en träningspipeline med testdata eller anonymiserade data på utvecklingsarbetsytan, men träna om modellen med produktionsdata på produktionsarbetsytan. I det här fallet kan du behöva jämföra träningsmått för exempel- och produktionsdata för att säkerställa att träningsoptimeringarna fungerar bra med faktiska data.

MLOps mellan arbetsytor med register

Register, ungefär som en Git-lagringsplats, frikopplar ML-tillgångar från arbetsytor och är värdar för dem på en central plats, vilket gör dem tillgängliga för alla arbetsytor i din organisation.

Om du vill höja upp modeller mellan miljöer (utveckling, testning, prod) börjar du med att iterativt utveckla en modell inom utveckling. När du har en bra kandidatmodell kan du publicera den i ett register. Du kan sedan distribuera modellen från registret till slutpunkter på olika arbetsytor.

Tips

Om du redan har modeller som är registrerade på en arbetsyta kan du flytta upp dem till ett register. Du kan också registrera en modell direkt i ett register från utdata från ett träningsjobb.

Om du vill utveckla en pipeline på en arbetsyta och sedan köra den i andra börjar du med att registrera de komponenter och miljöer som utgör byggstenarna i pipelinen. När du skickar pipelinejobbet väljs arbetsytan som den körs i av beräknings- och träningsdata, som är unika för varje arbetsyta.

Följande diagram illustrerar befordran av pipelines mellan undersökande arbetsytor och utvecklingsarbetsytor och sedan modellhöjning mellan utveckling, testning och produktion.

Diagram över pipeline- och modellanvändning i olika miljöer.

Nästa steg