Sdílet prostřednictvím


Nasazení toku jako spravovaného online koncového bodu pro odvozování v reálném čase

Po vytvoření toku a jeho správném otestování můžete chtít nasadit jako koncový bod, abyste mohli koncový bod vyvolat pro odvozování v reálném čase.

V tomto článku se dozvíte, jak nasadit tok jako spravovaný online koncový bod pro odvozování v reálném čase. Kroky, které provedete, jsou:

Důležité

Položky označené (Preview) v tomto článku jsou aktuálně ve verzi Public Preview. Verze Preview je poskytována bez smlouvy o úrovni služeb a nedoporučuje se pro produkční úlohy. Některé funkce se nemusí podporovat nebo mohou mít omezené možnosti. Další informace najdete v dodatečných podmínkách použití pro verze Preview v Microsoft Azure.

Požadavky

  • Zjistěte , jak vytvořit a otestovat tok v toku výzvy.

  • Základní znalosti o spravovaných online koncových bodech. Spravované online koncové body pracují s výkonnými procesory a počítači GPU v Azure škálovatelným a plně spravovaným způsobem, který vám uvolní režii při nastavování a správě základní infrastruktury nasazení. Další informace ospravovaných

  • Řízení přístupu na základě role v Azure (Azure RBAC) slouží k udělení přístupu k operacím ve službě Azure Machine Learning. Aby bylo možné nasadit koncový bod v toku výzvy, musí být vašemu uživatelskému účtu přiřazen datový vědec nebo role AzureML s více oprávněními pro pracovní prostor Azure Machine Učení.

  • Základní znalosti o spravovaných identitách Přečtěte si další informace o spravovaných identitách.

Poznámka:

Spravovaný online koncový bod podporuje jenom spravovanou virtuální síť. Pokud je váš pracovní prostor ve vlastní virtuální síti, musíte vyzkoušet další možnosti nasazení, jako je nasazení do online koncového bodu Kubernetes pomocí rozhraní příkazového řádku nebo sady SDK, nebo nasadit na jiné platformy, jako je Docker.

Sestavení toku a příprava na nasazení

Pokud jste už dokončili úvodní kurz, už jste tok správně otestovali odesláním dávkového spuštění a vyhodnocením výsledků.

Pokud jste kurz nedokončili, musíte vytvořit tok. Osvědčeným postupem je správné testování toku podle dávkového spuštění a vyhodnocení před nasazením.

Jako příklad použijeme ukázkovou webovou klasifikaci toku, abychom ukázali, jak tok nasadit. Tento ukázkový tok je standardní tok. Nasazení toků chatu je podobné. Tok vyhodnocení nepodporuje nasazení.

Definování prostředí používaného nasazením

Když nasadíte tok výzvy do spravovaného online koncového bodu v uživatelském rozhraní, použije se ve výchozím nastavení prostředí vytvořené na základě nejnovější image toku výzvy a závislostí zadaných v requirements.txt toku. Můžete zadat další balíčky, které potřebujete v requirements.txt. V kořenové složce složky toku najdete requirements.txt .

Snímek obrazovky s textem požadavků na tok

Poznámka:

Pokud v Azure DevOps používáte privátní informační kanály, musíte nejprve sestavit image s privátními informačními kanály a vybrat vlastní prostředí pro nasazení v uživatelském rozhraní.

Vytvoření online nasazení

Teď, když jste vytvořili tok a správně ho otestovali, je čas vytvořit online koncový bod pro odvozování v reálném čase.

Tok výzvy podporuje nasazení koncových bodů z toku nebo dávkového spuštění. Doporučuje se otestovat tok před nasazením.

Na stránce pro vytváření toku nebo na stránce podrobností o spuštění vyberte Nasadit.

Stránka vytváření toku:

Snímek obrazovky webové klasifikace na stránce vytváření toku

Stránka s podrobnostmi o spuštění:

Snímek obrazovky webové klasifikace na stránce podrobností o spuštění

Provede se průvodce konfigurací koncového bodu a zahrnuje následující kroky.

Základní nastavení

Snímek obrazovky s průvodcem nasazením na stránce koncového bodu

Tento krok umožňuje nakonfigurovat základní nastavení nasazení.

