Berechnen von Empfehlungen für KI-Workloads für Azure-Infrastruktur (IaaS)

Dieser Artikel enthält Computeempfehlungen für Organisationen, die KI-Workloads auf Azure Infrastruktur (IaaS) ausführen. Der bevorzugte Ansatz besteht darin, Ihre KI-Einführung mit Azure KI-Plattform-as-a-Service(PaaS)-Lösungen 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 VMs, um hohe Rechenanforderungen und die Verarbeitung großer Datenmengen zu unterstützen. Durch die Auswahl der richtigen VMs können Sie die Ressourcenverwendung optimieren sowie die Entwicklung und Bereitstellung von KI-Modellen beschleunigen. In der folgenden Tabelle finden Sie eine Übersicht über die empfohlenen Rechenoptionen.

KI-Phase Abbild der Virtuellen Maschine Generative KI Nicht generative KI (komplexe Modelle) Nicht generative KI (kleine Modelle)
KI-Modelltraining Data Science Virtual Machines GPU (vorzugsweise ND-Familie, alternativ NC-Familie mit per Ethernet verbundenen VMs) GPU (vorzugsweise ND-Familie, alternativ NC-Familie mit per Ethernet verbundenen VMs) Speicheroptimiert (CPU)
KI-Inferenzmodelle Data Science Virtual Machines GPU (NC- oder ND-Familie) GPU (NC- oder ND-Familie) Für Compute optimiert (CPU)

Auswählen des richtigen VM-Images

Wählen Sie ein geeignetes Image für virtuelle Computer aus, z. B. das Data Science-Virtual Machines, 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 Data Science-Virtual Machines Bildern. Das Image Data Science Virtual Machine 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 der Verwendung mit GPUs enthält das Image auch Nvidia-Treiber, das CUDA-Toolkit und cuDNN. Diese Bilder dienen als Basisbild. Wenn Sie weitere Software benötigen, fügen Sie sie zur Startzeit über ein Skript hinzu, oder betten Sie sie in ein benutzerdefiniertes Image ein. Sie gewährleisten die Kompatibilität mit Ihren Orchestrierungslösungen.

  • Suchen Sie bei Bedarf nach alternativen Images. Wenn das Data Science Virtual Machine Bild Nicht Ihren Anforderungen entspricht, verwenden Sie Microsoft Marketplace oder andere Suchmethoden methods, um alternative Bilder zu finden. Beispielsweise benötigen Sie für GPUs möglicherweise Linux-Images, die InfiniBand-Treiber, NVIDIA-Treiber, Kommunikationsbibliotheken, MPI-Bibliotheken und Überwachungstools enthalten.

Auswählen einer VM-Größe

Die Auswahl der geeigneten VM-Größe richtet sich nach der Komplexität Ihres KI-Modells, der Datengröße und dem Kostenrahmen. Die Abstimmung der Hardware auf den Trainings- oder Rückschlussbedarf maximiert die Effizienz und verhindert eine Unterauslastung oder Überlastung.

  • Grenzen Sie Ihre VM-Optionen ein. Wählen Sie die aktuellen VM-SKUs aus, um optimale Trainings- und Rückschlusszeiten zu erzielen. Wählen Sie für das Training SKUs aus, die RDMA-Verbindungen (Remote Direct Memory Access, Remotezugriff auf den direkten Speicher) und GPU-Verbindungen für die Hochgeschwindigkeitsübertragung zwischen GPUs unterstützen. Für Rückschlüsse sind SKUs mit InfiniBand nicht erforderlich und sollten daher vermieden werden. Beispiele sind die ND H200 v5, ND MI300X v5-Serie, ND H100 v5-Serie, NDm A100 v4-Serie und ND A100 v4-Serie.

  • Überprüfen Sie die VM-Preise. Verwenden Sie die Linux und Windows VM-Preisseiten für eine allgemeine Kostenübersicht. Verwenden Sie für eine detaillierte Schätzung den Azure Preisrechner.

  • Stelleninstanzen sollten in Betracht gezogen werden.Spotinstanzen sind kosteneffizient für Inferenzszenarien mit minimalem Risiko für Datenverlust. Spot-Instanzen bieten durch die Verwendung ungenutzter Rechenzentrumskapazität mit einem Preisnachlass erhebliche Einsparungen. Diese Kapazität kann jedoch jederzeit zurückgewonnen werden. Spot-Instanzen eignen sich daher am besten für Workloads, die mit Unterbrechungen umgehen können. Erstellen Sie regelmäßig Prüfpunktdaten, um die Verluste im Fall einer Entfernung zu minimieren. Weitere Informationen finden Sie unter Using Spot VMs in Azure CycleCloud.

