Maskininlärningsregister för MLOps

Den här artikeln beskriver hur Azure Machine Learning register frikopplar maskininlärningstillgångar från arbetsytor, så att du kan använda MLOps i utvecklings-, testnings- och produktionsmiljöer. Dina miljöer kan variera beroende på komplexiteten i dina IT-system. Följande faktorer påverkar antalet och typen av miljöer som du behöver:

  • Säkerhets- och efterlevnadsprinciper. Produktionsmiljöer kan behöva isoleras från utvecklingsmiljöer när det gäller åtkomstkontroller, nätverksarkitektur och dataexponering.
  • Prenumerationer. Utvecklingsmiljöer och produktionsmiljöer använder ofta separata prenumerationer för fakturering, budgetering och kostnadshantering.
  • Regioner. Du kan behöva distribuera till olika Azure-regioner för att stödja svarstider och redundanskrav.

I föregående scenarier kan du använda olika Azure Machine Learning-arbetsytor för utveckling, testning och produktion. Den här konfigurationen utgör följande potentiella utmaningar för modellträning och distribution:

  • Du kan behöva 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. Om du till exempel stöter på noggrannhets- eller prestandaproblem med produktionsdistributionen måste du analysera de mått, loggar, kod, miljö och data som du använde för att träna modellen.

  • Du kan behöva utveckla en träningspipeline med testdata eller anonymiserade data i utvecklingsarbetsytan, men träna om modellen med produktionsdata i produktionsarbetsytan. I det här fallet kan du behöva jämföra träningsmått på exempeldata jämfört med produktionsdata för att säkerställa att träningsoptimeringarna fungerar bra med faktiska data.

MLOps för flera arbetsytor med register

Ett register, ungefär som en Git-lagringsplats, frikopplar maskininlärningstillgångar från arbetsytor och är värd för tillgångarna på en central plats, så att alla arbetsytor i din organisation kan komma åt dem. Använd register för att lagra och dela tillgångar som modeller, miljöer, komponenter och datatillgångar.

För att främja modeller genom utvecklings-, test- och produktionsmiljöer börjar du med att iterativt utveckla en modell i utvecklingsmiljön. När du har en bra kandidatmodell publicerar du den i ett register. Du kan sedan distribuera modellen från registret till slutpunkter på olika arbetsytor.

Tips

Om du redan har modeller registrerade på en arbetsyta kan du flytta upp modellerna 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 på andra arbetsytor börjar du med att registrera de komponenter och miljöer som utgör byggstenarna i pipelinen. När du skickar in pipelinejobbet avgör beräkningsresurserna och träningsdata, som är unika för varje arbetsyta, i vilken arbetsyta det ska köras.

Följande diagram visar flytt av träningspipelines mellan explorativa arbetsytor och utvecklingsarbetsytor, och därefter flytt av tränade modeller till test och produktion.

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

Nästa steg