Vlastnost Popis
Koncový bod Můžete vybrat, jestli chcete nasadit nový koncový bod, nebo aktualizovat existující koncový bod.
Pokud vyberete Možnost Nový, musíte zadat název koncového bodu.
Název nasazení – V rámci stejného koncového bodu by měl být název nasazení jedinečný.
– Pokud vyberete existující koncový bod a zadáte existující název nasazení, bude toto nasazení přepsáno novými konfiguracemi.
Virtuální počítač Velikost virtuálního počítače, která se má použít pro nasazení. Seznam podporovaných velikostí najdete v seznamu skladových položek spravovaných online koncových bodů.
Počet instancí Početinstancích Zadejte hodnotu očekávané úlohy. Pro zajištění vysoké dostupnosti doporučujeme nastavit hodnotu alespoň na 3. Pro provádění upgradů si vyhrazujeme dalších 20 %. Další informace najdete v tématu spravované kvóty online koncových bodů.
Shromažďování dat odvozování Pokud to povolíte, vstupy a výstupy toku se automaticky shromažďují ve službě Azure Machine Učení datovém prostředku a dají se použít pro pozdější monitorování. Další informace najdete v tématu monitorování aplikací generující umělé inteligence.

Jakmile dokončíte základní nastavení, můžete vytvoření dokončit přímo zkontrolovat a vytvořit nebo můžete vybrat Další a nakonfigurovat upřesňující nastavení.

Upřesnit nastavení – koncový bod

Pro koncový bod můžete zadat následující nastavení.

Snímek obrazovky s nastavením koncového bodu průvodce nasazením

Authentication type

Metoda ověřování pro koncový bod. Ověřování na základě klíčů poskytuje primární a sekundární klíč, jehož platnost nevyprší. Ověřování založené na tokenech Azure Machine Učení poskytuje token, který se pravidelně aktualizuje automaticky. Další informace o ověřování najdete v tématu Ověřování u online koncového bodu.

Typ identity

Koncový bod potřebuje přístup k prostředkům Azure, jako je Azure Container Registry nebo připojení pracovního prostoru k odvozování. Přístup k prostředkům Azure můžete povolit tak, že koncovému bodu udělíte oprávnění ke své spravované identitě.

Identita přiřazená systémem se po vytvoření koncového bodu automaticky vytvoří, zatímco identitu přiřazenou uživatelem vytvoří uživatel. Přečtěte si další informace o spravovaných identitách.

Přiřazeno systémem

Všimněte si, že existuje možnost vynutit přístup k tajným kódům připojení (Preview). Pokud váš tok používá připojení, musí koncový bod přistupovat k připojením, aby bylo možné provést odvozování. Možnost je ve výchozím nastavení povolená, koncový bod se udělí roli Azure Machine Učení Workspace Připojení ion Secrets Reader pro přístup k připojením automaticky, pokud máte oprávnění ke čtení tajných kódů připojení. Pokud tuto možnost zakážete, musíte tuto roli udělit identitě přiřazené systémem ručně sami nebo požádat o pomoc správce. Přečtěte si další informace o tom, jak udělit oprávnění identitě koncového bodu.

Přiřazeno uživatelem

Při vytváření nasazení se Azure pokusí vyžádat image kontejneru uživatele z pracovního prostoru Azure Container Registry (ACR) a připojit uživatelský model a artefakty kódu do kontejneru uživatele z účtu úložiště pracovního prostoru.

Pokud jste vytvořili přidružený koncový bod s identitou přiřazenou uživatelem, musí být před vytvořením nasazení udělena následující role. Jinak vytvoření nasazení selže.

Obor Role Proč je to potřeba
Pracovní prostor služby Azure Machine Learning Role Čtenář tajných kódů pro připojení pracovního prostoru Azure Machine Learning NEBO přizpůsobená role s klíčem „Microsoft.MachineLearningServices/workspaces/connections/listsecrets/action“ Získejte připojení k pracovnímu prostoru
Registr kontejneru pracovního prostoru ACR pull Image kontejneru pro přijetí změn
Výchozí úložiště pracovního prostoru Čtenář dat v objektech blob služby Storage Načtení modelu z úložiště
(Volitelné) Pracovní prostor Azure Machine Learning Zapisovač metrik pracovního prostoru Toto oprávnění je nutné identitě udělit v případě, že po nasazení koncového bodu chcete monitorovat metriky související s koncovými body, jako je využití procesoru, GPU, disku nebo paměti.

Podrobné pokyny k udělení oprávnění identitě koncového bodu najdete v tématu Udělení oprávnění ke koncovému bodu.

Důležité

