Compute-aanbevelingen voor AI-workloads in Azure-infrastructuur (IaaS)
Dit artikel bevat compute-aanbevelingen voor organisaties die AI-workloads uitvoeren op Azure-infrastructuur (IaaS). De voorkeursbenadering is om uw AI-acceptatie te starten met PaaS-oplossingen (Platform-as-a-Service) van Azure AI. Als u echter toegang hebt tot GPU's van Azure, volgt u deze richtlijnen om AI-workloads uit te voeren op Azure IaaS.
VOOR AI-workloads zijn gespecialiseerde virtuele machines (VM's) vereist voor het afhandelen van hoge rekenvereisten en grootschalige gegevensverwerking. Het kiezen van de juiste VM's optimaliseert het resourcegebruik en versnelt de ontwikkeling en implementatie van AI-modellen. De volgende tabel bevat een overzicht van de aanbevolen rekenopties.
AI-fase | VM-installatiekopie | Generatieve AI | Niet-generatieve AI (complexe modellen) | Niet-generatieve AI (kleine modellen) |
---|---|---|---|---|
AI-modellen trainen | virtuele machines Datawetenschap | GPU (voorkeur voor ND-familie. U kunt ook nc-serie gebruiken met onderling verbonden ethernet-VM's) | GPU (voorkeur voor ND-familie. U kunt ook nc-serie gebruiken met onderling verbonden ethernet-VM's) | Geoptimaliseerd voor geheugen (CPU) |
AI-modellen deductie | virtuele machines Datawetenschap | GPU (NC- of ND-serie) | GPU (NC- of ND-serie) | Geoptimaliseerd voor rekenkracht (CPU) |
De juiste installatiekopieën van de virtuele machine kiezen
Kies een geschikte installatiekopieën van virtuele machines, zoals de Datawetenschap Virtual Machines, om snel toegang te krijgen tot vooraf geconfigureerde hulpprogramma's voor AI-workloads. Deze keuze bespaart tijd en resources en levert tegelijkertijd de software die nodig is voor efficiënte AI-verwerking
Begin met de installatiekopieën van Datawetenschap virtuele machines. De Datawetenschap Virtual Machine-installatiekopieën bieden vooraf geconfigureerde toegang tot data science-hulpprogramma's. Deze hulpprogramma's omvatten PyTorch, TensorFlow, scikit-learn, Jupyter, Visual Studio Code, Azure CLI en PySpark. Wanneer deze wordt gebruikt met GPU's, bevat de afbeelding ook Nvidia-stuurprogramma's, CUDA Toolkit en cuDNN. Deze installatiekopieën fungeren als basislijnafbeelding. Als u meer software nodig hebt, kunt u deze toevoegen via een script tijdens het opstarten of insluiten in een aangepaste installatiekopie. Ze onderhouden compatibiliteit met uw indelingsoplossingen.
Zoek indien nodig alternatieve afbeeldingen. Als de installatiekopieën van de Datawetenschap virtuele machine niet aan uw behoeften voldoen, gebruikt u Azure Marketplace of andere zoekmethoden om alternatieve installatiekopieën te vinden. Met GPU's hebt u bijvoorbeeld Linux-installatiekopieën nodig die InfiniBand-stuurprogramma's, NVIDIA-stuurprogramma's, communicatiebibliotheken, MPI-bibliotheken en bewakingshulpprogramma's bevatten.
Een grootte van een virtuele machine kiezen
Het selecteren van een geschikte grootte van een virtuele machine is afgestemd op de complexiteit van uw AI-model, de gegevensgrootte en de kostenbeperkingen. Het aanpassen van hardware aan trainings- of deductiebehoeften maximaliseert de efficiëntie en voorkomt onderbezetting of overbelasting.
Besmalen de opties voor uw virtuele machine. Kies de nieuwste SKU's voor virtuele machines voor optimale trainings- en deductietijden. Voor training selecteert u SKU's die RDMA- en GPU-interconnects ondersteunen voor gegevensoverdracht met hoge snelheid tussen GPU's. Vermijd voor deductie SKU's met InfiniBand, wat niet nodig is. Voorbeelden hiervan zijn de ND MI300X v5-serie, ND H100 v5-serie, NDm A100 v4-serie en ND A100 v4-serie.
Controleer de prijzen van virtuele machines. Gebruik de prijspagina's voor Linux - en Windows-VM's voor een algemeen kostenoverzicht. Gebruik de Azure-prijscalculator voor een gedetailleerde schatting.
Overweeg spot-exemplaren.Spot-exemplaren zijn rendabel voor deductiescenario's met minimale risico's voor gegevensverlies. Spot-exemplaren bieden aanzienlijke besparingen door ongebruikte datacentercapaciteit tegen korting te gebruiken. Deze capaciteit kan echter op elk gewenst moment worden vrijgemaakt, zodat spot-exemplaren het beste zijn voor workloads die onderbrekingen kunnen afhandelen. Regelmatig controlepuntgegevens om verlies te minimaliseren wanneer ze worden verwijderd. Zie Spot-VM's gebruiken in Azure CycleCloud voor meer informatie.
Een oplossing voor rekenindeling kiezen
Oplossingen voor berekeningsindeling vereenvoudigen het beheer van AI-taken in virtuele-machineclusters. Zelfs voor eenvoudige implementaties kan een orchestrator helpen de kosten te verlagen en ervoor te zorgen dat een omgeving kan worden gereproduceerd. Orchestrators helpen ervoor te zorgen dat u alleen de rekenkracht gebruikt die u nodig hebt voor een specifieke hoeveelheid tijd. Selecteer een indelingsprogramma op basis van uw planning, containerisatie en schaalaanpassing om bewerkingen en schaalbaarheid te verbeteren.
Gebruik Azure CycleCloud voor opensourceplanners. Azure CycleCloud is ideaal voor opensourceplanners zoals Slurm, Grid Engine of Koppel/PBS. Het biedt flexibel clusterbeheer, aanpasbare configuraties en geavanceerde planningsmogelijkheden. Virtuele machines in het cluster hebben configuratie nodig voor de uitvoering van AI-werkbelastingen. Virtuele machines voor CycleCloud en Batch zijn niet permanent. Met de orchestrator worden VM's gemaakt en verwijderd wanneer dat nodig is om u te helpen met kostenbesparingen. Zie Azure CycleCloud Workspace voor Slum voor meer informatie.
Gebruik Azure Batch voor ingebouwde planning. Azure Batch biedt ingebouwde planningsfuncties zonder extra software-installatie of -beheer. Het heeft een prijsmodel voor verbruik en geen licentiekosten. Het ondersteunt ook systeemeigen containertaken. Zie Azure Batch Accelerator voor aanbevolen procedures voor implementatie.
Gebruik Azure Kubernetes Service (AKS) voor het schalen van containers. AKS is een beheerde service voor het implementeren, schalen en beheren van containers in een cluster. Het is geschikt voor het uitvoeren van AI-workloads in containers op schaal. Zie Azure Kubernetes Service gebruiken voor het hosten van op GPU gebaseerde workloads voor meer informatie.
Taken handmatig indelen voor eenvoudigere taken. Als indelingsbehoeften minimaal zijn, kunt u AI-resources handmatig beheren. Houd rekening met de volgende stappen voor kleinschalige workloads:
- Definieer uw werkstroom. Inzicht in uw werkstroom end-to-end, inclusief afhankelijkheden en takenreeks. Overweeg hoe u fouten in een willekeurige stap kunt afhandelen.
- Taken registreren en bewaken. Implementeer duidelijke frameworks voor logboekregistratie en bewaking voor uw taken.
- Vereisten valideren. Zorg ervoor dat uw omgeving voldoet aan alle werkstroomvereisten, inclusief de benodigde bibliotheken en frameworks.
- Gebruik versiebeheer. Wijzigingen bijhouden en beheren met versiebeheer.
- Taken automatiseren. Gebruik scripts om gegevensvoorverwerking, training en evaluatie te automatiseren.
Containers overwegen
Containers bieden een consistente, reproduceerbare omgeving die efficiënt wordt geschaald. Containers stroomlijnen de overgangen tussen omgevingen, waardoor ze essentieel zijn voor schaalbare AI-oplossingen.
Stuurprogramma's installeren. Zorg ervoor dat de benodigde stuurprogramma's zijn geïnstalleerd om containerfunctionaliteit in verschillende scenario's in te schakelen. Voor clusterconfiguraties zijn hulpprogramma's zoals Pyxis en Enroot vaak vereist.
Gebruik NVIDIA Container Toolkit. Met deze toolkit kunt u GPU-resources in containers inschakelen. Installeer alle vereiste stuurprogramma's, zoals CUDA- en GPU-stuurprogramma's, en gebruik de gewenste containerruntime en -engine voor het uitvoeren van AI-werkbelastingen.