Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
I den här artikeln får du lära dig hur du kör distribuerade AI-arbetsbelastningar på Azure Kubernetes Service (AKS) med Ray för beräkningskörningen och Kueue för antagningskontroll. Den här lösningen omfattar hela livscykeln från infrastrukturetablering via utbildning, batchinferens och onlineservering.
Viktigt!
Programvara med öppen källkod nämns i AKS-dokumentationen och exempel. Programvara som du distribuerar undantas från AKS-serviceavtal, begränsad garanti och Azure Support. När du använder teknik med öppen källkod tillsammans med AKS kan du läsa supportalternativen som är tillgängliga från respektive community och projektunderhållare för att utveckla en plan.
Microsoft tar ansvar för att skapa de paket med öppen källkod som vi distribuerar på AKS. Det ansvaret omfattar att ha fullständigt ägarskap för bygg-, genomsöknings-, signerings-, validerings- och snabbkorrigeringsprocessen, tillsammans med kontroll över binärfilerna i containeravbildningar. Mer information finns i Sårbarhetshantering för AKS - och AKS-stödtäckning.
Vad är Ray?
Ray är ett ramverk med öppen källkod för skalning av AI och Python program. Det ger en enhetlig körning för distribuerad träning, justering av hyperparametrar, batchinferens och modellhantering, så att du kan skala arbetsbelastningar över flera noder utan att skriva om programlogik.
Ray förenklar distribuerad databehandling genom att hantera schemaläggning, feltolerans och resurshantering. Ramverket stöder maskininlärningsbibliotek som PyTorch, TensorFlow och Hugging Face via integreringar som Ray Train, Ray Data och Ray Serve. Mer information finns på Ray GitHub-lagringsplatsen.
Vad är KubeRay?
KubeRay är en Kubernetes-operator som hanterar livscykeln för Ray-kluster. Den tillhandahåller anpassade resurser – RayJob för batcharbetsbelastningar och RayService för beständiga serverslutpunkter – som automatiserar klusterskapande, skalning och nedrullning. Mer information finns i KubeRay GitHub-lagringsplatsen.
Vad är Kueue?
Kueue är en Kubernetes-intern jobbkökontrollant som hanterar arbetsbelastningsantagning baserat på resurskvoter. I stället för att låta varje inskickat jobb förbruka resurser omedelbart styr Kueue antagningen utifrån definierade kvoter – jobb som ryms inom kvoterna körs, och jobb som inte gör det får vänta i kön. En detaljerad översikt över Kueue-begrepp och -konfiguration finns i Kueue-översikten över AKS.
Lösningsarkitektur
Den här lösningen kombinerar Kueue för antagningskontroll med KubeRay för livscykelhantering för Ray-kluster i AKS. Terraform etablerar infrastrukturen, Helm installerar operatorerna från Microsoft Container Registry (MCR) och arbetsbelastningsidentitet ger säker åtkomst till Azure Blob Storage utan lagrade autentiseringsuppgifter.
Distributionsprocessen består av tre moduler:
- Infrastruktur – Terraform etablerar AKS-klustret med GPU-nodpooler, installerar KubeRay- och Kueue-operatorer via Helm, skapar Azure Blob Storage och konfigurerar arbetsbelastningsidentitet.
- Kueue-köer – Kubernetes-manifest definierar ResourceFlavors (cpu- och GPU-nodtyper), ClusterQueues (kvoter och antagningsprinciper) och LocalQueues (namnområdesomfångade inlämningsplatser).
- Arbetsbelastningar – RayJob- och RayService-manifest skickar AI-arbetsbelastningar som Kueue medger baserat på tillgänglig kvot.
Ray-arbetsbelastningar börjar med suspend: true. Kueue utvärderar om det finns tillgänglig kvot och återupptar godkända arbetsbelastningar, varefter KubeRay skapar Ray-klustret och kör jobbet.
Arbetsbelastningsexempel
| Example | Type | GPUs | Description |
|---|---|---|---|
| Finjustera vädermodellen Aurora | RayJob | 1×A100 | LoRA-finjustering av Microsoft Aurora-grundmodellen för väderprognoser |
| Träna en LLM | RayJob | 4×A100 | Distribuerad finjustering av Qwen2.5-7B LoRA med LLaMA-Factory |
| Kör batchinferens | RayJob | 1×A100 | vLLM offline-slutsatsdragning med en tränad LoRA-adapter |
| Hantera en modell online | RayService | 1×GPU | Beständiga HTTP-slutpunkter med Ray Serve |