Sdílet prostřednictvím


Aplikační platforma pro úlohy AI v Azure

Je nutné pečlivě zvážit platformu hostování aplikací, na které je nasazená vaše úloha AI, abyste zajistili maximální efektivitu, zabezpečení provozu a spolehlivost.

Tato oblast návrhu pokrývá několik typů aplikací, které můžou být relevantní pro vaši úlohu AI:

  • Průzkumná analýza dat (EDA)
  • Trénování a vyladění modelů
  • Odvozování

Tento článek obsahuje pokyny pro výběr nejlepší platformy pro každou z těchto funkcí, aby splňovaly vaše obchodní potřeby. Existují také obecná doporučení, která můžete použít pro všechny tyto funkce.

Doporučení

Tady je souhrn doporučení uvedených v tomto článku.

Doporučení Popis
Opakovaně používejte nástroje. Začněte vyhodnocením nástrojů, které už používáte, abyste pochopili, jestli se dají znovu použít pro vaši úlohu AI. Pokud podporují požadované funkce a můžou splňovat vaše požadavky na spolehlivost, zabezpečení, náklady a výkon, nemusí být náklady a úsilí.
Zvažte požadavky na dodržování předpisů pro vaše data a oblasti, ve kterých plánujete nasazení. Možná budete muset omezit oblasti, které nasazujete, nebo izolovat jednotlivé části úloh, aby splňovaly požadavky na dodržování předpisů. Přechod do fáze návrhu s využitím těchto informací vám může pomoct chránit před tím, že budete později muset přepracovat návrh.
Minimalizujte budovu. Zvažte řešení Typu platforma jako služba (PaaS) nebo software jako služba (SaaS), abyste minimalizovali provozní zátěž, kterou vytváření vlastního řešení zavádí, jako jsou opravy a jiná údržba. Minimalizace každodenní zátěže vyžadované pro novou technologii zjednodušuje vaše přijetí. Mnoho funkcí umělé inteligence je složitých, proto nedoporučujeme vytvářet vlastní platformu.
Seznamte se s kvótami a limity. Při návrhu pro použití řešení PaaS nebo SaaS porozumíte všem kvótám nebo omezením, které platí. Schopnost škálovat kapacitu tak, aby splňovala vysoké požadavky na provoz, může být ovlivněná kvótami nebo limity, takže možná budete muset upravit návrh tak, aby se toto riziko minimalizovalo.
Nasazení ve stejné oblasti Pokuste se nasadit všechny související prostředky ve stejné oblasti, abyste snížili latenci a zjednodušili návrh.
Procvičte si bezpečné nasazení. Obecně byste měli s rozhraními API pro úlohu AI zacházet stejně jako s jakýmkoli jiným rozhraním API ve vašem prostředí. Všechna rozhraní API by měla být umístěna za bránou a veškerý kód by se měl zpracovávat se stejnými postupy bezpečného nasazení jako všechny ostatní prostředky kódu.
Vytvořte srovnávací testy výkonu prostřednictvím experimentování. Každá úloha AI se liší a množství výpočetních prostředků, které potřebujete, závisí na vašem případu použití. Určete množství a typy výpočetních prostředků, které jsou pro vaši úlohu optimální, provedením důkladného testování srovnávacích testů. Tato příručka vám pomůže vybrat platformu, ale budete vědět, které skladové položky jsou vhodné pro vaši úlohu po testování srovnávacích testů.

Důležité informace o platformě EDA

EDA je běžná předběžná funkce, kterou datoví vědci provádějí před modelováním nebo statistickou analýzou. Je proto možné ji považovat za vývojovou fázi, což znamená, že cíle pro spolehlivost a výkon mohou být výrazně nižší než cíle pro produkční prostředky a zachování produktivity je důležitějším faktorem.

Tato část obsahuje pokyny k možnostem, které je potřeba zvážit při výběru řešení platformy EDA.

Požadavky na funkce

