Sdílet prostřednictvím


Správa modelů MLOps 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í)

Tento článek popisuje, jak Azure Machine Learning používá operace strojového učení (MLOps) ke správě životního cyklu vašich modelů. Použití postupů MLOps může zlepšit kvalitu a konzistenci řešení strojového učení.

MLOps je založen na principech a postupech DevOps , které zvyšují efektivitu pracovních postupů, jako je kontinuální integrace, průběžné nasazování a průběžné doručování. Výsledkem použití těchto principů na životní cyklus strojového učení je:

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

Možnosti MLOps

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

  • Vytvořte reprodukovatelné kanály strojového učení, které definují opakovatelné a opakovaně použitelné kroky pro procesy přípravy, trénování a vyhodnocování dat.
  • Vytvořte opakovaně použitelná softwarová prostředí pro trénování a nasazování modelů.
  • Zaregistrujte, zabalte a nasaďte modely odkudkoli a sledujte související metadata potřebná k použití modelu.
  • Data rodokmenu protokolů pro zásady správného řízení životního cyklu strojového učení, například kdo publikoval modely, proč byly provedeny změny a kdy byly modely nasazeny nebo použity v produkčním prostředí.
  • Upozorněte a upozorněte na události životního cyklu strojového učení, jako je dokončení experimentu, registrace modelu, nasazení modelu a detekce odchylek dat.
  • Monitorujte problémy související s provozem a strojovým učením pomocí porovnání vstupů modelů, zkoumáním metrik specifických pro model a zobrazením monitorování a výstrah v infrastruktuře strojového učení.
  • Automatizujte kompletní životní cyklus strojového učení pomocí kanálů strojového učení a azure Pipelines k nepřetržitému testování, aktualizaci a zavádění nových modelů strojového učení.

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

Reprodukovatelné kanály strojového učení

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

V návrháři studio 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, vyberte Klonovat v horním řádku nabídek.

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

Opakovaně použitelná softwarová prostředí

Prostředí Azure Machine Learning zajišťují, že sestavení budou reprodukovatelná bez použití ručních konfigurací softwaru. Prostředí můžou sledovat a reprodukovat softwarové 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 Prostředí Azure Machine Learning.

Registrace, balení a nasazení modelu

Azure Machine Learning může používat MLOps odkudkoli k registraci, zabalení a nasazení modelů.

Registrace a sledování modelů

Registrace modelů ukládá a verze modelů v pracovním prostoru Služby Azure Machine Learning v cloudu Azure. 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 je například váš model uložený ve více souborech, můžete je zaregistrovat jako jeden model v pracovním prostoru Služby Azure Machine Learning. Po registraci můžete stáhnout nebo nasadit registrovaný model a přijmout všechny soubory komponent.

Můžete také zaregistrovat modely, které jsou natrénované mimo Azure Machine Learning. Azure Machine Learning podporuje jakýkoli model, který je možné načíst pomocí Pythonu 3.5.2 nebo novějšího.

Registrované modely identifikujete 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 pomocí těchto značek vyhledat model.

Důležité

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ů

Pokud chcete model nasadit do produkčního prostředí, musíte ho nejprve 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ě.

Nasazení do místního vývojového prostředí je užitečné nejprve, 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 Azure Machine Learning najdete v tématu Vytváření a zrychlení modelů strojového učení.

Nasazení modelů jako koncových bodů

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

Pokud chcete model nasadit jako koncový bod, musíte zadat následující informace:

  • Model použitý k určení skóre dat odeslaných do služby nebo zařízení.
  • Vstupní skript, označovaný také jako bodovací skript, který přijímá požadavky, používá modely k určení skóre dat a vrací odpověď.
  • Prostředí, které popisuje závislosti pip a conda vyžadované modely a vstupním skriptem.
  • Jakékoli další prostředky, jako je text a data, vyžadované modelem a vstupním skriptem.

Důležité

Když nasadíte model MLflow, nemusíte pro nasazení zadávat vstupní skript ani prostředí. Další informace o nasazení modelů MLflow najdete v tématu Pokyny pro nasazení modelů MLflow.

Poskytnete také konfiguraci cílové platformy nasazení, jako je typ rodiny virtuálních počítačů, dostupná paměť a počet jader. Když Azure Machine Learning vytvoří image, přidá také všechny komponenty, které potřebuje, například prostředky potřebné ke spuštění webové služby.

Dávkové bodování s využitím dávkových koncových bodů

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 pomocí online koncových bodů

Modely můžete použít s online koncovými body pro vyhodnocování v reálném čase. Cílové výpočetní prostředky pro online koncové body můžou být místní vývojová prostředí, spravované online koncové body nebo Azure Kubernetes Service (AKS).

Pokud chcete nasadit model do online koncového bodu, musíte zadat následující informace:

  • Model nebo soubor modelů.
  • Závislosti potřebné k použití modelu, například 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

Když nasadíte 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.

Metadata pro zásady správného řízení životního cyklu strojového učení

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čtů používaných k trénování modelu.
  • Registrace modelu 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 jestli jsou nasazení modelu v pořádku.
  • Integrace s Azure umožňuje pracovat s událostmi v životním cyklu strojového učení, jako je registrace modelu, nasazení, posun dat a události trénovacích úloh.

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

Poznámka:

Pokud použijete značky ve filtru podle možnosti na stránce Modely studio Azure Machine Learning, nezapomeňte místo mezer použít TagName=TagValue bez mezer TagName : TagValue.

Oznámení a upozornění na události životního 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í Gitu a Azure Pipelines můžete vytvořit proces kontinuální integrace, který trénuje model strojového učení. 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 můžete 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 Azure Machine Learning při definování připojení služby.
  • Umožňuje vytvoření trénovaného modelu v trénovacím kanálu aktivovat nasazení ve službě Azure Pipelines.

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

Analýzy

Microsoft Power BI podporuje použití modelů strojového učení pro analýzu dat. Další informace najdete v tématu AI s toky dat.