Wählen Sie eine Lösung für die Rechen-Orchestrierung

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. Orchestratoren helfen dabei, sicherzustellen, dass Sie nur die Rechnerressourcen nutzen, die Sie für einen bestimmten Zeitraum benötigen. Wählen Sie basierend auf Ihren Anforderungen hinsichtlich der Planung, Containerisierung und Skalierung ein Orchestrierungstool aus, um Vorgänge und die Skalierbarkeit zu verbessern.

  • Verwenden Sie Azure CycleCloud für Open-Source-Scheduler. Azure CycleCloud eignet sich ideal für Open-Source-Scheduler wie Slurm, Grid Engine oder Drehmoment/PBS. Das Tool bietet eine flexible Clusterverwaltung, anpassbare Konfigurationen und erweiterte Planungsfunktionen. VMs im Cluster müssen für die Ausführung von KI-Workloads konfiguriert werden. 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 for Slurm.

  • Verwenden Sie Azure Batch für die integrierte Planung. Azure Batch bietet integrierte Planungsfeatures ohne zusätzliche Softwareinstallation oder -verwaltung. Für den Dienst gilt ein nutzungsbasiertes Preismodell, und es fallen keine Lizenzgebühren an. Zudem bietet er native Unterstützung für containerisierte Aufgaben. 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 für die Bereitstellung, Skalierung und Verwaltung von Containern in einem Cluster. Er eignet sich für die Ausführung von KI-Workloads in Containern in großem Umfang. Weitere Informationen finden Sie unter Use Azure Kubernetes Service to host GPU-based workloads.

  • Orchestrieren Sie Aufträge für einfachere Aufgaben manuell. Verwalten Sie KI-Ressourcen manuell, wenn der Orchestrierungsbedarf minimal ist. Führen Sie für kleine Workloads ggf. die folgenden Schritte aus:

    • Definieren Sie Ihren Workflow. Sie müssen den gesamten End-to-End-Workflow verstehen, einschließlich der Abhängigkeiten und der Auftragsreihenfolge. Überlegen Sie, wie Fehler in den einzelnen Schritten behandelt werden sollen.
    • Protokollieren und überwachen Sie Aufträge. 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 Verfolgen und verwalten Sie Änderungen mithilfe der Versionskontrolle.
    • Automatisieren von Aufgaben: Verwenden Sie Skripts, um die Datenvorverarbeitung, das Training und die Auswertung zu automatisieren.

Erwägen der Verwendung von Containern

Container bieten eine konsistente, reproduzierbare Umgebung, die effizient skaliert werden kann. Container vereinfachen Übergänge zwischen Umgebungen und sind daher für skalierbare KI-Lösungen wesentlich.

  • Installieren Sie Treiber. Stellen Sie sicher, dass die erforderlichen Treiber installiert sind, damit Container in verschiedenen Szenarien funktionieren. Für Clusterkonfigurationen sind häufig Tools wie Pyxis und Enroot erforderlich.

  • Verwenden Sie das NVIDIA-Containertoolkit. Dieses Toolkit ermöglicht die Verwendung von GPU-Ressourcen innerhalb von Containern. Installieren Sie alle erforderlichen Treiber (z. B. CUDA- und GPU-Treiber), und verwenden Sie Ihre bevorzugte Containerruntime sowie das Modul für die KI-Workloadausführung.

Nächster Schritt