Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
W tym artykule dowiesz się, jak uruchamiać rozproszone obciążenia SI na platformie Azure Kubernetes Service (AKS), używając Ray jako środowiska uruchomieniowego dla obliczeń oraz Kueue do kontroli dopuszczania. To rozwiązanie obejmuje cały cykl życia — od wdrażania infrastruktury, przez trenowanie modeli i wnioskowanie wsadowe, po serwowanie online.
Ważne
Oprogramowanie typu open source jest wymienione w dokumentacji i przykładach usługi AKS. Oprogramowanie, które wdrażasz, jest wykluczone z umów dotyczących poziomu usług AKS, ograniczonej gwarancji i wsparcia technicznego platformy Azure. W miarę korzystania z technologii open source wraz z usługą AKS zapoznaj się z opcjami pomocy technicznej dostępnymi w odpowiednich społecznościach i opiekunami projektów, aby opracować plan.
Firma Microsoft ponosi odpowiedzialność za tworzenie pakietów typu open source wdrażanych w usłudze AKS. Ta odpowiedzialność obejmuje posiadanie pełnej kontroli nad procesem kompilacji, skanowania, podpisywania, weryfikacji i szybkich poprawek, a także nad plikami binarnymi w obrazach kontenerów. Aby uzyskać więcej informacji, zobacz zarządzanie podatnościami dla AKS i zakres wsparcia dla AKS.
Co to jest Ray?
Ray to platforma typu open source do skalowania sztucznej inteligencji i Python aplikacji. Zapewnia ujednolicone środowisko uruchomieniowe do trenowania rozproszonego, dostrajania hiperparametrów, wnioskowania wsadowego i obsługi modelu, dzięki czemu można skalować obciążenia między wieloma węzłami bez ponownego zapisywania logiki aplikacji.
Ray upraszcza przetwarzanie rozproszone, obsługując planowanie, odporność na uszkodzenia i zarządzanie zasobami. Framework obsługuje biblioteki uczenia maszynowego, takie jak PyTorch, TensorFlow i Hugging Face, za pośrednictwem integracji takich jak Ray Train, Ray Data i Ray Serve. Aby uzyskać więcej informacji, zobacz repozytorium Ray GitHub.
Co to jest KubeRay?
KubeRay to operator Kubernetes, który zarządza cyklem życia klastrów Ray. Udostępnia niestandardowe zasoby — RayJob dla obciążeń wsadowych oraz RayService dla trwałych punktów końcowych do obsługi — które automatyzują tworzenie, skalowanie i likwidację klastra. Aby uzyskać więcej informacji, zobacz repozytorium KubeRay GitHub.
Co to jest Kueue?
Kueue to natywny kontroler kolejkowania zadań platformy Kubernetes, który zarządza przyznaniem obciążenia na podstawie przydziałów zasobów. Zamiast pozwalać, by każde zgłoszone zadanie natychmiast zużywało zasoby, Kueue dopuszcza zadania do uruchomienia na podstawie zdefiniowanych limitów — zadania mieszczące się w limitach są uruchamiane, a te, które się w nich nie mieszczą, czekają w kolejce. Aby zapoznać się ze szczegółowym omówieniem pojęć i konfiguracji usługi Kueue, zobacz Omówienie usługi Kueue w usłudze AKS.
Architektura rozwiązania
To rozwiązanie łączy rozwiązanie Kueue do kontroli dostępu z rozwiązaniem KubeRay dla zarządzania cyklem życia klastra Ray w usłudze AKS. Terraform udostępnia infrastrukturę, Helm instaluje operatory z usługi Microsoft Container Registry (MCR), a tożsamość obciążenia roboczego zapewnia bezpieczny dostęp do Azure Blob Storage bez konieczności przechowywania poświadczeń.
Proces wdrażania składa się z trzech modułów:
- Infrastruktura — Terraform udostępnia klaster AKS z pulami węzłów GPU, instaluje operatory KubeRay i Kueue za pomocą Helm, tworzy magazyn obiektów blob platformy Azure i konfiguruje tożsamość obciążenia roboczego.
- Kolejki Kueue — manifesty Kubernetes definiują ResourceFlavors (typy węzłów CPU i GPU), ClusterQueues (limity zasobów i zasady dopuszczania) oraz LocalQueues (punkty przesyłania zadań w obrębie przestrzeni nazw).
- Obciążenia — manifesty RayJob i RayService zgłaszają zadania SI, które Kueue dopuszcza na podstawie dostępnego limitu zasobów.
Zadania Ray zaczynają się od suspend: true. Kueue ocenia dostępność limitu zasobów i wznawia dopuszczone obciążenia, po czym KubeRay tworzy klaster Ray i uruchamia zadanie.
Przykłady obciążeń
| Example | Typ | GPUs | Description |
|---|---|---|---|
| Dostrajanie modelu pogody Aurora | RayJob | 1×A100 | Dostrajanie LoRA bazowego modelu pogodowego Microsoft Aurora |
| Trenuj model LLM | RayJob | 4×A100 | Rozproszone dostrajanie Qwen2.5-7B metodą LoRA za pomocą LLaMA-Factory |
| Uruchom wnioskowanie wsadowe | RayJob | 1×A100 | Wnioskowanie offline vLLM przy użyciu wytrenowanego adaptera LoRA |
| Obsługa modelu w trybie online | RayService | 1×GPU | Trwały punkt końcowy HTTP z usługą Ray Serve |