MLOps: Správa modelů, nasazení a monitorování pomocí služby Azure Machine Učení

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 Učení za účelem 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 Učení spojte 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 Učení, 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 Azure Machine Učení najdete v tématu Kanály strojového učení.

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

Pomocí Učení prostředí Azure Machine 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 Učení?.

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, který je uložený ve více souborech, můžete je zaregistrovat jako jeden model ve svém pracovním prostoru Azure Machine Učení. 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 Učení podporuje libovolný 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 službu Azure Machine Učení.

Důležité

  • Pokud použijete možnost Filtrovat podleTags 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 tom, jak používat modely ve službě Azure Machine Učení, najdete v tématu Práce s modely v azure machine Učení.

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 Učení. 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 s machine Učení naleznete 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 Učení, 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ýza

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 Učení v Power BI.

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

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

  • Datové prostředky azure machine Učení 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.
  • Azure Machine Učení Historie úloh ukládá snímek kódu, dat a výpočtů používaných k trénování modelu.
  • Registr modelů služby Azure Machine Učení 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 Učení 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í Učení azure, 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í Učení počítače 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 strojovými Učení najdete v tématu Použití služby Azure Pipelines se službou Azure Machine Učení.