Sdílet prostřednictvím


MLOps: Správa modelů, nasazení a monitorování s využitím služby Azure Machine Learning

PLATÍ PRO:Rozšíření Azure CLI ml v2 (aktuální)Python SDK azure-ai-ml v2 (aktuální)

V tomto článku se dozvíte o postupech operací strojového učení (MLOps) ve službě Azure Machine Learning pro účely správy životního cyklu vašich modelů. Použití postupů MLOps může zlepšit kvalitu a konzistenci řešení strojového učení.

Co je MLOps?

MLOps je založen na principech a postupech DevOps , které zvyšují efektivitu pracovních postupů. Mezi tyto principy patří kontinuální integrace, doručování a nasazování. MLOps tyto principy aplikuje na životní cyklus strojového učení s cílem:

  • Rychlejší experimentování a vývoj modelů
  • Rychlejší nasazení modelů do produkčního prostředí
  • Kontrola kvality a kompletní sledování rodokmenu.

MLOps poskytuje pro proces strojového učení následující možnosti:

  • Vytvořte reprodukovatelné kanály strojového učení. Kanály strojového učení slouží k definování opakovatelných a opakovaně použitelných kroků pro procesy přípravy, trénování a vyhodnocování dat.
  • Vytvořte opakovaně použitelná softwarová prostředí. Tato prostředí použijte k trénování a nasazování modelů.
  • Zaregistrujte, zabalte a nasaďte modely odkudkoli. Sledujte přidružená metadata potřebná k použití modelu.
  • Zachytávání dat zásad správného řízení pro kompletní životní cyklus strojového učení Protokolované informace rodokmenu můžou zahrnovat, kdo publikuje modely a proč byly provedeny změny. Může také zahrnovat nasazení nebo použití modelů v produkčním prostředí.
  • Upozorněte a upozorněte na události v životním cyklu strojového učení. Mezi události patří dokončení experimentu, registrace modelu, nasazení modelu a detekce odchylek dat.
  • Monitorování aplikací strojového učení pro provozní problémy a problémy související se strojovým učením Porovnejte vstupy modelu mezi trénováním a odvozováním. Prozkoumejte metriky specifické pro model. Poskytovat monitorování a výstrahy v infrastruktuře strojového učení
  • Automatizujte kompletní životní cyklus strojového učení pomocí strojového učení a kanálů Azure. Používejte kanály k častému testování a aktualizaci modelů. Nové modely strojového učení můžete průběžně zavádět společně s dalšími aplikacemi a službami.

Další informace o MLOps najdete v tématu Operace strojového učení.

Vytváření reprodukovatelných kanálů strojového učení

Pomocí kanálů Azure Machine Learning můžete spojit všechny kroky v procesu trénování modelu. Kanál strojového učení může obsahovat kroky, které zahrnují přípravu dat, extrakci funkcí, ladění hyperparametrů a vyhodnocení modelu.

Pokud k vytvoření kanálu strojového učení použijete návrháře služby Azure Machine Learning, můžete kanál naklonovat a iterovat jeho návrh bez ztráty starých verzí. Pokud chcete kanál naklonovat kdykoli v návrháři, přejděte do pravého horního rohu a vyberte ...>Klon.

Další informace o kanálech Služby Azure Machine Learning najdete v tématu Kanály strojového učení.

Vytváření opakovaně použitelných softwarových prostředí

Pomocí prostředí Azure Machine Learning můžete sledovat a reprodukovat softwarové závislosti vašich projektů při vývoji. Pomocí prostředí můžete zajistit, aby sestavení byla reprodukovatelná bez ručních konfigurací softwaru.

Prostředí popisují závislosti pip a conda pro vaše projekty. Prostředí můžete použít k trénování a nasazení modelu. Další informace o prostředích najdete v tématu Co jsou prostředí Azure Machine Learning?.

Registrace, zabalení a nasazení modelů odkudkoli

V následujících částech se dozvíte, jak zaregistrovat, zabalit a nasadit modely.