Pokud váš tok používá ověřovací připojení založená na Microsoft Entra ID, bez ohledu na to, jestli používáte identitu přiřazenou systémem nebo identitu přiřazenou uživatelem, musíte spravované identitě vždy udělit příslušné role odpovídajících prostředků, aby bylo možné volat rozhraní API pro daný prostředek. Pokud například vaše připojení Azure OpenAI používá ověřování založené na ID Microsoftu, musíte udělit identitě spravované koncovým bodem Cognitive Services openAI uživatele nebo přispěvatele OpenAI služeb Cognitive Services s odpovídajícími prostředky Azure OpenAI.

Upřesňující nastavení – Nasazení

V tomto kroku kromě značek můžete také zadat prostředí používané nasazením.

Snímek obrazovky s prostředím nasazení

Použití prostředí aktuální definice toku

Ve výchozím nastavení bude nasazení používat prostředí vytvořené na základě základní image zadané v flow.dag.yaml závislosti zadané v souboru requirements.txt.

  • Základní image můžete zadat výběrem flow.dag.yaml Raw file mode toku. Pokud není zadána žádná image, výchozí základní image je nejnovější základní image toku výzvy.

    Snímek obrazovky s určením základního obrázku v nezpracovaném souboru yaml toku

  • V kořenové složce složky toku můžete najít requirements.txt závislosti a přidat do ní závislosti.

    Snímek obrazovky s textem požadavků na tok

Použití přizpůsobeného prostředí

Můžete také vytvořit přizpůsobené prostředí a použít ho pro nasazení.

Poznámka:

Vaše vlastní prostředí musí splňovat následující požadavky:

  • Image dockeru musí být vytvořena na základě základní image toku výzvy, mcr.microsoft.com/azureml/promptflow/promptflow-runtime-stable:<newest_version>. Nejnovější verzi najdete tady.
  • definice prostředí musí obsahovat inference_config.

Následuje příklad přizpůsobené definice prostředí.

$schema: https://azuremlschemas.azureedge.net/latest/environment.schema.json
name: pf-customized-test
build:
  path: ./image_build
  dockerfile_path: Dockerfile
description: promptflow customized runtime
inference_config:
  liveness_route:
    port: 8080
    path: /health
  readiness_route:
    port: 8080
    path: /health
  scoring_route:
    port: 8080
    path: /score

Povolení trasování zapnutím diagnostiky Přehledy aplikací (Preview)

Pokud to povolíte, trasování dat a systémových metrik během odvozování (například počet tokenů, latence toku, žádost o tok atd.) se shromáždí do propojené aplikace pracovního prostoru Přehledy. Další informace najdete v tématu Výzva toku obsluhující trasovací data a metriky.

Pokud chcete zadat jinou aplikaci Přehledy jinou než propojenou pracovní prostor, můžete ji nakonfigurovat pomocí rozhraní příkazového řádku.

Upřesnit nastavení – Výstupy a Připojení iony

V tomto kroku můžete zobrazit všechny výstupy toku a určit, které výstupy se zahrnou do odpovědi na nasazený koncový bod. Ve výchozím nastavení jsou vybrány všechny výstupy toku.

Můžete také určit připojení používaná koncovým bodem při jeho odvozování. Ve výchozím nastavení jsou zděděné z toku.

Jakmile nakonfigurujete a zkontrolujete všechny výše uvedené kroky, můžete vytvoření dokončit výběrem možnosti Zkontrolovat a vytvořit .

Poznámka:

Počítejte s tím, že vytvoření koncového bodu bude trvat přibližně 15 minut, protože obsahuje několik fází, mezi které patří vytvoření koncového bodu, registrace modelu, vytvoření nasazení atd.

Průběh vytváření nasazení můžete pochopit prostřednictvím oznámení, které začíná nasazením toku výzvy. Snímek obrazovky s oznámením o nasazení

Udělení oprávnění koncovému bodu

Důležité

Udělení oprávnění (přidání přiřazení role) je povoleno jen pro vlastníka konkrétních prostředků Azure. Možná budete muset požádat správce IT o pomoc. Před vytvořením nasazení se doporučuje udělit rolím identitu přiřazenou uživatelem. Než se udělené oprávnění projeví, trvá to déle než 15 minut.