Při vyhodnocování platformy EDA zvažte následující otázky:

  • Podporuje platforma přechodné využití?

    Platforma by měla podporovat přechodné pracovní prostory a výpočetní prostředky, což znamená, že byste měli být schopni zastavit potřebné prostředky, když se nepoužívají. Tato funkce pomáhá řídit náklady. Úlohy EDA jsou obvykle interaktivní, takže uživatelé musí být schopni spouštět virtuální počítače a zastavovat je při spouštění úloh.

  • Podporuje platforma volitelnost výpočetních prostředků?

    Platforma by měla podle potřeby povolit přístup k grafickým procesorům na vyžádání a poskytovat různé možnosti výpočetních prostředků, které vám pomůžou určit správnou velikost platformy.

  • Podporuje platforma MLflow?

    Platforma EDA by měla umožnit zvolit technologii, která umožňuje integraci s MLflow pro sledování experimentů. Jako modelový vývoj, nasazení a protokol pro správu doporučujeme MLflow, protože nabízí následující výhody:

    • Sledování experimentů MLflow umožňuje sledovat experimenty záznamem parametrů, metrik a artefaktů. Tato funkce je nezbytná během EDA, abyste mohli sledovat různé kroky předběžného zpracování dat a techniky přípravy funkcí a jejich dopady na výkon modelu.
    • Reprodukovatelnost. Vzhledem k tomu, že protokoluje všechny podrobnosti o experimentech, MLflow pomáhá zajistit, abyste mohli reprodukovat výsledky, což je důležité pro ověřování zjištění.
    • Správa verzí dat a modelů MLflow pomáhá se správou verzí datových sad a modelů, což usnadňuje správu různých verzí transformací dat a otestovaných modelů.
    • Spolupráce. MLflow poskytuje centralizovanou platformu, kde můžou datoví vědci sdílet své experimenty a výsledky, což usnadňuje spolupráci a sdílení znalostí.

Nefunkční požadavky

Zvažte také tyto otázky:

  • Jak může platforma pomoct řídit náklady?

    Platforma by měla datovým vědcům umožnit provádět svou práci podle svých požadavků plánu, ale měla by mít správnou velikost, aby se zajistilo splnění očekávání nákladů.

  • Jaké požadavky na zabezpečení je potřeba pro platformu dodržovat?

    Data používaná během fáze EDA budou pravděpodobně produkčními daty, která vyžadují, abyste postupovali podle produkčních postupů pro zabezpečení těchto dat a monitorování platformy. Za tímto účelem by vaše platforma měla podporovat všechny nezbytné bezpečnostní prvky, včetně následujících:

    • Přístup a autorizace.
    • Šifrování neaktivních uložených a přenášených dat
    • Požadavky na místní ochranu dat.
    • Robustní funkce monitorování a upozorňování, včetně protokolování a auditovatelnosti
    • Privátní síťový přístup k centralizovaným úložištím pro image kontejnerů, data a prostředky kódu.

Nástroje

Jako platformu EDA můžete použít výpočetní instanci služby Azure Machine Learning se sdílenými složkami na úrovni týmu. Jednou z výjimek je, že váš tým nebo organizace už používá vhodnou hostingovou platformu, například výpočetní clustery s podporou GPU v Databricks. V takovém případě může být vhodnější zůstat na této platformě.

Poznámka:

Pokud nepotřebujete, nevystavujte úplnou platformu EDA. Výpočetní výkon optimalizovaný pro GPU je nákladný a není vhodný, pokud ho váš případ použití nevyžaduje.

Důležité informace o trénování a vyladění platformy modelu

Když přejdete na trénování a vyladění modelů, budete pravděpodobně potřebovat vysokovýkonné výpočty optimalizované pro GPU pro práci náročnou na výpočetní výkon, kterou tyto aktivity vyžadují. Spolehlivost obvykle není tak důležitá jako výkon, protože většina této práce probíhá na pozadí. Pokud je požadavkem vysoká spolehlivost, vyhodnoťte, jestli je potřeba rozšířit úlohy napříč zónami dostupnosti nebo oblastmi. Při časté aktualizaci aktuálnosti modelu se stává důležitější vysoká spolehlivost, která vyžaduje dokončení trénování v přísnějším plánu. RtO by měl určit návrh spolehlivosti, který zvolíte.

Pokyny v této části platí jak pro trénování modelu, tak pro vyladění. Pokud nejste nuceni pro tyto funkce používat samostatné platformy, měli byste použít jednu platformu.

Požadavky na funkce