Registrace a sledování modelů strojového učení

Při registraci modelu můžete modely ukládat a vytvářet verze v cloudu Azure ve vašem pracovním prostoru. Registr modelů usnadňuje uspořádání a sledování trénovaných modelů.

Registrovaný model je logický kontejner pro jeden nebo více souborů, které tvoří váš model. Pokud máte například model uložený ve více souborech, můžete je v pracovním prostoru Azure Machine Learning zaregistrovat jako jeden model. Po registraci si pak můžete stáhnout nebo nasadit registrovaný model a přijmout všechny soubory komponent.

Registrované modely můžete identifikovat podle názvu a verze. Pokaždé, když zaregistrujete model se stejným názvem jako existující model, registr zvýší číslo verze. Během registrace můžete zadat značky metadat a tyto značky použít při hledání modelu. Azure Machine Learning podporuje jakýkoli model, který je možné načíst pomocí Pythonu 3.5.2 nebo novějšího.

Tip

Můžete také zaregistrovat modely natrénované mimo Azure Machine Learning.

Důležité

  • Pokud použijete možnost Filtrovat podle Tags na stránce Modely studio Azure Machine Learning místo použití bez TagName : TagValueTagName=TagValue mezer.
  • Zaregistrovaný model, který se používá v aktivním nasazení, nemůžete odstranit.

Další informace o používání modelů ve službě Azure Machine Learning najdete v tématu Práce s modely ve službě Azure Machine Learning.

Balení a ladění modelů

Před nasazením modelu do produkčního prostředí je potřeba ho zabalit do image Dockeru. Ve většině případů se vytváření imagí automaticky provádí na pozadí během nasazování; obrázek však můžete zadat ručně.

Je užitečné nejprve nasadit do místního vývojového prostředí, abyste mohli řešit potíže a ladit před nasazením do cloudu. Tento postup vám pomůže vyhnout se problémům s nasazením do služby Azure Machine Learning. Další informace o řešení běžných problémů s nasazením najdete v tématu Řešení potíží s online koncovými body.

Převod a optimalizace modelů

Model můžete převést na Open Neural Network Exchange (ONNX), abyste se pokusili zlepšit výkon. Převod na ONNX obvykle může zdvojnásobit výkon.

Další informace o ONNX se službou Machine Learning najdete v tématu Vytváření a zrychlení modelů strojového učení.

Modely nasazení

Vytrénované modely strojového učení můžete nasadit jako koncové body v cloudu nebo místně. Nasazení používají procesor a GPU k odvozování.

Při nasazování modelu jako koncového bodu musíte zadat následující položky:

  • Model, který slouží k určení skóre dat odeslaných do služby nebo zařízení.
  • Vstupní skript1. Tento skript přijímá požadavky, používá modely k určení skóre dat a vrací odpověď.
  • Prostředí 2, které popisuje závislosti pip a conda vyžadované modely a vstupním skriptem.
  • Všechny ostatní prostředky, například text a data vyžadovaná modely a vstupním skriptem

Poskytujete také konfiguraci cílové platformy, na kterou model nasazujete. Například typ rodiny virtuálních počítačů, dostupnou paměť a počet jader. Po vytvoření image se také přidají komponenty vyžadované službou Azure Machine Learning, jako jsou prostředky potřebné ke spuštění webové služby.

1,2 Když nasadíte model MLflow, nemusíte zadávat vstupní skript, označovaný také jako bodovací skript. Také nemusíte poskytovat prostředí pro nasazení. Další informace o nasazení modelů MLflow najdete v tématu Pokyny pro nasazení modelů MLflow.

Dávkové vyhodnocování

Dávkové vyhodnocování se podporuje prostřednictvím dávkových koncových bodů. Další informace o dávkovém bodování najdete v tématu Dávkové koncové body.

Bodování v reálném čase

Modely můžete použít s online koncovým bodem pro vyhodnocování v reálném čase. Online koncové body můžou používat následující cílové výpočetní objekty:

  • Spravované online koncové body
  • Azure Kubernetes Service
  • Místní vývojové prostředí

