Freigeben über


Computeempfehlungen für KI-Workloads in der Azure-Infrastruktur (IaaS)

Dieser Artikel enthält Computeempfehlungen für Organisationen, die KI-Workloads (künstliche Intelligenz) in der Azure-Infrastruktur (Infrastructure-as-a-Service, IaaS) ausführen. Der bevorzugte Ansatz besteht darin, Ihre KI-Einführung mit Azure KI-Platform-as-a-Service (PaaS)-Lösungen zu beginnen. Wenn Sie jedoch Zugriff auf Azure-GPUs (Graphics Processing Units, Grafikprozessoren) haben, befolgen Sie diesen Leitfaden, um KI-Workloads in 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 Computeoptionen.

KI-Phase VM-Image 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) Arbeitsspeicheroptimiert (CPU)
KI-Modellrückschluss 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 VM-Image aus (z. B. Data Science Virtual Machine), um schnell auf vorkonfigurierte Tools für KI-Workloads zuzugreifen. Dadurch können Sie Zeit und Ressourcen sparen, und Sie erhalten die für eine effiziente KI-Verarbeitung erforderliche Software.

  • Beginnen Sie mit den Data Science Virtual Machine-Images. 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, die Azure-Befehlszeilenschnittstelle (Command Line Interface, 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 mehr Software benötigen, fügen Sie sie zur Startzeit über ein Skript hinzu, oder betten Sie es 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-Image Ihre Anforderungen nicht erfüllt, verwenden Sie den Azure Marketplace oder andere Suchmethoden, um alternative Images ausfindig zu machen. 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 MI300X v5-Serie, ND H100 v5-Serie, NDm A100 v4-Serie und ND A100 v4-Serie.

  • Überprüfen Sie die VM-Preise. Auf den Seiten mit den Preisinformationen für Linux- und Windows-VMs erhalten Sie eine allgemeine Übersicht über die Kosten. 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ückgefordert werden. Spot-Instanzen eignen sich daher am besten für Workloads, bei denen Unterbrechungen kein Problem darstellen. Erstellen Sie regelmäßig Prüfpunktdaten, um die Verluste im Fall einer Entfernung zu minimieren. Weitere Informationen finden Sie unter Verwenden von Spot-VMs in Azure CycleCloud.

Auswählen einer Lösung für die Computeorchestrierung

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-Planer. Azure CycleCloud eignet sich ideal für Open-Source-Planer wie SLURM, Grid Engine oder Torque/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 für Slum.

  • Verwenden Sie die integrierte Planung von Azure Batch. Azure Batch bietet integrierte Planungsfeatures, ohne dass zusätzliche Software installiert oder verwaltet werden muss. 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 (Azure Batch-Beschleuniger).

  • 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 im großen Stil. Weitere Informationen finden Sie unter Verwenden von Azure Kubernetes Service zum Hosten von GPU-basierten 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