Všechna oprávnění můžete udělit v uživatelském rozhraní webu Azure Portal pomocí následujícího postupu.

  1. Na webu Azure Portal přejděte na stránku přehledu pracovního prostoru Azure Machine Učení.

  2. Vyberte Řízení přístupu a vyberte Přidat přiřazení role. Snímek obrazovky řízení přístupu se zvýrazněným přiřazením role pro přidání

  3. Vyberte Azure Machine Učení Workspace Připojení ion Secrets Reader, přejděte na Další.

    Poznámka:

    Azure Machine Učení Workspace Připojení ion Secrets Reader je integrovaná role, která má oprávnění získat připojení pracovního prostoru.

    Pokud chcete použít přizpůsobenou roli, ujistěte se, že přizpůsobená role má oprávnění Microsoft.Machine Učení Services/workspaces/connections/listsecrets/action. Přečtěte si další informace o vytváření vlastních rolí.

  4. Vyberte spravovanou identitu a vyberte členy.

    Jako identitu přiřazenou systémem vyberte online koncový bod strojového učení v části Spravovaná identita přiřazená systémem a vyhledejte podle názvu koncového bodu.

    Jako identitu přiřazenou uživatelem vyberte spravovanou identitu přiřazenou uživatelem a vyhledejte ji podle názvu identity.

  5. Pro identitu přiřazenou uživatelem musíte také udělit oprávnění registru kontejneru pracovního prostoru a účtu úložiště. Registr kontejneru a účet úložiště najdete na stránce přehledu pracovního prostoru na webu Azure Portal.

    Snímek obrazovky se stránkou přehledu se zvýrazněným registrem úložiště a kontejneru

    Přejděte na stránku přehledu registru kontejneru pracovního prostoru, vyberte Řízení přístupu a vyberte Přidat přiřazení role a přiřaďte přijetí změn ACR |Načíst image kontejneru do identity koncového bodu

    Přejděte na výchozí stránku přehledu úložiště pracovního prostoru, vyberte Řízení přístupu a vyberte Přidat přiřazení role a přiřaďte čtenář dat objektů blob služby Storage identitě koncového bodu.

  6. (volitelné) Pokud chcete u identity přiřazené uživatelem monitorovat metriky související s koncovým bodem, jako je využití procesoru, GPU, disku nebo paměti, musíte identitě udělit také roli zapisovače metrik pracovního prostoru.

Kontrola stavu koncového bodu

Po dokončení průvodce nasazením budou k dispozici oznámení. Po úspěšném vytvoření koncového bodu a nasazení můžete v oznámení na stránce podrobností koncového bodu vybrat podrobnosti o nasazení.

Můžete také přímo přejít na stránku Koncové body v sadě Studio a zkontrolovat stav nasazeného koncového bodu.

Snímek obrazovky se stránkou podrobností koncového bodu zobrazující úspěšné nasazení

Testování koncového bodu s ukázkovými daty

Na stránce podrobností koncového bodu přepněte na kartu Test .

Můžete zadat hodnoty a vybrat tlačítko Test .

Výsledek testu ukazuje následující:

Snímek obrazovky se stránkou podrobností koncového bodu na kartě Test

Testování koncového bodu nasazeného z toku chatu

U koncových bodů nasazených z toku chatu ho můžete otestovat v imerzivním okně chatu.

Snímek obrazovky s koncovým bodem nasazeným z toku chatu

Během chat_input vývoje toku chatu byla nastavena. Zprávu můžete zadat do vstupního chat_input pole. Panel Vstupy na pravé straně je určen pro zadání hodnot pro ostatní vstupy chat_inputkromě . Přečtěte si další informace o tom, jak vyvíjet tok chatu.

Využití koncového bodu

Na stránce podrobností koncového bodu přepněte na kartu Spotřebovávat . Můžete najít koncový bod REST a klíč/token pro využívání koncového bodu. K dispozici je také ukázkový kód, který můžete využívat koncový bod v různých jazycích.

Všimněte si, že je potřeba vyplnit hodnoty dat podle vstupů toku. Příklad ukázkového toku použitého v této klasifikaci webu v tomto článku je třeba zadat data = {"url": "<the_url_to_be_classified>"} a vyplnit klíč nebo token v ukázkovém kódu consumption.

Snímek obrazovky se stránkou podrobností koncového bodu s kódem consumption

Monitorování koncových bodů

Zobrazení běžných metrik spravovaných online koncových bodů pomocí služby Azure Monitor (volitelné)

Různé metriky (čísla požadavků, latence požadavků, bajty sítě, využití procesoru, GPU, disku nebo paměti a další) pro online koncový bod a jeho nasazení můžete zobrazit pomocí odkazů na stránce podrobností koncového bodu v sadě Studio. Následující odkazy vás přesnou stránku metrik na webu Azure Portal pro koncový bod nebo nasazení převezmou.

Poznámka:

Pokud pro svůj koncový bod zadáte identitu přiřazenou uživatelem, ujistěte se, že jste přiřadili zapisovač metrik pracovního prostoru služby Azure Machine Učení Workspace vaší identitě přiřazené uživatelem. Jinak koncový bod nebude moct metriky protokolovat.