Pokud chcete nasadit model do koncového bodu, musíte zadat následující položky:

  • Model nebo soubor modelů.
  • Závislosti potřebné k použití modelu. Příklady jsou skript, který přijímá požadavky a vyvolává závislosti modelu a conda.
  • Konfigurace nasazení, která popisuje, jak a kde model nasadit.

Další informace o nasazení pro bodování v reálném čase najdete v tématu Nasazení online koncových bodů.

Řízené zavedení pro online koncové body

Při nasazování do online koncového bodu můžete pomocí řízeného zavedení povolit následující scénáře:

  • Vytvořte několik verzí koncového bodu pro nasazení.
  • Proveďte testování A/B směrováním provozu do různých nasazení v rámci koncového bodu.
  • Přepínání mezi nasazeními koncových bodů aktualizací procenta provozu v konfiguraci koncového bodu

Další informace o nasazení pomocí řízeného zavedení najdete v tématu Bezpečné zavedení nových nasazení pro odvozování v reálném čase.

Analýzy

Microsoft Power BI podporuje použití modelů strojového učení pro analýzu dat. Další informace najdete v tématu Integrace služby Azure Machine Learning v Power BI.

Zachycení dat zásad správného řízení vyžadovaných pro MLOps

Azure Machine Learning umožňuje sledovat kompletní záznam auditu všech vašich prostředků strojového učení pomocí metadat. Příklad:

  • Datové prostředky služby Azure Machine Learning vám pomůžou sledovat, profilovat a data verzí.
  • Interpretovatelnost modelů umožňuje vysvětlit modely, splnit dodržování právních předpisů a pochopit, jak modely přicházejí na výsledek pro daný vstup.
  • Historie úloh Azure Machine Learning ukládá snímek kódu, dat a výpočetních prostředků používaných k trénování modelu.
  • Registr modelů služby Azure Machine Learning zachycuje všechna metadata přidružená k vašemu modelu. Který experiment například vytrénoval model, kde se model nasazuje, a pokud jsou nasazení modelu v pořádku.
  • Integrace s Azure umožňuje pracovat s událostmi, jako je registrace modelu, nasazení, posun dat a události trénování (úlohy) v životním cyklu strojového učení.

Tip

I když se některé informace o modelech a datových prostředcích zaznamenávají automaticky, můžete přidat další informace pomocí značek. Když hledáte registrované modely a datové prostředky v pracovním prostoru, můžete jako filtr použít značky.

Oznamování, automatizace a upozorňování na události v životním cyklu strojového učení

Azure Machine Learning publikuje klíčové události do služby Azure Event Grid, které je možné použít k oznamování a automatizaci událostí v životním cyklu strojového učení. Další informace o tom, jak nastavit procesy řízené událostmi na základě událostí služby Azure Machine Learning, najdete v tématu Vlastní pracovní postupy CI/CD a řízené událostmi.

Automatizace životního cyklu strojového učení

Pomocí GitHubu a Azure Pipelines můžete vytvořit proces kontinuální integrace, který trénuje model. Když datový vědec v typickém scénáři zkontroluje změnu v úložišti Git projektu, Azure Pipelines spustí trénovací úlohu. Výsledky úlohy je pak možné zkontrolovat a zobrazit charakteristiky výkonu vytrénovaného modelu. Můžete také vytvořit kanál, který model nasadí jako webovou službu.

Rozšíření Machine Learning usnadňuje práci se službou Azure Pipelines. Rozšíření poskytuje následující vylepšení služby Azure Pipelines:

  • Povolí výběr pracovního prostoru při definování připojení služby.
  • Umožňuje, aby kanály verze aktivovaly natrénované modely vytvořené v trénovacím kanálu.

Další informace o používání služby Azure Pipelines se službou Machine Learning najdete v tématu Použití služby Azure Pipelines se službou Azure Machine Learning.