Berechnen von Empfehlungen für KI-Workloads in der Azure-Infrastruktur (IaaS)
Dieser Artikel enthält Berechnungsempfehlungen für Organisationen, die KI-Workloads auf der Azure-Infrastruktur (IaaS) ausführen. Der bevorzugte Ansatz besteht darin, Ihre KI-Einführung mit PaaS-Lösungen (Azure AI platform-as-a-Service) zu starten. Wenn Sie jedoch Zugriff auf Azure-GPUs haben, befolgen Sie diese Anleitung, um AI-Workloads auf Azure IaaS auszuführen.
KI-Workloads erfordern spezielle virtuelle Computer (VMs), um hohe Rechenanforderungen und die Verarbeitung großer Datenmengen zu verarbeiten. Wenn Sie die richtigen virtuellen Computer auswählen, wird die Ressourcennutzung optimiert und die Entwicklung und Bereitstellung des KI-Modells beschleunigt. In der folgenden Tabelle finden Sie eine Übersicht über die empfohlenen Berechnungsoptionen.
KI-Phase | VM-Image | Generative KI | Nichtgenerative KI (komplexe Modelle) | Nichtgenerative KI (kleine Modelle) |
---|---|---|---|---|
Schulung von KI-Modellen | Data Science Virtual Machines | GPU (bevorzugen ND-Familie. Alternativ können Sie NC-Familie mit mit Ethernet verbundenen VMs verwenden) | GPU (bevorzugen ND-Familie. Alternativ können Sie NC-Familie mit mit Ethernet verbundenen VMs verwenden) | Speicheroptimierte (CPU) |
Ableiten von KI-Modellen | Data Science Virtual Machines | GPU (NC- oder ND-Familie) | GPU (NC- oder ND-Familie) | Computeoptimierte (CPU) |
Wählen Sie das richtige Image für virtuelle Computer aus.
Wählen Sie ein geeignetes Image für virtuelle Computer aus, z. B. die virtuellen Data Science-Computer, um schnell auf vorkonfigurierte Tools für KI-Workloads zuzugreifen. Diese Wahl spart Zeit und Ressourcen, während die für eine effiziente KI-Verarbeitung erforderliche Software bereitgestellt wird
Beginnen Sie mit den Images für virtuelle Data Science-Computer. Das Data Science Virtual Machine-Image bietet vorkonfigurierten Zugriff auf Data Science-Tools. Zu diesen Tools gehören PyTorch, TensorFlow, scikit-learn, Jupyter, Visual Studio Code, Azure CLI und PySpark. Bei Verwendung mit GPUs enthält das Image auch Nvidia-Treiber, CUDA-Toolkit und cuDNN. Diese Bilder dienen als Basisbild. Wenn Sie mehr Software benötigen, fügen Sie sie zur Startzeit über ein Skript hinzu, oder betten Sie es in ein benutzerdefiniertes Image ein. Sie behalten die Kompatibilität mit Ihren Orchestrierungslösungen bei.
Suchen Sie nach Bedarf nach alternativen Bildern. Wenn das Image des virtuellen Data Science-Computers Ihre Anforderungen nicht erfüllt, verwenden Sie den Azure Marketplace oder andere Suchmethoden, um alternative Bilder zu finden. Beispielsweise benötigen Sie mit GPUs Linux-Images , die InfiniBand-Treiber, NVIDIA-Treiber, Kommunikationsbibliotheken, MPI-Bibliotheken und Überwachungstools enthalten.
Auswählen einer Größe eines virtuellen Computers
Die Auswahl einer geeigneten Größe virtueller Computer entspricht ihrer KI-Modellkomplexität, Datengröße und Kosteneinschränkungen. Das Abgleichen von Hardware zu Schulungen oder Ableitungsanforderungen maximiert die Effizienz und verhindert Unternutzung oder Überlastung.
Schränken Sie die Optionen für den virtuellen Computer ein. Wählen Sie die neuesten SKUs für virtuelle Computer aus, um optimale Schulungen und Ableitungszeiten zu treffen. Wählen Sie für Schulungen SKUs aus, die RDMA- und GPU-Verbindungen für die Datenübertragung mit hoher Geschwindigkeit zwischen GPUs unterstützen. Vermeiden Sie SKUs mit InfiniBand, was nicht erforderlich ist, um rückschlüsse zu können. Beispiele sind die ND MI300X v5-Serie, ND H100 v5-Serie, NDm A100 v4-Serie und ND A100 v4-Serie.
Überprüfen Sie die Preise für virtuelle Computer. Verwenden Sie die Preisseiten für Linux - und Windows-VM für eine allgemeine Kostenübersicht. Verwenden Sie für eine detaillierte Schätzung den Azure-Preisrechner.
Betrachten Sie Spotinstanzen. Spotinstanzen sind kosteneffizient für Inferenceszenarien mit minimalem Datenverlustrisiko. Spotinstanzen bieten erhebliche Einsparungen, indem sie die nicht genutzte Rechenzentrumskapazität zu einem Rabatt nutzen. Diese Kapazität kann jedoch jederzeit wieder beansprucht werden, sodass Spotinstanzen für Workloads am besten geeignet sind, die Unterbrechungen verarbeiten können. Regelmäßige Prüfpunktdaten zur Minimierung des Verlusts bei der Auswendung. Weitere Informationen finden Sie unter Verwenden von Spot-VMs in Azure CycleCloud.
Auswählen einer Compute-Orchestrierungslösung
Compute-Orchestrierungslösungen erleichtern die Verwaltung von KI-Aufgaben über virtuelle Computercluster hinweg. Selbst bei einfachen Bereitstellungen kann ein Orchestrator dazu beitragen, Kosten zu senken und sicherzustellen, dass eine Umgebung reproduzierbar ist. Orchestrators tragen dazu bei, dass Sie nur die Berechnung verwenden, die Sie für einen bestimmten Zeitraum benötigen. Wählen Sie ein Orchestrierungstool basierend auf Ihrer Planung, Containerisierung und Skalierung aus, um Vorgänge und Skalierbarkeit zu verbessern.
Verwenden Sie Azure CycleCloud für Open-Source-Scheduler. Azure CycleCloud ist ideal für Open-Source-Scheduler wie Slurm, Grid Engine oder Drehmoment/PBS. Sie bietet flexible Clusterverwaltung, anpassbare Konfigurationen und erweiterte Planungsfunktionen. Virtuelle Computer innerhalb des Clusters benötigen Konfiguration für die Ausführung der KI-Workload. Virtuelle Computer für CycleCloud und Batch sind nicht persistent. Der Orchestrator erstellt und entfernt VMs bei Bedarf, um Kosteneinsparungen zu erzielen. Weitere Informationen finden Sie unter Azure CycleCloud Workspace für Slum.
Verwenden Sie Azure Batch für die integrierte Planung. Azure Batch bietet integrierte Planungsfeatures ohne zusätzliche Softwareinstallation oder -verwaltung. Es verfügt über ein Verbrauchspreismodell und keine Lizenzgebühren. Außerdem werden containerisierte Aufgaben nativ unterstützt. Bewährte Methoden für die Bereitstellung finden Sie unter Azure Batch Accelerator.
Verwenden Sie Azure Kubernetes Service (AKS) für die Containerskalierung. AKS ist ein verwalteter Dienst zum Bereitstellen, Skalieren und Verwalten von Containern in einem Cluster. Es eignet sich für die Ausführung von KI-Workloads in Containern im großen Maßstab. Weitere Informationen finden Sie unter Verwenden des Azure Kubernetes-Diensts zum Hosten von GPU-basierten Workloads.
Manuelles Koordinieren von Aufträgen für einfachere Aufgaben. Wenn die Orchestrierungsanforderungen minimal sind, verwalten Sie KI-Ressourcen manuell. Beachten Sie die folgenden Schritte für kleine Workloads:
- Definieren Sie Ihren Workflow. Grundlegendes zum Ende des Workflows, einschließlich Abhängigkeiten und Auftragssequenz. Überlegen Sie, wie Fehler in jedem Schritt behandelt werden.
- Protokollieren und Überwachen von Aufträgen Implementieren Sie klare Protokollierungs- und Überwachungsframeworks für Ihre Aufträge.
- Überprüfen Sie die Voraussetzungen. Stellen Sie sicher, dass Ihre Umgebung alle Workflowanforderungen erfüllt, einschließlich der erforderlichen Bibliotheken und Frameworks.
- Die Versionskontrolle verwenden Nachverfolgen und Verwalten von Änderungen mithilfe der Versionssteuerung.
- Automatisieren von Aufgaben: Verwenden Sie Skripts, um Die Datenvorverarbeitung, Schulung und Auswertung zu automatisieren.
Berücksichtigen von Containern
Container bieten eine konsistente, reproduzierbare Umgebung, die effizient skaliert wird. Container optimieren Übergänge zwischen Umgebungen und machen sie für skalierbare KI-Lösungen unerlässlich.
Installieren Sie Treiber. Stellen Sie sicher, dass die erforderlichen Treiber installiert sind, um Containerfunktionen in verschiedenen Szenarien zu aktivieren. Bei Clusterkonfigurationen sind häufig Tools wie Pyxis und Enroot erforderlich.
Verwenden Sie DAS NVIDIA Container Toolkit. Dieses Toolkit ermöglicht GPU-Ressourcen innerhalb von Containern. Installieren Sie alle erforderlichen Treiber, z. B. CUDA- und GPU-Treiber, und verwenden Sie Ihre bevorzugte Containerlaufzeit und das Modul für die Ausführung von AI-Workload.