Snímek obrazovky se stránkou podrobností koncového bodu se zvýrazněnou metrikou zobrazení

Další informace o tom, jak zobrazit metriky online koncových bodů, najdete v tématu Monitorování online koncových bodů.

Zobrazení koncových bodů toku výzvy pro konkrétní metriky a trasování dat (volitelné)

Pokud povolíte diagnostiku Přehledy aplikací v průvodci nasazením uživatelského rozhraní, budou se metriky specifické pro trasování dat a výzvy shromažďovat do propojených aplikačních Přehledy pracovního prostoru. Podívejte se na podrobnosti o povolení trasování pro vaše nasazení.

Řešení potíží s koncovými body nasazenými pomocí toku instrukcí

Chybí autorizace k provedení akce Microsoft.Machine Učení Service/workspaces/datastores/read.

Pokud tok obsahuje nástroj Vyhledávání indexu po nasazení toku, musí koncový bod přistupovat k úložišti dat pracovního prostoru, aby četl soubor YAML MLIndex nebo složku FAISS obsahující bloky dat a vkládání. Proto musíte ručně udělit identitě koncového bodu oprávnění k tomu.

Identitě koncového bodu můžete udělit AzureML Datoví vědci v oboru pracovního prostoru nebo vlastní roli, která obsahuje akci Machine Učení Service/workspace/datastore/reader.

Chyba MissingDriverProgram

Pokud tok nasadíte s vlastním prostředím a dojde k následující chybě, může to být proto, že jste nezadali v definici vlastního inference_config prostředí.

'error': 
{
    'code': 'BadRequest', 
    'message': 'The request is invalid.', 
    'details': 
         {'code': 'MissingDriverProgram', 
          'message': 'Could not find driver program in the request.', 
          'details': [], 
          'additionalInfo': []
         }
}

Existují 2 způsoby, jak tuto chybu opravit.

  • (Doporučeno) Identifikátor URI image kontejneru najdete na stránce podrobností vlastního prostředí a nastavíte ho jako základní image toku v souboru flow.dag.yaml. Když tok nasadíte v uživatelském rozhraní, stačí vybrat Použít prostředí aktuální definice toku a back-endová služba vytvoří přizpůsobené prostředí založené na této základní imagi a requirement.txt pro vaše nasazení. Přečtěte si další informace o prostředí určeném v definici toku.

    Snímek obrazovky se stránkou podrobností vlastního prostředí

    Snímek obrazovky s určením základního obrázku v nezpracovaném souboru yaml toku

  • Tuto chybu můžete opravit přidáním inference_config do vlastní definice prostředí. Přečtěte si další informace o tom, jak používat přizpůsobené prostředí.

    Následuje příklad přizpůsobené definice prostředí.

$schema: https://azuremlschemas.azureedge.net/latest/environment.schema.json
name: pf-customized-test
build:
  path: ./image_build
  dockerfile_path: Dockerfile
description: promptflow customized runtime
inference_config:
  liveness_route:
    port: 8080
    path: /health
  readiness_route:
    port: 8080
    path: /health
  scoring_route:
    port: 8080
    path: /score

Reakce modelu trvá příliš dlouho

Někdy si můžete všimnout, že reakce nasazení trvá příliš dlouho. K tomu může dojít několika potenciálními faktory.

  • Model není dostatečně výkonný (např. použijte gpt přes text ada).
  • Dotaz indexu není optimalizovaný a trvá příliš dlouho.
  • Tok má mnoho kroků ke zpracování.

Zvažte optimalizaci koncového bodu s výše uvedenými aspekty, abyste zlepšili výkon modelu.

Nepovedlo se načíst schéma nasazení

Když nasadíte koncový bod a chcete ho otestovat na kartě Test na stránce podrobností o koncovém bodu, můžete zkusit následující 2 metody, které tento problém zmírní:

Snímek obrazovky s chybou, která nemůže načíst schéma nasazení na kartě Test na stránce podrobností koncového bodu

Odepření přístupu pro výpis tajných kódů pracovního prostoru

Pokud dojde k chybě typu Přístup odepřen výpisu tajného kódu pracovního prostoru, zkontrolujte, jestli jste udělili správná oprávnění k identitě koncového bodu. Přečtěte si další informace o tom, jak udělit oprávnění identitě koncového bodu.

Vyčištění prostředků

Pokud koncový bod po dokončení tohoto kurzu nepoužijete, měli byste koncový bod odstranit.

Poznámka:

Úplné odstranění může trvat přibližně 20 minut.

Další kroky