Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
In dit artikel wordt beschreven hoe u efficiënt workloads uitvoert die GPU-knooppunten (Graphics Processing Unit) gebruiken in een AKS-cluster (Azure Kubernetes Service). Meer informatie over het kiezen van de juiste SKU, het gebruik van GPU-knooppunten om machine learning-modellen te trainen en GPU-knooppunten te gebruiken om deductie uit te voeren op AKS.
Scenariën
GPU-workloads kunnen duur zijn om uit te voeren. Om onnodige kosten te voorkomen, moet u weten wanneer u GPU-knooppunten in uw AKS-clusters moet implementeren.
GPU's zijn speciaal ontworpen voor afbeeldingen, AI en machine learning en gespecialiseerde taken, waardoor ze ideaal zijn voor rekenintensieve workloads. Centrale verwerkingseenheden (CPU's) beheren effectief complexe logica en vertakkingen. GPU's zijn geoptimaliseerd voor doorvoer en verwerken efficiënt eenvoudige rekenkundige en vectorbewerkingen.
Als u wilt bepalen wanneer gpu's voor AKS-workloads moeten worden gebruikt, moet u weten welke GPU-optimalisatie, rekenintensiteit en andere factoren van invloed zijn op de prestaties. Bekijk de volgende workloadvoorbeelden die profiteren van GPU-knooppunten in een AKS-cluster om beter inzicht te krijgen in HET GPU-gebruik voor AKS-workloads.
Gegevenswetenschap en -analyse
Gebruik GPU's om het voorverwerken van gegevens, functie-engineering en modeltraining in data science-werkstromen te versnellen. Als u GPU's efficiënt wilt gebruiken, breiden frameworks zoals RAPIDS en de GPU-ondersteuning in Dask populaire bibliotheken voor gegevensverwerking uit, zoals pandas en scikit-learn.
Opensource-software (OSS)-versnelde SQL-query-engines en kolomdatabases zoals HeavyDB gebruiken GPU's om query's en analyses uit te voeren op grote gegevenssets.
Machinaal leren en diepgaand leren
Populaire frameworks voor machine learning en deep learning, zoals TensorFlow, PyTorch, vLLM en Triton Inference Server , profiteren van GPU's omdat ze taken versnellen die modellen trainen en deductie uitvoeren. Azure Machine Learning biedt bijvoorbeeld ondersteuning voor high-performance modelservices op een beheerd online-eindpunt met behulp van Triton Inference Server.
Deep Learning-modellen maken gebruik van complexe neurale netwerken. Parallelle verwerking op GPU's versnelt hun berekeningen. GPU's bieden zeer efficiënte matrixvermenigings- en samenvoegbewerkingen, die fundamentele bewerkingen zijn in Deep Learning.
U kunt GPU's ook gebruiken om taken zoals afbeeldingsclassificatie, objectdetectie, verwerking van natuurlijke taal en spraakherkenning te versnellen.
Computer Vision en beeldverwerking
Computer Vision-taken interpreteren visuele gegevens om zinvolle informatie te extraheren. Deze taken worden weergegeven in ai-toepassingen zoals autonome voertuigen, medische imaging, bewakingssystemen en augmented reality. GPU's gebruiken parallelle verwerking om grootschalige afbeeldingsgegevens en complexe berekeningen efficiënt te verwerken voor taken zoals objectdetectie, afbeeldingsclassificatie en functieextractie.
Videoverwerking en streaming
Workloads die video transcoderen, coderen en streamen, zijn rekenintensief, met name als ze inhoud met hoge resolutie hebben. GPU's bieden een efficiënt platform voor videoverwerking met lage latentie, hoge doorvoer in toepassingen zoals sportgebeurtenisstromen en bedrijfsvideo's.
Agentknooppunten met GPU-ondersteuning offloaden grafisch-intensieve taken naar de GPU in virtuele bureaubladomgevingen. Mogelijkheden voor videocodering en -decodering die gebruikmaken van GPU's ondersteunen realtime videostreaming, transcodering en analyses.
Gebruik frameworks zoals OpenCV, OpenCL, NVIDIA CUDA en NVIDIA cuDNN om computer vision-taken zoals objectdetectie, objecttracking en beeld- of videoverwerking te versnellen.
Gamingplatforms en cloud gamingservices gebruiken GPU's om afbeeldingen met een hoge resolutie weer te geven en vloeiende gameplay via internet te streamen.
Prestatiegerichte computing
HPC-toepassingen (High Performance Computing) vereisen vaak complexe simulaties, numerieke analyses en wetenschappelijke berekeningen. Als u deze taken efficiënt wilt uitvoeren, kunt u GPU's gebruiken om de workload over meerdere kernen te parallelliseren. Voorbeelden van HPC-toepassingen die enorme parallelle verwerkingskracht nodig hebben, zijn wetenschappelijke simulaties, weersvoorspellingen, rekenkundige vloeistofdynamiek en moleculaire modellering. GPU's ondersteunen parallelle berekeningen en versnellen HPC-workloads. Ze verbeteren ook de prestaties in wetenschappelijke en onderzoekscomputing.
Om HPC-toepassingen te versnellen, bieden frameworks zoals NVIDIA CUDA, OpenCL en OpenACC GPU-API's en bibliotheken.
Genomische analyse en bio-informatica
Werkbelastingen voor gezondheid en levenswetenschappen, zoals genomische analyse en bio-informaticatoepassingen, verwerken genetische gegevens, zoals DNA-sequenties en eiwitstructuren. Ze zijn afhankelijk van complexe algoritmen om reeksen uit te lijnen, varianten aan te roepen en genomische gegevens te mijnen. GPU's versnellen genomische analysewerkstromen, zodat onderzoekers gegevens kunnen verwerken en snel inzichten kunnen ontdekken.
Generatieve AI-modellen
Taalmodellen zoals OpenAI GPT, Meta Llama, Falcon en Phi open modellen kunnen profiteren van gpu-mogelijkheden voor parallelle verwerking. Gebruik GPU's om deze modellen uit te voeren en de prestaties te verbeteren.
GPU's versnellen trainings- en deductietaken, waarbij complexe berekeningen en grote hoeveelheden gegevens nodig zijn. GPU's hebben mogelijkheden voor parallelle verwerking die de grote rekenkundige taken van een bepaald model verdelen in kleinere subtaken die gelijktijdig worden uitgevoerd. Dit proces vermindert de latentie en verbetert de prestaties.
Taalmodellen hebben vaak complexe neurale netwerken met verschillende lagen en parameters, waardoor de rekenkracht kan toenemen. GPU's versnellen belangrijke bewerkingen in taalverwerking, zoals matrixvermendiging en samenvoegingen, wat de tijd verkort die nodig is voor training en deductie.
GPU's bieden voldoende geheugencapaciteit, bandbreedte en verwerkingskracht voor het verwerken van toepassingen op basis van taalmodellen die gespreksinterfaces hebben en tekst genereren. Gpu-verbeteringen bieden bijvoorbeeld antwoorden met lage latentie voor gebruikers die communiceren met chatbots en AI-assistenten.
Niet alle workloads profiteren van agentknooppunten met GPU-functionaliteit. In sommige gevallen zijn CPU's voldoende. Workloads die voornamelijk invoer- en uitvoergebonden zijn of waarvoor zware berekeningen niet nodig zijn, kunnen mogelijk geen voordeel halen uit GPU’s.
Klantverhalen
Veel Microsoft-klanten profiteren van GPU-workloads om te innoveren voor hun klanten. Bekijk de volgende voorbeelden:
- Royal Bank of Canada (RBC) versnelt deductie op schaal met behulp van de ai-toolchainoperator en GPU's op AKS
- NBA-spelers verbeteren de prestaties met AI op Azure AI-infrastructuur
- Een AI-bedrijf met de naam Mr Turing maakt gebruik van AI en AKS om bedrijfsgegevens doorzoekbaar te maken
Best practices voor gpu-workloadimplementatie
AKS biedt verschillende opties voor het implementeren van pools en workloads met GPU-knooppunten en Windows-knooppunten.
Implementatie van Linux-werkbelasting
Maak een knooppuntgroep met een ondersteunde virtuele machine met GPU (VM) die gebruikmaakt van NVIDIA GPU's of AMD GPU's. Volg de richtlijnen van de GPU-leverancier om de bijbehorende Kubernetes-apparaatinvoegtoepassing te installeren. Met deze methode kunt u geen bestaande knooppuntgroep bijwerken om GPU's toe te voegen.
Meer informatie over de beperkingen wanneer u een knooppuntgroep met Azure Linux GPU gebruikt. AKS past geen automatische beveiligingspatches toe en het standaardgedrag voor het cluster is onbeheerd.
Gebruik Kubernetes-knooppuntkiezers, affiniteit van knooppunten en taints en toleraties wanneer u workloads plant in uw gpu-knooppuntgroepen.
Implementatie van Windows-werkbelasting
Maak een knooppuntgroep met behulp van een ondersteunde VM met GPU. Met deze methode maakt u een Windows-knooppuntgroep met GPU-functionaliteit. AKS installeert automatisch de stuurprogramma's en de Kubernetes-apparaatinvoegtoepassing. Met deze methode kunt u geen bestaande knooppuntgroep bijwerken om GPU's toe te voegen.
Wanneer u een ondersteunde VM met GPU selecteert, installeert AKS automatisch het vereiste NVIDIA CUDA- of GRID-stuurprogramma. Sommige workloads zijn afhankelijk van een specifiek stuurprogramma, wat van invloed kan zijn op uw implementatie. Voor VM-grootten uit de NC-serie en ND-serie installeert AKS het CUDA-stuurprogramma. Voor VM-grootten uit de NV-serie installeert AKS het GRID-stuurprogramma.
Inzicht in de beperkingen wanneer u een Windows-knooppuntgroep gebruikt.
Gebruik Kubernetes-knooppuntkiezers, affiniteit van knooppunten en taints en toleraties wanneer u workloads plant in uw gpu-knooppuntgroepen.
Opmerking
Windows GPU is een preview-functie. U moet de WindowsGPUPreview-functievlag registreren.
NVIDIA GPU-operator
Gebruik de NVIDIA GPU-operator om GPU-resources in Kubernetes-clusters te implementeren en te beheren. De operator automatiseert de installatie, configuratie en onderhoud van vereiste softwareonderdelen. Deze aanpak zorgt voor een optimaal gebruik van NVIDIA GPU's voor resource-intensieve workloads, zoals AI en machine learning.
De NVIDIA GPU-operator beheert automatisch de NVIDIA-softwareonderdelen die u nodig hebt om GPU's te implementeren, zoals de NVIDIA-apparaatinvoegtoepassing voor Kubernetes en de NVIDIA-containerruntime. De operator installeert het stuurprogramma automatisch. Zie het overzicht van de NVIDIA GPU-operator voor meer informatie.
Als u meer controle en flexibiliteit wilt voor geavanceerde GPU-workloads, gebruikt u de NVIDIA GPU-operator met uw knooppunten met GPU op AKS. De operator biedt geen ondersteuning voor Windows-GPU's.
Houd rekening met de volgende best practices:
Gebruik de NVIDIA GPU-operator om geavanceerde GPU-configuraties uit te voeren, zoals selectie van stuurprogrammaversies en GPU-tijdslicing.
Sla de automatische installatie van het stuurprogramma over voordat u de operator gebruikt.
Stel het minimumaantal in op 1 wanneer u de operator met de clusterschaalregelaar gebruikt.
Opmerking
Microsoft biedt geen ondersteuning voor of beheer van het onderhoud en de compatibiliteit van de NVIDIA-stuurprogramma's als onderdeel van de deployment van knooppuntimages wanneer u de NVIDIA GPU Operator gebruikt. Voor meer informatie, zie de aanbevolen procedures voor GPU's voor AKS.
Implementatie van GPU-workloads voor taalmodellen
De AI-toolchainoperator vereenvoudigt het uitvoeren van opensource-taalmodellen, zoals Falcon, op uw Kubernetes-cluster. U kunt de AI-hulpprogrammaketenoperator op uw AKS-cluster implementeren als een beheerde functie voor AKS. De ai-toolchainoperator maakt gebruik van Karpenter om GPU-knooppunten automatisch in te richten en te implementeren op basis van een specificatie in de aangepaste resourcedefinitie van de werkruimte van het gekozen model. De operator voor de AI-hulpprogrammaketen maakt de deductieserver als eindpunt voor uw taalmodel en vermindert de onboardingtijd, zodat u zich richt op machine learning-bewerkingen in plaats van infrastructuurinstallatie en onderhoud.
Om AI-bewerkingen op AKS te verbeteren, biedt de operator voor de AI-hulpprogrammaketen de volgende mogelijkheden:
Beheert containerinstallatiekopieën: Gebruik containerinstallatiekopieën om taalmodellen te beheren. De AI-toolketenoperator biedt een HTTP-server, zodat u vooraf ingestelde modelwerkruimten kunt gebruiken om inferentie uit te voeren, tools aan te roepen en het Model Context Protocol (MCP) te gebruiken.
Ondersteunt Bring-Your-Own (BYO) modellen: Gebruik de AI-toolchain-operator om in-house, vooraf getrainde taalmodellen te introduceren met behulp van een aangepaste implementatiesjabloon en HuggingFace Transformers voor inference.
Configureert GPU-hardware: De ai-toolchainoperator past automatisch vooraf ingestelde configuraties toe op basis van modelvereisten. U hoeft implementatieparameters niet handmatig af te stemmen op GPU-hardware of dure OOM-fouten (Out-Of-Memory) van GPU op te lossen.
Biedt ingebouwde deductiebewaking: Wanneer u een model implementeert met behulp van de standaard-vLLM-deductie-engine, geeft de operator ai-hulpprogrammaketen realtime vLLM-metrische gegevens weer via Prometheus en Grafana en worden metrische gegevens weergegeven over deductieprestaties en -status in uw AKS-cluster.
Zie de volgende bronnen voor meer informatie over de AI toolchain-operator:
- Het opensource-project van de AI-toolchainoperator verkennen
- Uw taalmodellen verfijnen met behulp van de AI-toolchainoperator
- Een taalmodel implementeren dat ondersteuning biedt voor het aanroepen van hulpprogramma's
- Verbinding maken met een MCP-server met behulp van de AI-toolchainoperator
Workload- en clusterschalen
Voor AI- en machine learning-scenario's moet u onderscheid maken tussen trainingsworkloads en deductie met vooraf getrainde modellen. Als u een machine learning-model wilt bouwen en trainen, gebruikt u GPU-berekeningen die zijn ontworpen voor deep learning en parallelliseren van AI-berekeningen. Training vereist vaak dat u GPU-resources geleidelijk schaalt en grote hoeveelheden gegevens over GPU's distribueert om een hoge nauwkeurigheid te bereiken via gegevensparallellisme.
Modelsharding is een veelgebruikte geavanceerde techniek voor het delen van fasen van modeltraining. U kunt GPU's toewijzen aan afzonderlijke taken en hun gebruik maximaliseren door GPU (MIG) voor meerdere exemplaren in te schakelen in NVIDIA GPU-knooppuntgroepen in AKS. GPU's kunnen HPC-workloads omhoog schalen en uitschalen, zoals VM's uit de NV-serie of ND-serie in Azure. Deze mogelijkheid helpt bij het onderhouden van hoog resourcegebruik en het verminderen van gebruikersintervallen voor machine learning-trainingsprocessen die lang en duur zijn.
U kunt ook vooraf getrainde, opensource AI- en machine learning-modellen gebruiken voor deductie. Begin met populaire modellen zoals Llama, Falcon of Phi als een rendabelere optie dan het bouwen en trainen van een volledig aangepast taalmodel. Zie Taalmodellen op AKS voor meer informatie.
Wanneer u vooraf getrainde modellen gebruikt voor deductie, kan het resourcegebruik fluctueren op basis van het aantal gegevens dat u verwerkt. Wanneer u livegegevens uitvoert via uw gekozen model, kan verkeer pieken, afhankelijk van de grootte en vereisten van het model. Behoud lage latentie tijdens het deductieproces. Als u uw GPU's effectief wilt gebruiken voor hoge prestaties en lage latentie, voert u gedistribueerde deductie uit met behulp van modellen die de AI-toolchainoperator ondersteunt. Deze aanpak breidt uw rekenopties uit om SKU's met een of twee GPU's die elk een of twee GPU's hebben, hoge beschikbaarheid te bieden in Azure-regio's en de onderhoudskosten te verlagen.
GPU-statuscontrole
GPU-problemen kunnen lastig zijn om te detecteren en veroorzaken vaak stille fouten of verslechteren de prestaties in plaats van dat ze niet goed werken. Deze problemen voegen tijd toe om problemen op te lossen, resources onnodig te verbruiken en operationele kosten te verhogen.
GPU-statuscontrole op AKS biedt consistente en frequente controles van knooppuntevenementen en -voorwaarden. NpD (Node Problem Detector) rapporteert deze gebeurtenissen op specifieke GPU-VM-grootten. NPD geeft belangrijke signalen weer, zoals een onjuist AANTAL GPU's of fouten met netwerkconnectiviteit, rechtstreeks in kubernetes-knooppuntvoorwaarden, waarmee teams problemen kunnen identificeren en erop reageren. Deze aanpak ondersteunt geautomatiseerde waarschuwingen, het isoleren van knooppunten, en het verplaatsen van werkbelastingen. Het helpt ook om de betrouwbaarheid en prestaties van toepassingen in rekenintensieve omgevingen te behouden.
Kostenbeheer voor GPU-workloads
GPU's kunnen de kosten verhogen. Bewaak workloads om inzicht te krijgen in de GPU-kosten en optimalisatiemogelijkheden te identificeren. Gebruik het hulpprogramma voor AKS-kostenanalyse om de zichtbaarheid van kosten te vergroten.
De volgende scenario's profiteren van zichtbaarheid van kosten.
Kosten voor VM-grootte met GPU
Selecteer de juiste VM-grootte met GPU om de kosten voor het uitvoeren van GPU's te optimaliseren. De dagelijkse kosten kunnen variëren, afhankelijk van de VM-grootte die u kiest. A100 GPU's zijn kostbaar, dus vermijd ze, tenzij uw workload ze vereist. Een AKS-kostenanalyse toont de dagelijkse kosten voor elk van uw VM's en toont de bijbehorende kosten van elke workload die wordt uitgevoerd op de VM met GPU. Gebruik deze gegevens om te evalueren of u een geschikte VM-grootte hebt of als u een rendabelere optie nodig hebt.
Niet-actieve kosten
Nadat u een knooppuntgroep met GPU hebt gemaakt, worden er kosten in rekening gebracht voor de Azure-resource, zelfs als u geen GPU-workload uitvoert. Niet-actieve kosten vertegenwoordigen de kosten van de beschikbare resourcecapaciteit die niet door workloads wordt gebruikt. Deze kosten kunnen snel worden opgetellen als u meerdere ongebruikte knooppunten hebt. Als u hoge niet-actieve kosten wilt voorkomen, maakt u alleen knooppuntgroepen wanneer u een workload uitvoert en gebruikt u methoden zoals de functie clusterstop wanneer u geen workload uitvoert. In AKS-kostenanalyse worden niet-actieve kosten voor elk van uw knooppunten weergegeven.
Overprovisioning en ondergebruik
Overprovisioning is wanneer u meer resources toewijst dan nodig is voor een pod. Overprovisioning leidt tot resourceverspilling en ondergebruik. Het knooppunt blijft overtollige resources reserveren, zelfs als workloads deze niet gebruiken. Gebruik de verticale automatische schaalaanpassing voor pods om nauwkeurige aanvragen en limieten in te stellen op basis van eerdere gebruikspatronen om overprovisioning te verminderen.
Ondergebruik kan optreden wanneer uw workloads geen GPU's volledig gebruiken. Overweeg geavanceerde technieken voor het delen en partitioneren van GPU's. In plaats van meerdere knooppunten te implementeren, kunt u één knooppunt met partities gebruiken om het GPU-gebruik te maximaliseren. Met deze technieken kunt u de juiste hoeveelheid GPU-versnelling toewijzen voor elke workload, waardoor het gebruik kan worden verbeterd en de operationele kosten van de implementatie kunnen worden verlaagd.
Linux GPU-workloadimplementaties op AKS ondersteunen GPU's met meerdere exemplaren. Gebruik deze functie om NVIDIA A100 en H100 GPU's te partitioneren in maximaal zeven onafhankelijke instanties. Elk exemplaar heeft een eigen geheugen en stream multiprocessor.
NVIDIA ondersteunt andere partitioneringstechnieken, zoals time-slicing en Multi-Process Service (MPS). Als u deze configuraties handmatig wilt toepassen, gebruikt u de NVIDIA GPU-operator.
Voor geavanceerde scenario's kunt u het verpakken van resources op AKS-knooppunten verbeteren en de inzet van GPU-resources in uw cluster optimaliseren. U kunt scheduler-configuraties instellen met behulp van een of meer ingebouwde (of in-tree) Kubernetes-planningsinvoegtoepassingen om strategieën voor workloadplaatsing te introduceren die verschillen van de standaard-AKS-planner. Zie Scheduler-configuratieconcepten voor plaatsing van werkbelastingen in AKS (preview) voor meer informatie.
Bijdragers
Microsoft onderhoudt dit artikel. De volgende inzenders hebben dit artikel geschreven.
Hoofdauteur:
- Ayobami Ayodeji | Senior programmamanager
Andere Inzenders:
- Sachi Desai | Product Manager 2
- Ally Ford | Product Manager 2
- Erin Schaffer | Inhoudsontwikkelaar 2
Als u niet-openbare LinkedIn-profielen wilt zien, meldt u zich aan bij LinkedIn.
Volgende stappen
- Gebruik uw eigen AI-modellen in intelligente apps op AKS door gebruik te maken van de AI-hulpprogrammaketenoperator
- De AI-toolchainoperator implementeren in AKS met behulp van Terraform