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:
- Otestujte tok a připravte ho na nasazení.
- Vytvoření online nasazení
- Udělení oprávnění koncovému bodu
- Testování koncového bodu
- Využití koncového bodu
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.
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
.
Pokud k vytvoření modulu runtime výpočetní instance používáte prostředí zákazníka, najdete image na stránce podrobností prostředí v studio Azure Machine Learning. Další informace najdete v tématu Přizpůsobení prostředí s kontextem Dockeru pro modul runtime.
Pak potřebujete také zadat obrázek do environment
flow.dag.yaml
složky toku.
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:
Stránka s podrobnostmi o spuštění:
Provede se průvodce konfigurací koncového bodu a zahrnuje následující kroky.
Základní nastavení
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. |
Diagnostika Application Insights | Pokud to povolíte, systémové metriky během doby odvozování (například počet tokenů, latence toku, žádost o tok atd.) se shromáždí do výchozího aplikačního Přehledy pracovního prostoru. Další informace najdete v tématu Výzva toku obsluhující metriky. |
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í.
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 LearningNEBO 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.
Upřesňující nastavení – Nasazení
V tomto kroku kromě značek můžete také zadat prostředí používané nasazením.
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.V kořenové složce složky toku můžete najít
requirements.txt
závislosti a přidat do ní závislosti.
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
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.
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.
Na webu Azure Portal přejděte na stránku přehledu pracovního prostoru Azure Machine Učení.
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í.
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.
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.
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.
(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.
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í:
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.
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_input
kromě . 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.
Zobrazení metrik 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.
Další informace o tom, jak zobrazit metriky online koncových bodů, najdete v tématu Monitorování online koncových bodů.
Zobrazení metrik specifických pro koncové body toku výzvy (volitelné)
Pokud v průvodci nasazením uživatelského rozhraní povolíte diagnostiku Přehledy aplikace nebo ji nastavíte app_insights_enabled=true
v definici nasazení pomocí kódu, zobrazí se následující metriky specifické pro koncové body toku výzvy shromážděné ve výchozím Přehledy aplikace pracovního prostoru.
Název metrik | Typ | Dimenze | Popis |
---|---|---|---|
token_consumption | counter | -Tok -Uzel - llm_engine - token_type: prompt_tokens : Vstupní tokeny rozhraní LLM API; completion_tokens : Tokeny odpovědí rozhraní LLM API ; total_tokens = prompt_tokens + completion tokens |
Metriky spotřeby tokenů Openai |
flow_latency | Histogram | tok, response_code, streamování, response_type | náklady na provedení požadavku, response_type znamená, jestli je úplná/ firstbyte/lastbyte |
flow_request | counter | tok, response_code, výjimka, streamování | počet požadavků toku |
node_latency | Histogram | flow, node, run_status | Náklady na spuštění uzlu |
node_request | counter | flow, node, exception, run_status | Počet spuštění uzlu |
rpc_latency | Histogram | flow, node, api_call | Náklady na rpc |
rpc_request | counter | flow, node, api_call, exception | Počet rpc |
flow_streaming_response_duration | Histogram | tok | streaming response sending cost, from sending first byte to sending last byte |
Výchozí Přehledy aplikace pracovního prostoru najdete na stránce pracovního prostoru na webu Azure Portal.
Otevřete Přehledy aplikace a v levém navigačním panelu vyberte Využití a odhadované náklady. Vyberte Vlastní metriky (Preview) a vyberte S dimenzemi a uložte změnu.
V levém navigačním panelu vyberte kartu Metriky . V oboru názvů metrik vyberte standardní metrikypromptflow a metriky můžete prozkoumat z rozevíracího seznamu Metriky s různými metodami agregace.
Ř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.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í:
- Ujistěte se, že jste identitě koncového bodu udělili správná oprávnění. Přečtěte si další informace o tom, jak udělit oprávnění identitě koncového bodu.
- Důvodem může být to, že jste tok spustili v modulu runtime staré verze a pak jste tok nasadili, nasazení použilo prostředí modulu runtime, které bylo také ve staré verzi. Aktualizujte modul runtime podle těchto pokynů a znovu spusťte tok v nejnovějším modulu runtime a pak tok znovu nasaďte.
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.