Při vyhodnocování platforem pro trénování a vyladění modelů zvažte následující otázky:

  • Podporuje platforma přechodné využití?

    Podobně jako aktivity EDA se trénování modelů a vyladění obvykle neběží na plný úvazek, takže byste měli použít platformu, která se dá zastavit, když se nepoužívá, abyste mohli řídit náklady. Na rozdíl od EDA je však trénování modelu obvykle dávkový proces, takže výpočetní prostředky jsou potřeba pouze při spuštění dávky a dají se vypnout až do dalšího spuštění.

  • Poskytuje platforma orchestraci?

    Kvůli složitosti potřebné ke správě výpočetních prostředků pro trénování a vyladění modelu doporučujeme orchestrátor.

  • Mohou být existující technologie ve vašem prostředí součástí řešení?

    Pokud má vaše stávající datová platforma možnosti strojového učení, jako je Azure Databricks , můžete ji použít pro určité kroky, jako je transformace dat a příprava funkcí, trénování, vyladění a další kroky ve službě Machine Learning. Kombinování technologií vám může pomoct minimalizovat náklady a složitost související s používáním datové platformy pro funkce, pro které nemusí být ideální.

Nefunkční požadavky

Zvažte také tuto otázku:

  • Jaký je tolerovatelný kompromis mezi náklady a výkonem?

    Vzhledem k vysoce výkonným požadavkům na výpočetní výkon optimalizované pro GPU se ujistěte, že testujete a testujete trénování a doladíte důkladně, abyste zjistili ideální skladovou položku, která vyrovnává výkon oproti nákladům.

Nástroje

Pro trénování a vyladění modelu doporučujeme azure Machine Learning, protože poskytuje funkce orchestrace s podporou dávkových výpočtů. Existují dvě možnosti výpočetních prostředků, které je potřeba vyhodnotit:

  • Bezserverové výpočetní prostředí je ideální pro krátká občasná spuštění, která dokážou tolerovat hlučné sousedské efekty. Můžete zvolit standardní ceny nebo spotové ceny. Spotové ceny se doporučují jenom pro vysoce přerušitelné trénování. Nepoužívejte bezserverové výpočetní prostředky pro operace na plný úvazek. Náklady se můžou rychle eskalovat.
  • Výpočetní clustery poskytují významnou kontrolu nad dostupným hardwarem a jsou vyladěné pro paralelní nebo distribuované trénování.

Poznámka:

U základních modelů může vaše volba platformy pro hostování modelů omezit možnosti jemného ladění. Například použití služby Azure OpenAI pro hostování modelů omezuje možnosti jemného ladění na integrované funkce jemného ladění Azure OpenAI.

Důležité informace o hostování a odvozování modelu

Funkce hostování a odvozování modelů tvoří obsluhovací vrstvu úlohy AI. Tyto funkce se provádějí s koncovými body, které jsou specifické pro software, který používáte. Softwarová řešení obsluhující modely, jako jsou NVIDIA Triton, TorchServe a Obsluha TensorFlow, jsou v podstatě sady PYTHON SDK, které tvoří přední model s rozhraním API, a přidávají funkce specifické pro dané řešení. Můžete si vybrat hostující platformu na základě vašeho výběru softwaru nebo zvolit software na základě vaší volby hostitelské platformy.

Pokud používáte řešení SaaS nebo PaaS s předbalenými modely, jako jsou velké jazykové modely dostupné v Azure OpenAI, máte několik příležitostí nebo žádné příležitosti k výběru obsluhovaného softwaru. Místo toho služba, kterou používáte, poskytuje rozhraní API. To snižuje flexibilitu procesu vytváření nasazení modelu, což může přinést výhody a nevýhody. Může například zjednodušit proces vývoje vaší úlohy. Na druhou stranu snižuje flexibilitu při volání aplikace a interakci s modelem.

Rozhraní API pro obsluhu jsou v podstatě mikroslužby, takže byste měli postupovat podle stejných postupů pro tato rozhraní API, která sledujete pro ostatní mikroslužby ve vašem prostředí. Měly by být kontejnerizované, přeobsazené z jiných služeb a měly by mít vlastní životní cyklus, které jsou nezávislé na jiných službách a rozhraních API. Mějte ale na paměti, že obsluha rozhraní API vrstev obecně vyžaduje výrazně větší výpočetní výkon založený na GPU a větší image kontejnerů než tradiční rozhraní API.

Tato část obsahuje pokyny k možnostem, které je potřeba zvážit při výběru platformy pro hostování a odvozování modelu.

Požadavky na funkce

