Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí pro: ✔️ AKS Automatic ✔️ AKS Standard
Spouštění úloh GPU v AKS vyžaduje správné nastavení a průběžné ověřování, aby se zajistilo, že výpočetní prostředky jsou přístupné, zabezpečené a optimálně využívané. Tento článek popisuje osvědčené postupy pro správu uzlů s podporou GPU, ověřování konfigurací a snížení přerušení úloh.
Pro většinu produkčních úloh AKS je AKS Automatic doporučenou výchozí volbou. AKS Automatic poskytuje základ připravený pro produkční prostředí s předkonfigurovanými provozními postupy, bezpečnostními ochrannými mechanismy a připraveností podů garantovanou smlouvou SLA, což týmům pomáhá snižovat provozní režii platformy ve fázi day-2.
Volba automatického zpracování AKS nebo AKS Standard pro úlohy GPU
Jako výchozí bod použijte následující doprovodné materiály:
| Scénář | Doporučená cesta | Proč |
|---|---|---|
| Většina produkčních úloh GPU | AKS automatické | Výchozí nastavení připravená pro produkční prostředí, integrovaná bezpečnostní opatření a nižší režijní náklady na provoz clusteru |
| Rychlejší cesta z nasazení do stabilního produkčního prostředí | AKS automatické | Předem nakonfigurované operace clusteru a předvídatelné chování při spuštění prostřednictvím smlouvy SLA pro připravenost podů |
| Pokročilé přizpůsobení platformy a explicitní provozní řízení | AKS Standard | Větší flexibilita pro životní cyklus vlastního fondu uzlů a ladění platformy. |
| Specializované, jiné než výchozí požadavky na architekturu platformy | AKS Standard | Větší ruční kontrola nad chováním a konfigurací infrastruktury. |
Další informace najdete v článku Úvod do Azure Kubernetes Service (AKS) Automatic.
Co služba AKS Automaticky poskytuje pro produkční úlohy GPU
AKS Automatic pomáhá vytvořit silný provozní směrný plán pro produkční úlohy GPU tím, že poskytuje:
- Výchozí nastavení konfigurace clusteru připravené pro produkční nasazení.
- Integrované osvědčené postupy a záruky
- Připravenost podů garantovaná smlouvou SLA pro předvídatelné chování při spouštění.
- Operace spravovaného clusteru, které snižují ruční každodenní 2 úlohy.
Výchozí nastavení této platformy nenahrazuje osvědčené postupy na úrovni úloh, jako jsou ovládací prvky umístění, kontroly ověření a zásady izolace popsané v tomto článku.
Úlohy GPU, jako je trénování modelů AI, odvozování v reálném čase, simulace a zpracování videa, často závisejí na:
- Opravte kompatibilitu ovladače GPU a modulu runtime.
- Přesné plánování prostředků GPU
- Přístup k hardwarovým zařízením GPU v kontejnerech
Chybné konfigurace můžou vést k vysokým nákladům, neočekávaným selháním úloh nebo nedostatečnému využití GPU.
Vynucení umístění úloh GPU
Ve výchozím nastavení plánovač AKS umístí pody do libovolného dostupného uzlu s dostatečným využitím procesoru a paměti. Bez ovládacích prvků pro umísťování úloh může dojít ke dvěma problémům:
- Plánovač může umístit úlohy využívající GPU na uzly bez GPU, takže se tyto úlohy nepodaří spustit.
- Úlohy pro obecné účely můžou zabírat uzly GPU a můžou zabírat nákladné prostředky.
Pro vynucení správného umístění:
Opatřete uzly GPU taintem pomocí klíče, jako je
[gpu-vendor].com/gpu: NoSchedule(napříkladnvidia.com/gpu: NoSchedule). Tento taint brání tomu, aby na těchto uzlech byly naplánovány úlohy nevyžadující GPU.Do specifikace podu úloh GPU přidejte odpovídající tolerance, aby bylo možné ji naplánovat na uzlech GPU s taintem.
Definujte požadavky na prostředky GPU a omezení v podu, abyste zajistili, že plánovač rezervuje kapacitu GPU. Příklad:
resources: limits: [gpu-vendor].com/gpu: 1Pomocí zásad ověřování nebo kontrolerů přístupu vynucujte, aby úlohy GPU zahrnovaly požadované tolerance a limity prostředků.
Tento přístup zaručuje, že na uzlech GPU budou spuštěny pouze úlohy určené pro GPU a že budou mít přístup ke specializovaným výpočetním prostředkům, které vyžadují.
V AKS Automatic jsou ve výchozím nastavení předkonfigurované mantinely platformy. Stále používáte ovládací prvky umístění na úrovni úloh k vynucení přísného chování plánování GPU.
Ověřte instalaci ovladače GPU a připravenost běhového prostředí
Před nasazením produkčních úloh GPU vždy ověřte, že fondy uzlů GPU jsou:
- Vybaven kompatibilními ovladači GPU.
- Provozování zdravého DaemonSetu modulu Device Plugin pro Kubernetes
- Zpřístupnění
[gpu-vendor].com/gpujako plánovatelného zdroje.
Aktuální verzi ovladače spuštěnou ve fondech uzlů GPU můžete ověřit pomocí rozhraní pro správu systému (SMI) přidruženého k dodavateli GPU.
Následující příkaz spustí nvidia-smi uvnitř podu nasazení pluginu zařízení GPU, abyste ověřili instalaci ovladače a připravenost běhového prostředí ve fondu uzlů s GPU NVIDIA:
kubectl exec -it $"{GPU_DEVICE_PLUGIN_POD}" -n {GPU_NAMESPACE} -- nvidia-smi
Výstup by měl vypadat podobně jako v následujícím příkladu výstupu:
+-----------------------------------------------------------------------------+
|NVIDIA-SMI 570.xx.xx Driver Version: 570.xx.xx CUDA Version: 12.x|
...
...
kubectl exec Opakujte příkaz pro každý fond uzlů GPU a potvrďte verzi ovladače nainstalovanou na uzlech.
V poolech uzlů s podporou GPU AMD případně nasaďte komponenty AMD GPU a v podu modulu plug-inu zařízení ROCm spusťte příkaz amd-smi, abyste ověřili nainstalovanou verzi ovladače.
Udržování uzlů s podporou GPU aktualizovaných na nejnovější image operačního systému uzlu
Abyste zajistili výkon, zabezpečení a kompatibilitu úloh GPU v AKS, je nezbytné udržovat fondy uzlů GPU v aktualizovaném stavu s nejnovějšími doporučenými imagemi operačního systému uzlů. Tyto aktualizace jsou důležité, protože:
- Zahrňte nejnovější produkční ovladače GPU a nahraďte všechny zastaralé nebo již nepodporované verze (EOL).
- Jsou plně otestovány z hlediska kompatibility s vaší aktuální verzí Kubernetes.
- Vyřešte známá ohrožení zabezpečení identifikovaná dodavateli GPU.
- Zahrňte nejnovější vylepšení operačního systému a běhového prostředí kontejnerů pro vyšší stabilitu a efektivitu.
Upgradujte fondy uzlů GPU na nejnovější doporučenou image operačního systému uzlu vydané službou AKS, a to buď nastavením kanálu automatického upgradu , nebo ručním upgradem. Nejnovější verze imagí uzlů můžete sledovat pomocí nástroje AKS release tracker.
Pro většinu produkčních scénářů začněte s AKS Automatic jako s výchozí volbou. Pokud používáte AKS Standard, explicitně nakonfigurujte kanály upgradu a časové období údržby.
Samostatné úlohy GPU při použití sdílených clusterů
Pokud jeden cluster AKS s fondy uzlů GPU používá více typů úloh GPU, jako je trénování modelů, odvozování v reálném čase nebo dávkové zpracování, je důležité oddělit tyto úlohy na:
- Vyhněte se náhodnému rušení nebo kolizí prostředků mezi různými typy úloh.
- Zlepšete zabezpečení a udržujte hranice dodržování předpisů.
- Zjednodušte správu a monitorování využití prostředků GPU na kategorii úloh.
Úlohy GPU můžete izolovat v rámci jednoho clusteru AKS pomocí oborů názvů a zásad sítě. To umožňuje jasnější zásady správného řízení prostřednictvím kvót, limitů a konfigurací protokolování specifických pro úlohy.
Ukázkový scénář
Zvažte cluster AKS, který hostuje dva různé typy úloh GPU, které spolu nemusí vzájemně komunikovat:
- Trénovací úlohy: Úlohy trénování modelu AI náročné na prostředky
- Úlohy odvození: Služby odvození v reálném čase citlivé na latenci
Tyto dvě úlohy můžete oddělit pomocí následujících kroků:
Pomocí příkazu
kubectl create namespacevytvořte vyhrazené obory názvů pro každý typ pracovní zátěže.kubectl create namespace gpu-training kubectl create namespace gpu-inferenceOznačte pody úloh GPU podle typu, jak je znázorněno v následujícím příkladu:
metadata: namespace: gpu-training labels: workload: trainingPoužijte zásady sítě k izolaci provozu mezi typy úloh. Následující manifest blokuje veškerý příchozí a výchozí přenos dat pro
gpu-trainingobor názvů (pokud není explicitně povolený):apiVersion: networking.k8s.io/v1 kind: NetworkPolicy metadata: name: deny-cross-namespace namespace: gpu-training spec: podSelector: {} policyTypes: - Ingress - Egress ingress: [] egress: []
Tato zásada:
- Platí pro všechny pody ve jmenném prostoru
gpu-training. - Ve výchozím nastavení zakazuje veškerý příchozí a odchozí provoz, který podporuje silnou izolaci.
Tento model zlepšuje přehlednost, řízení a bezpečnost ve sdílených prostředích GPU, zejména v případě, že typy úloh mají různé profily modulu runtime, úrovně rizik nebo provozní požadavky.
Optimalizace využití prostředků na uzlech GPU pomocí GPU s více instancemi (MIG)
Různé úlohy GPU mají různé požadavky na paměť. Menší nasazení, například NVIDIA A100 40 GB, nemusí potřebovat celé GPU. Jedna úloha ale ve výchozím nastavení monopolizuje prostředek GPU i v případě, že je nevyužitý.
AKS podporuje optimalizaci prostředků na uzlech GPU jejich rozdělením na menší řezy pomocí GPU s více instancemi (MIG), aby týmy mohly efektivněji plánovat menší úlohy. Přečtěte si další informace o podporovaných velikostech GPU a o tom, jak začít s gpu s více instancemi v AKS.
Použití dočasných datových disků NVMe jako vysoce výkonné mezipaměti
Pro úlohy AI běžící na virtuálních počítačích s GPU v AKS je rychlý a spolehlivý přístup k dočasnému úložišti kritický pro maximalizaci výkonu trénování a odvozování. Dočasné datové disky NVMe poskytují úložiště s vysokou propustností, nízkou latencí přímo připojené k hostiteli virtuálního počítače, což je ideální pro scénáře, jako je ukládání datových sad do mezipaměti, ukládání dočasných kontrolních bodů a váhy modelu nebo poskytnutí pomocného místa pro předběžné zpracování a analýzu dat.
Při nasazování fondů uzlů s podporou GPU pro úlohy AI nakonfigurujte dočasné datové disky NVMe tak, aby sloužily jako vysoce výkonná mezipaměť nebo pomocné místo. Tento přístup pomáhá eliminovat kritické body vstupně-výstupních operací, zrychlit operace náročné na data a zajistit, aby vaše prostředky GPU nebyly při čekání na data nečinné.
Azure podporuje dočasné datové disky NVMe napříč širokou škálou Azure rodin virtuálních počítačů GPU. V závislosti na velikosti virtuálního počítače GPU má virtuální počítač až osm dočasných datových disků NVMe s kombinovanou kapacitou až 28 TiB. Podrobné konfigurace velikostí virtuálních počítačů najdete v dokumentaci ŘADY ND H100 v5 nebo dokumentaci k velikosti virtuálního počítače pro vybranou řadu GPU.
Ke zjednodušení zřizování a správy použijte Službu Azure Container Storage, která dokáže automaticky zjišťovat a orchestrovat dočasné disky NVMe pro vaše úlohy Kubernetes.
Mezi doporučené scénáře patří:
- Ukládání velkých datových sad do mezipaměti a kontrolních bodů modelu pro trénování a odvozování AI
- Uložení modelových vah do mezipaměti pro AI inferenci. Například model hostování KAITO jako artefaktů OCI na místní NVMe.
- Poskytuje rychlý dočasný úložný prostor pro dávkové úlohy a datové kanály.
Důležité
Data na dočasných discích NVMe jsou dočasná a při uvolnění nebo opětovném nasazení virtuálního počítače se ztratí. Tyto disky používejte jenom pro méně důležitá, přechodná data a ukládejte důležité informace o trvalých řešeních úložiště Azure.
Další pokyny k dočasným datovým diskům NVMe najdete v tématu Osvědčené postupy pro dočasné datové disky NVMe v AKS.
Související obsah
Další informace o úlohách AKS a GPU najdete v následujících článcích:
- Úvod do služby Azure Kubernetes Service (AKS) Automatic
- Vytvoření automatického clusteru AKS
- Vytvořte fond uzlů s podporou GPU v clusteru AKS.
- Monitorujte úlohy GPU pomocí samoobslužného exportéru NVIDIA DCGM.
- Automatické škálování úloh GPU na základě běžných metrik GPU s využitím exportéru KEDA a DCGM