Beräkningsrekommendationer för AI-arbetsbelastningar i Azure-infrastruktur (IaaS)
Den här artikeln innehåller beräkningsrekommendationer för organisationer som kör AI-arbetsbelastningar i Azure-infrastrukturen (IaaS). Den bästa metoden är att börja implementera AI med PaaS-lösningar (plattform som en tjänst) i Azure AI. Men om du har åtkomst till Azure-GPU:er följer du den här vägledningen för att köra AI-arbetsbelastningar på Azure IaaS.
AI-arbetsbelastningar kräver specialiserade virtuella datorer (VM) för att hantera höga beräkningskrav och storskalig databearbetning. Genom att välja rätt virtuella datorer optimeras resursanvändningen och AI-modellutvecklingen och distributionen påskyndas. Följande tabell innehåller en översikt över rekommenderade beräkningsalternativ.
AI-fas | Avbildning av virtuell dator | Generativ AI | Icke-generativ AI (komplexa modeller) | Icke-generativ AI (små modeller) |
---|---|---|---|---|
Träna AI-modeller | Datavetenskap virtuella datorer | GPU (föredrar ND-familj. Du kan också använda NC-familjen med ethernet-sammankopplade virtuella datorer) | GPU (föredrar ND-familj. Du kan också använda NC-familjen med ethernet-sammankopplade virtuella datorer) | Minnesoptimerad (CPU) |
Slutsatsdragning av AI-modeller | Datavetenskap virtuella datorer | GPU (NC eller ND-familj) | GPU (NC eller ND-familj) | Beräkningsoptimerad (CPU) |
Välj rätt avbildning av virtuell dator
Välj en lämplig virtuell datorbild, till exempel Datavetenskap virtuella datorer, för att snabbt få åtkomst till förkonfigurerade verktyg för AI-arbetsbelastningar. Det här valet sparar tid och resurser samtidigt som du tillhandahåller den programvara som krävs för effektiv AI-bearbetning
Börja med avbildningarna Datavetenskap Virtual Machines. Avbildningen Datavetenskap Virtual Machine ger förkonfigurerad åtkomst till datavetenskapsverktyg. Dessa verktyg är PyTorch, TensorFlow, scikit-learn, Jupyter, Visual Studio Code, Azure CLI och PySpark. När den används med GPU:er innehåller avbildningen även Nvidia-drivrutiner, CUDA Toolkit och cuDNN. Dessa bilder fungerar som baslinjebild. Om du behöver mer programvara lägger du till den via ett skript vid starttiden eller bäddar in den i en anpassad avbildning. De upprätthåller kompatibilitet med dina orkestreringslösningar.
Hitta alternativa avbildningar efter behov. Om avbildningen Datavetenskap virtuell dator inte uppfyller dina behov använder du Azure Marketplace eller andra sökmetoder för att hitta alternativa avbildningar. Med GPU:er kan du till exempel behöva Linux-avbildningar som innehåller InfiniBand-drivrutiner, NVIDIA-drivrutiner, kommunikationsbibliotek, MPI-bibliotek och övervakningsverktyg.
Välj en virtuell datorstorlek
Att välja en lämplig storlek för virtuella datorer överensstämmer med ai-modellens komplexitet, datastorlek och kostnadsbegränsningar. Matchning av maskinvara till tränings- eller slutsatsdragningsbehov maximerar effektiviteten och förhindrar underutnyttjande eller överbelastning.
Begränsa alternativen för virtuella datorer. Välj de senaste SKU:erna för virtuella datorer för optimal träning och slutsatsdragningstider. För träning väljer du SKU:er som stöder RDMA- och GPU-sammankopplingar för dataöverföring med hög hastighet mellan GPU:er. För slutsatsdragning bör du undvika SKU:er med InfiniBand, vilket är onödigt. Exempel är ND MI300X v5-serien, ND H100 v5-serien, NDm A100 v4-serien och ND A100 v4-serien.
Kontrollera prissättningen för virtuella datorer. Använd prissidorna för virtuella Linux - och Windows-datorer för en allmän kostnadsöversikt. En detaljerad uppskattning finns i Priskalkylatorn för Azure.
Överväg instanser av oanvänd kapacitet.Spot-instanser är kostnadseffektiva för slutsatsdragningsscenarier med minimal dataförlustrisk. Spot-instanser ger betydande besparingar genom att använda outnyttjad datacenterkapacitet till en rabatt. Den här kapaciteten kan dock frigöras när som helst, så instanser av oanvänd kapacitet passar bäst för arbetsbelastningar som kan hantera avbrott. Regelbundet kontrollpunktsdata för att minimera förlusten när de avlägsnas. Mer information finns i Använda virtuella datorer med oanvänd kapacitet i Azure CycleCloud.
Välj en lösning för beräkningsorkestrering
Beräkningsorkestreringslösningar underlättar hanteringen av AI-uppgifter i virtuella datorkluster. Även för enkla distributioner kan en orkestrerare bidra till att minska kostnaderna och se till att en miljö är reproducerbar. Orchestrators hjälper dig att se till att du bara använder den beräkning som du behöver under en viss tid. Välj ett orkestreringsverktyg baserat på din schemaläggning, containerisering och skalning för att förbättra åtgärder och skalbarhet.
Använd Azure CycleCloud för schemaläggare med öppen källkod. Azure CycleCloud är perfekt för schemaläggare med öppen källkod som Slurm, Grid Engine eller Torque/PBS. Det ger flexibel klusterhantering, anpassningsbara konfigurationer och avancerade schemaläggningsfunktioner. Virtuella datorer i klustret behöver konfiguration för AI-arbetsbelastningskörning. Virtuella datorer för CycleCloud och Batch är inte beständiga. Orchestrator skapar och tar bort virtuella datorer när det behövs för att hjälpa till med kostnadsbesparingar. Mer information finns i Azure CycleCloud-arbetsyta för Slum.
Använd Azure Batch för inbyggd schemaläggning. Azure Batch erbjuder inbyggda schemaläggningsfunktioner utan behov av extra installation eller hantering av programvara. Den har en prismodell för förbrukning och inga licensavgifter. Den stöder även containerbaserade uppgifter internt. Metodtips för distribution finns i Azure Batch Accelerator.
Använd Azure Kubernetes Service (AKS) för containerskalning. AKS är en hanterad tjänst för att distribuera, skala och hantera containrar i ett kluster. Den är lämplig för att köra AI-arbetsbelastningar i containrar i stor skala. Mer information finns i Använda Azure Kubernetes Service som värd för GPU-baserade arbetsbelastningar.
Orkestrera jobb manuellt för enklare uppgifter. Om orkestreringsbehoven är minimala kan du hantera AI-resurser manuellt. Överväg följande steg för småskaliga arbetsbelastningar:
- Definiera arbetsflödet. Förstå arbetsflödet från slutpunkt till slutpunkt, inklusive beroenden och jobbsekvens. Överväg hur du hanterar fel i alla steg.
- Logga och övervaka jobb. Implementera tydliga ramverk för loggning och övervakning för dina jobb.
- Verifiera förutsättningarna. Se till att din miljö uppfyller alla arbetsflödeskrav, inklusive nödvändiga bibliotek och ramverk.
- Använd versionskontroll. Spåra och hantera ändringar med hjälp av versionskontroll.
- Automatisera uppgifter. Använd skript för att automatisera förbearbetning, träning och utvärdering av data.
Överväg containrar
Containrar ger en konsekvent, reproducerbar miljö som skalar effektivt. Containrar effektiviserar övergångar mellan miljöer, vilket gör dem nödvändiga för skalbara AI-lösningar.
Installera drivrutiner. Se till att nödvändiga drivrutiner har installerats för att aktivera containerfunktioner i olika scenarier. För klusterkonfigurationer krävs ofta verktyg som Pyxis och Enroot.
Använd NVIDIA Container Toolkit. Den här verktygslådan aktiverar GPU-resurser i containrar. Installera alla nödvändiga drivrutiner, till exempel CUDA- och GPU-drivrutiner, och använd önskad containerkörning och -motor för AI-arbetsbelastningskörning.