Übersicht über das Ausführen von Ray AI-Workloads mit Kueue auf Azure Kubernetes Service (AKS)

In diesem Artikel erfahren Sie, wie Sie verteilte KI-Workloads auf Azure Kubernetes Service (AKS) mit Ray als Compute-Laufzeitumgebung und Kueue für Admission Control ausführen. Diese Lösung umfasst den vollständigen Lebenszyklus von der Infrastrukturbereitstellung über das Training, die Batch-Inferenz und die Online-Bereitstellung.

Wichtig

Open-Source-Software wird überall in AKS-Dokumenten und -Beispielen erwähnt. Software, die Sie bereitstellen, ist von AKS-Vereinbarungen zum Servicelevel, der eingeschränkten Garantie und dem Azure-Support ausgeschlossen. Wenn Sie Open-Source-Technologie zusammen mit AKS nutzen, nutzen Sie die Supportoptionen, die von den jeweiligen Communitys und Projektbetreuenden angeboten werden, um einen Plan zu entwickeln.

Microsoft übernimmt die Verantwortung für die Erstellung der Open-Source-Pakete, die wir in AKS bereitstellen. Diese Verantwortung umfasst die vollständige Verantwortung für den Build-, Scan-, Signier-, Validierungs- und Hotfix-Prozess sowie die Kontrolle über die Binärdateien in Container-Images. Weitere Informationen finden Sie unter Sicherheitsrisikomanagement für AKS und AKS-Supportabdeckung.

Was ist Ray?

Ray ist ein Open-Source-Framework zum Skalieren von KI und Python Anwendungen. Sie stellt eine einheitliche Laufzeit für verteilte Schulungen, Hyperparameteroptimierung, Batcheinschluss und Modellbereitstellung bereit, sodass Sie Workloads über mehrere Knoten skalieren können, ohne Anwendungslogik neu zu schreiben.

Ray vereinfacht verteiltes Computing durch Die Verarbeitung von Terminplanung, Fehlertoleranz und Ressourcenmanagement. Das Framework unterstützt Machine Learning-Bibliotheken wie PyTorch, TensorFlow und Hugging Face durch Integrationen wie Ray Train, Ray Data und Ray Serve. Weitere Informationen finden Sie im GitHub-Repository für Ray.

Was ist KubeRay?

KubeRay ist ein Kubernetes-Operator, der den Lebenszyklus von Ray-Clustern verwaltet. Sie stellt benutzerdefinierte Ressourcen – RayJob für Batch-Workloads und RayService für persistente Serving-Endpunkte – bereit, die die Erstellung, Skalierung und das Löschen von Clustern automatisieren. Weitere Informationen finden Sie im GitHub-Repository für KubeRay.

Was ist Kueue?

Kueue ist ein Kubernetes-nativer Controller für die Job-Warteschlange, der die Zulassung von Workloads auf Grundlage von Ressourcenkontingenten steuert. Anstatt jedem übermittelten Einzelvorgang Ressourcen sofort verbrauchen zu lassen, übergibt Kueue die Zulassung gegen definierte Kontingente – Einzelvorgänge, die ausgeführt werden, Einzelvorgänge, die nicht in der Zeile warten. Eine detaillierte Übersicht über Kueue-Konzepte und -Konfiguration finden Sie in der Kueue-Übersicht auf AKS.

Lösungsarchitektur

Diese Lösung kombiniert Kueue für die Zulassungskontrolle mit KubeRay für das Ray Cluster Lifecycle Management auf AKS. Terraform stellt die Infrastruktur bereit, Helm installiert die Betreiber aus Microsoft Container Registry (MCR) und die Workload-Identität bietet sicheren Zugriff auf Azure Blob Storage ohne gespeicherte Anmeldeinformationen.

Der Bereitstellungsprozess besteht aus drei Modulen:

  • Infrastruktur – Terraform stellt den AKS-Cluster mit GPU-Knotenpools bereit, installiert KubeRay- und Kueue-Operatoren über Helm, erstellt Azure Blob Storage und konfiguriert die Workloadidentität.
  • Kueue-Warteschlangen — Kubernetes-Manifeste definieren ResourceFlavors (CPU- und GPU-Knotentypen), ClusterQueues (Kontingente und Zulassungsrichtlinien) sowie LocalQueues (namespacebezogene Einreichungspunkte).
  • Workloads – RayJob- und RayService-Manifeste übermitteln AI-Workloads, die Kueue basierend auf dem verfügbaren Kontingent zulässt.

Ray Workloads beginnen mit suspend: true. Kueue prüft die Kontingentverfügbarkeit und hebt die Aussetzung zugelassener Workloads auf, woraufhin KubeRay den Ray-Cluster erstellt und den Einzelvorgang ausführt.

Workloadbeispiele

Example Typ GPUs Description
Feinabstimmung des Aurora-Wettermodells RayJob 1×A100 LoRA-Feinabstimmung des Microsoft Aurora Wetter-Basismodells
Ein LLM trainieren RayJob 4×A100 Verteiltes Feinabstimmen von Qwen2.5-7B LoRA mit LLaMA-Factory
Ausführen von Batchrückschlüssen RayJob 1×A100 vLLM-Offline-Ableitung mit einem trainierten LoRA-Adapter
Ein Modell online bereitstellen RayService 1×GPU Persistenter HTTP-Endpunkt mit Ray Serve

Nächster Schritt