Při vyhodnocování platforem pro hostování modelů a odvozování zvažte tyto otázky:

  • Vyžaduje vaše úloha dávkové nebo online odvozování?

    Koncové body odvozování se používají buď pro dávkové nebo online procesy odvozování, a metoda odvozování pomáhá určit správnou platformu hostování. Dávkové odvozování je nejlepší hostované na platformě, která podporuje přechodné využití a umožňuje vypnutí výpočetních prostředků, když se nepoužívá. Online odvozování je nejlepší hostované na platformě, která podporuje elastické využití výpočetních prostředků, které se škáluje automaticky na základě zatížení v libovolném okamžiku.

  • Podporuje platforma sledovatelnost?

    Sledovatelnost je důležitá pro zachování integrity modelů používaných ve vaší úloze. Je důležité znát informace o modelu, jako je aktuální verze, kdo ji nasadil, kdy byl nasazený, a rodokmen dat modelu.

    Použijte smysluplné značky u imagí v registru kontejneru, abyste zajistili, že vaše služba hostování modelů načítá konkrétní verzi, kterou tým snadno identifikuje. Tento přístup pomáhá se zásadami správného řízení dat tím, že snižuje riziko použití zastaralých nebo nesprávných modelů v produkčním prostředí.

  • Bude vaše hostitelská platforma centralizovaným prostředkem?

    Mnoho organizací používá centralizovanou platformu pro hostování modelů, kterou používají různé týmy pro vlastní úlohy. Pokud je hostitelská platforma centralizovaná, měli byste zvážit, jestli potřebujete podporu pro vrácení peněz. Tato funkce umožňuje sledovat využití platformy podle týmu a úloh.

Nefunkční požadavky

Zvažte také tyto otázky:

  • Jaké jsou požadavky na spolehlivost platformy?

    Rozhraní API vrstvy jsou produkční prostředky, takže byste měli použít stejné požadavky na spolehlivost, které použijete u jiných toků úloh, které odpovídají jejich hodnocení závažnosti . Pokud jejich důležitost vyžaduje vysokou dostupnost, vaše hostitelská platforma by měla podporovat zóny dostupnosti nebo návrh ve více oblastech.

  • Jaké síťové ovládací prvky jsou pro platformu potřeba?

    Určete, jestli potřebujete privátní síť nebo výchozí bránu firewall pro zajištění ochrany pro platformu.

  • Jaké jsou požadavky na zabezpečení identit a přístupu pro platformu?

    Určete, jaké identity a řízení přístupu jsou pro vaše koncové body potřeba. Zvažte, jestli potřebujete nativní řízení přístupu na základě role (RBAC) nebo integrovanou podporu pro vaši identitu a přístupovou platformu, například Microsoft Entra ID.

  • Jaké možnosti monitorování platforma podporuje?

    Určete požadované možnosti monitorování pro vaše koncové body. V závislosti na platformě můžete mít omezený přístup k protokolům a metrikám, což může omezit schopnost auditovat aktivity nebo detekovat poruchy.

  • Jaké jsou požadavky na výkon platformy?

    Latence odvození je běžnou obavou a různé platformy mají různé profily výkonu. Bezserverové služby a služby PaaS, které používají model utility, můžou být ovlivněny problémem hlučného souseda a často nemají žádné záruky propustnosti. Naproti tomu stejné platformy můžou nabízet možnost v místním prostředí, která poskytuje garantovanou propustnost s předkupovým modelem. Pro předvídatelnější chování latence můžete také zvážit samoobslužné hostování v Kubernetes.

    Mějte na paměti limity a kvóty služeb, které můžou ovlivnit váš výkon, jako jsou například limity a kvóty pro Azure OpenAI. Tyto kvóty a limity jsou často agresivně nastavené tak, aby splňovaly požadavky na kapacitu, takže pokud vaše volba platformy neposkytuje požadovaný výkon, možná budete muset přijmout strategie pro rozložení poptávky po výpočetních prostředcích mezi instancemi.

    Pokročilé architektury můžou kombinovat více nasazení, aby se dosáhlo pevné propustnosti pro velkou část úloh a možností nárazového škálování pro flexibilnější výpočetní prostředky.

Nástroje

