MLOps: Správa modelů, nasazení, zavedení a monitorování pomocí Azure Machine Learning
v tomto článku se dozvíte, jak provádět Machine Learning operací (MLOps) v Azure Machine Learning ke správě životního cyklu vašich modelů. MLOps vylepšuje kvalitu a konzistenci vašich řešení pro strojové učení.
Co je MLOps?
Machine Learning operace (MLOps) jsou založené na DevOps principech a postupech, které zvyšují efektivitu pracovních postupů. Například průběžná integrace, doručování a nasazování. MLOps tyto zásady aplikuje na proces strojového učení s cílem:
- Rychlejší experimentování a vývoj modelů
- Rychlejší nasazení modelů do produkčního prostředí
- Sledování kvality a komplexní sledování čárových prvků
MLOps v Azure Machine Learning
Azure Machine Learning poskytuje následující možnosti MLOps:
- vytvořte reprodukovatelné kanály ML. kanály Machine Learning umožňují definovat opakované a opakovaně použitelné kroky pro procesy přípravy, školení a bodování vašich dat.
- Vytvořte opakovaně použitelná softwarová prostředí pro školení a nasazení modelů.
- Zaregistrujte, zabalit a nasaďte modely odkudkoli. Můžete také sledovat přidružená metadata potřebná k použití modelu.
- zaznamenejte si data zásad správného řízení pro celý životní cyklus ML. Zaznamenané údaje mohou zahrnovat to, kdo je publikováním modelů, proč byly provedeny změny a kdy byly modely nasazeny nebo použity v produkčním prostředí.
- upozornění a upozornění na události v životním cyklu ML. Například dokončování experimentů, registrace modelů, nasazení modelu a detekce posunu dat.
- monitorujte ML aplikace pro provozní a ML problémy. porovnejte modelové vstupy mezi školením a odvozením, prozkoumejte metriky specifické pro model a poskytněte monitorování a výstrahy pro vaši infrastrukturu ML.
- automatizujte kompletní životní cyklus ML s Azure Machine Learning a Azure Pipelines. použití kanálů umožňuje často aktualizovat modely, testovat nové modely a průběžně zavádět nové modely ML společně s ostatními aplikacemi a službami.
další informace o MLOps najdete v tématu Machine Learning DevOps (MLOps).
vytváření reprodukovatelných kanálů ML
pomocí ML kanálů z Azure Machine Learning spojíte všechny kroky, které jsou součástí procesu školení k modelu.
kanál ML může obsahovat kroky z přípravy dat na extrakci funkcí až po vyladění modelu do hodnocení. další informace najdete v tématu ML kanály.
pokud k vytvoření kanálů ML použijete návrháře , můžete kdykoli kliknout na tlačítko "..." v pravém horním rohu stránky návrháře a pak vybrat klonovat. Klonování kanálu vám umožní iterovat návrh kanálu bez ztráty starých verzí.
Vytváření opakovaně použitelných softwarových prostředí
Azure Machine Learning prostředí umožňují sledovat a reprodukuje závislosti softwaru projektů při jejich vývojech. Prostředí vám umožní zajistit, aby sestavení byla reprodukovatelná bez ručních konfigurací softwaru.
Prostředí popisují závislosti PIP a conda pro vaše projekty a dají se použít jak pro účely školení, tak pro nasazení modelů. další informace najdete v tématu co jsou Azure Machine Learning prostředí.
Registrace, balení a nasazení modelů odkudkoli
registrace a sledování modelů ML
Registrace modelu umožňuje ukládat a modelovat modely v cloudu Azure ve vašem pracovním prostoru. Modelový registr usnadňuje uspořádání a sledování vašich vyškolených modelů.
Tip
Registrovaný model je logický kontejner pro jeden nebo více souborů, které tvoří model. například pokud máte model, který je uložený v několika souborech, můžete je zaregistrovat jako jeden model v pracovním prostoru Azure Machine Learning. Po registraci můžete zaregistrovaný model stáhnout nebo nasadit a získat všechny soubory, které byly zaregistrovány.
Registrované modely se identifikují prostřednictvím názvu a verze. Vždy, když zaregistrujete model se stejným názvem, který již používá existující model, v registru se zvýší jeho verze. Během registrace lze zadat další značky metadat. Tyto značky se pak použijí při hledání modelu. Azure Machine Learning podporuje libovolný model, který lze načíst pomocí pythonu 3.5.2 nebo vyššího.
Tip
Můžete také registrovat modely školení mimo Azure Machine Learning.
Registrovaný model, který se používá v aktivním nasazení, se nedá odstranit. Další informace naleznete v části model registru v tématu nasazení modelů.
Důležité
když použijete možnost filtrovat podle Tags na stránce modely na Azure Machine Learning studiu, místo použití TagName : TagValue zákazníků by se měla použít TagName=TagValue (bez mezer).
Modely profilů
Azure Machine Learning vám může pomáhat pochopit požadavky na procesor a paměť služby, která se vytvoří při nasazení modelu. Profilace testuje službu, která spouští váš model, a vrací informace, jako je využití CPU, využití paměti a latence odezvy. Poskytuje taky doporučení pro procesor a paměť na základě využití prostředků. Další informace najdete v části profilace v tématu nasazení modelů.
Modely balíčků a ladění
Než model nasadíte do produkčního prostředí, je zabalen do image Docker. Ve většině případů probíhá vytváření obrázků automaticky na pozadí během nasazování. Bitovou kopii můžete zadat ručně.
Pokud narazíte na problémy s nasazením, můžete nasadit v místním vývojovém prostředí pro řešení potíží a ladění.
Další informace najdete v tématu nasazení modelů a řešení potíží s nasazeními.
Převod a optimalizace modelů
převod modelu na otevřený neuronové Network Exchange (ONNX) může zvýšit výkon. V průměru může převod na ONNX přinést dvojnásobnou hodnotu zvýšení výkonu.
další informace o ONNX s Azure Machine Learning najdete v článku vytvoření a zrychlení ML modelů .
Použití modelů
Školené modely strojového učení se nasazují jako webové služby v cloudu nebo místně. Nasazení používají pro Inferencing PROCESORy, GPU nebo pole s programovatelnými poli brány (FPGA). Můžete také použít modely z Power BI.
Při použití modelu jako webové služby zadejte následující položky:
- Model (y), které se používají k určení skóre dat odeslaných do služby nebo zařízení.
- Vstupní skript. Tento skript přijímá požadavky, používá model (y) k vyhodnocení dat a vrací odpověď.
- Azure Machine Learning prostředí popisující závislosti pip a Conda, které vyžadují model (y) a skript vstupu.
- Jakékoli další prostředky, například text, data atd., které jsou vyžadovány modelem (y) 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 při nasazení do služby Azure Kubernetes.
Do vytvořené image se dále přidají komponenty, které vyžaduje Azure Machine Learning. Například prostředky potřebné ke spuštění webové služby.
Dávkové vyhodnocování
dávkové vyhodnocování je podporováno prostřednictvím MLch kanálů. Další informace najdete v tématu Dávková předpovědi pro velkéobjemy dat.
Webové služby v reálném čase
Můžete použít vaše modely ve webových službách s následujícími výpočetními cíli:
- Instance kontejneru Azure
- Azure Kubernetes Service
- Místní vývojové prostředí
Chcete-li model nasadit jako webovou službu, je nutné zadat následující položky:
- Model nebo komplet modelů.
- Závislosti vyžadované pro použití modelu Například skript, který přijímá požadavky a vyvolá model, závislosti conda atd.
- Konfigurace nasazení, která popisuje, jak a kde nasadit model.
Další informace najdete v tématu nasazení modelů.
Řízené zavedení
Při nasazování do služby Azure Kubernetes můžete použít řízené zavedení k povolení následujících scénářů:
- Vytvoření více verzí koncového bodu pro nasazení
- Proveďte testování A/B směrováním provozu do různých verzí koncového bodu.
- Přepněte mezi verzemi koncových bodů tak, že aktualizujete procento provozu v konfiguraci koncového bodu.
další informace najdete v tématu řízená zavedení MLch modelů.
Analýzy
Microsoft Power BI podporuje používání modelů strojového učení pro analýzu dat. další informace najdete v tématu integrace Azure Machine Learning v Power BI (preview).
Zaznamenání dat zásad správného řízení požadovaných pro MLOps
Azure ML poskytuje možnost sledovat kompletní záznam auditu všech vašich ML prostředků pomocí metadat.
- Azure ML se integruje s Git , aby mohla sledovat informace o tom, ze kterého úložiště, větvení a potvrzení kódu pochází.
- datové sady Azure ML vám pomůžou sledovat, profilovat a data verze.
- Možnost Interpretace vám umožní vysvětlit vaše modely, dodržovat dodržování předpisů a pochopit, jak modely dorazí ve výsledku pro daný vstup.
- historie spuštění služby Azure ML ukládá snímek kódu, dat a výpočtů používaných pro výuku modelu.
- registr modelu Azure ML zachycuje všechna metadata přidružená k vašemu modelu (které experiment vyškole, kde se nasazuje, pokud je jeho nasazení v pořádku).
- integrace s Azure vám umožní pracovat s událostmi v životním cyklu ML. Například události registrace modelu, nasazení, posunu dat a školení (spustit).
Tip
I když jsou některé informace o modelech a datových sadách automaticky zachyceny, můžete přidat další informace pomocí značek. Při hledání registrovaných modelů a datových sad v pracovním prostoru můžete použít značky jako filtr.
Přidružení datové sady k registrovanému modelu je volitelný krok. Informace o odkazování na datovou sadu při registraci modelu naleznete v tématu model Class reference.
upozornění, automatizace a upozornění na události v životním cyklu ML
azure ML publikuje klíčové události do Azure EventGrid, které je možné použít k oznamování a automatizaci událostí v životním cyklu ML. Další informace najdete v tomto dokumentu.
sledování problémů s provozními & ML
Monitorování vám umožní pochopit, jaká data jsou odesílána do modelu, a předpovědi, který vrátí.
Tyto informace vám pomohou pochopit, jak je model používán. Shromážděná vstupní data mohou být užitečná také při výuce budoucích verzí modelu.
Další informace najdete v tématu Jak povolit shromažďování dat modelu.
Přeučení modelu o nových datech
Často budete chtít model ověřit, aktualizovat nebo dokonce od začátku začít znovu, protože obdržíte nové informace. V některých případech je příjem nových dat očekávanou součástí domény. Jindy, jak je popsáno v tématu detekce posunu dat (Preview) u datových sad, může výkon modelu zhoršit na tvář takových věcí jako změny konkrétního snímače, přirozené změny dat, jako jsou sezónní efekty, nebo funkce, které se v jejich vztahu k ostatním funkcím posunují.
Neexistuje žádná univerzální odpověď na "Návody vědět, jestli by se měl přeškolit?" ale výše popsané nástroje pro sledování událostí a monitorování Azure ML jsou vhodné pro automatizaci. Jakmile se rozhodnete přeškolit, měli byste:
- Předzpracování dat pomocí opakovaného, automatizovaného procesu
- Výuka nového modelu
- Porovnejte výstupy nového modelu s původními modely.
- Pomocí předdefinovaných kritérií vyberte, jestli se má původní model nahradit.
Motivem výše uvedených kroků je, že vaše rekurze by měla být automatizovaná, ne ad hoc. kanály Azure Machine Learning jsou vhodnou odpovědí k vytváření pracovních postupů souvisejících s přípravou, školením, ověřováním a nasazením dat. přečtěte si modely přeučení pomocí návrháře Azure Machine Learning , abyste zjistili, jak kanály a návrháře Azure Machine Learning se vejdou do scénáře přeškolení.
automatizace životního cyklu ML
pomocí GitHub a Azure Pipelines můžete vytvořit proces průběžné integrace, který bude navlacích do modelu. Když se v typickém scénáři zkontroluje data v úložišti Git pro projekt, kanál Azure spustí školicí běh. Výsledky spuštění je pak možné zkontrolovat, aby se zobrazily výkonnostní charakteristiky vyučeného modelu. Můžete také vytvořit kanál, který nasadí model jako webovou službu.
rozšíření Azure Machine Learning usnadňuje práci s Azure Pipelines. Poskytuje následující vylepšení pro Azure Pipelines:
- Umožňuje výběr pracovního prostoru při definování připojení služby.
- Umožňuje aktivované kanály vydání vyškolené modely vytvořené v školicím kanálu.
další informace o použití Azure Pipelines s Azure Machine Learning najdete na následujících odkazech:
- průběžná integrace a nasazování modelů ML s využitím Azure Pipelines
- Azure Machine Learning úložiště MLOps
- Azure Machine Learning úložiště MLOpsPython
Pomocí Azure Data Factory můžete také vytvořit kanál pro příjem dat, který připraví data pro použití s školeními. Další informace najdete v tématu kanálpro příjem dat.
Další kroky
Další informace najdete v tématu o tom, jak číst a prozkoumat následující zdroje:
Postup & nasazení modelů pomocí Azure Machine Learning
Vytváření klientů využívajících nasazený model
Referenční architektury Azure AI & zástupce osvědčených postupů