Dávkové odvozování

  • Pokud provádíte odvozování dat umístěných v platformě, která podporuje hostování modelů, jako je Databricks, zvažte použití této platformy k odvozování. Nezapomeňte izolovat odvozování výpočetních prostředků od jiných funkcí prováděných datová platformou.

  • Pro základní modely doporučujeme rozhraní API služby Azure OpenAI Batch.

  • U jiných než základních modelů zvažte tato doporučení:

    • Zvažte použití dávkových koncových bodů služby Azure Machine Learning pro následující scénáře:

      • Musíte provést odvozování u velké datové sady, která je distribuovaná ve více souborech, a nevyžadujete nízkou latenci.

      • Potřebujete provádět dlouhotrvající dávkové operace nad velkými datovými sadami a využívat paralelizaci.

      • Součásti kanálu je potřeba nasadit pro dávkové zpracování.

    • Pokud potřebujete spouštět úlohy Sparku pro distribuované zpracování dat, zvažte použití služby Azure Synapse Analytics, Databricks nebo bezserverového výpočetního prostředí Spark ve službě Machine Learning.

    • Pokud se žádný z těchto scénářů nepoužije, doporučujeme používat dávkové koncové body služby Machine Learning.

Odvozování online

  • Vyhodnoťte platforma PaaS a bezserverová řešení jako první krok. Tyto služby jsou obvykle nejjednodušší přijmout a spravovat, protože zjednodušují návrh a minimalizují provozní zátěž. Azure OpenAI je například dobrou volbou pro základní modely.

    • Zvažte použití bezserverového rozhraní API služby Azure Machine Learning k agregaci přístupu ke koncovým bodům, i když používáte Azure OpenAI nebo jiné základní řešení hostování modelů.
  • Zvažte Machine Learning se spravovanými výpočetními clustery, pokud paaS nebo bezserverová řešení nejsou nejvhodnější. Výpočetní prostředky spravované službou Machine Learning podporují rozdělení provozu a zrcadlení pro testování A/B, ladění a robustní auditování. Vzhledem k tomu, že výpočetní prostředky spravuje služba, jsou operace Day-2 jednodušší, když model hostujete sami. Spravované výpočetní prostředky také nabízí širokou škálu výpočetních konfigurací a možností škálování.

  • Pokud se rozhodnete model hostovat sami na clusteru Azure Kubernetes Service (AKS), který je připojený ke službě Machine Learning nebo jiné platformě založené na kontejnerech, ujistěte se, že je fond uzlů izolovaný od jiných rozhraní API nebo jiných úloh v clusteru, abyste dosáhli předvídatelného výkonu a optimalizovali zabezpečení. Vyhněte se používání výpočetních prostředků optimalizovaných pro GPU nebo GPU pro cokoli jiného, než jsou funkce úloh AI, abyste snížili náklady. Místo toho vytvořte směrný plán výkonu prostřednictvím testování a správné velikosti výpočetních prostředků tak, aby splňoval vaše požadavky na výkon bez nadměrného zřizování.

  • Model můžete také hostovat sami pomocí řešení infrastruktury jako služby (IaaS), jako je Azure Datová Věda Virtual Machine.

Důležité informace o platformě orchestrace

Orchestrace v kontextu aplikačních platforem úloh AI odkazuje na nástroje, jako je tok výzvy ve službě Machine Learning a Azure AI Studio. Tyto nástroje jsou navržené tak, aby zjednodušily celý vývojový cyklus aplikací umělé inteligence automatizací mnoha běžných funkcí pracovních postupů.

Nefunkční požadavky

Stejně jako u všech ostatních produkčních úloh v cloudových aktivech musíte při vyhodnocování nástrojů orchestrace zvážit:

  • Spolehlivost, zabezpečení a monitorování Nástroje pro orchestraci by měly dodržovat standardy spolehlivosti, zabezpečení a monitorování pro produkční úlohy.

  • Výkon. Nástroje pro orchestraci nevyžadují výpočetní prostředky optimalizované pro GPU nebo GPU, zvažte skladové položky pro obecné účely.

  • Optimalizace nákladů. Nástroje pro orchestraci jsou vždy zapnuté, zvažte možnosti elastického výpočetního prostředí, abyste minimalizovali náklady na využití.

Nástroje

  • Preferujte řešení mimo police, jako je tok výzvy. Než se podíváte na vlastní hostování pomocí nástrojů, jako je LangChain nebo sémantické jádro, určete, jestli jeho možnosti odpovídají vašim potřebám orchestrace.

  • Koncové body hostitele pro řešení, jako je tok výzvy ve službě Machine Learning s výpočetními instancemi nebo v AKS s vlastním hostováním.

Další kroky