Wprowadzenie do docelowego obiektu obliczeniowego platformy Kubernetes w usłudze Azure Machine Learning

DOTYCZY: Rozszerzenie interfejsu wiersza polecenia platformy Azure w wersji 2 (current)Zestaw PYTHON SDK azure-ai-ml v2 (bieżąca)

W przypadku zestawu Azure Machine Edukacja CLI/Python SDK w wersji 2 usługa Azure Machine Edukacja wprowadziła nowy docelowy obiekt obliczeniowy — docelowy obiekt obliczeniowy platformy Kubernetes. Możesz łatwo włączyć istniejący klaster usługi Azure Kubernetes Service (AKS) lub klaster Kubernetes z włączoną usługą Azure Arc (Arc Kubernetes), aby stać się obiektem docelowym obliczeniowym kubernetes w usłudze Azure Machine Edukacja i użyć go do trenowania lub wdrażania modeli.

Diagram ilustrujący sposób łączenia usługi Azure Machine Edukacja z platformą Kubernetes.

Z tego artykułu dowiesz się więcej o:

  • Jak to działa
  • Scenariusze użycia
  • Zalecane najlepsze rozwiązania
  • Platforma KubernetesCompute i starsze wersje AksCompute

Jak to działa

Środowisko obliczeniowe usługi Azure Machine Edukacja Kubernetes obsługuje dwa rodzaje klastra Kubernetes:

  • Klaster AKS na platformie Azure. Dzięki własnemu klastrowi usługi AKS na platformie Azure możesz uzyskać zabezpieczenia i mechanizmy kontroli, aby spełnić wymagania dotyczące zgodności i elastyczność zarządzania obciążeniem uczenia maszynowego zespołów.
  • Klaster Kubernetes usługi Arc poza platformą Azure. Dzięki klastrowi Usługi Arc Kubernetes można trenować lub wdrażać modele w dowolnej infrastrukturze lokalnej, w wielu chmurach lub na brzegu sieci.

Dzięki prostemu wdrożeniu rozszerzenia klastra w klastrze AKS lub Arc Kubernetes klaster Kubernetes jest bezproblemowo obsługiwany w usłudze Azure Machine Edukacja do uruchamiania obciążenia trenowania lub wnioskowania. Łatwo jest włączyć i użyć istniejącego klastra Kubernetes dla obciążenia usługi Azure Machine Edukacja, wykonując następujące proste kroki:

  1. Przygotuj klaster usługi Azure Kubernetes Service lub klaster Usługi Arc Kubernetes.
  2. Wdróż rozszerzenie usługi Azure Machine Edukacja.
  3. Dołącz klaster Kubernetes do obszaru roboczego usługi Azure Machine Edukacja.
  4. Użyj docelowego obiektu obliczeniowego platformy Kubernetes z interfejsu wiersza polecenia w wersji 2, zestawu SDK w wersji 2 i interfejsu użytkownika programu Studio.

Zespół ds. operacji IT. Zespół operacyjny IT odpowiada za pierwsze trzy kroki: przygotowanie klastra AKS lub Arc Kubernetes, wdrożenie rozszerzenia klastra usługi Azure Machine Edukacja i dołączenie klastra Kubernetes do obszaru roboczego usługi Azure Machine Edukacja. Oprócz tych podstawowych kroków konfiguracji obliczeniowej zespół it-operation używa również znanych narzędzi, takich jak interfejs wiersza polecenia platformy Azure lub narzędzie kubectl, aby dbać o następujące zadania dla zespołu ds. nauki o danych:

  • Konfiguracje sieci i zabezpieczeń, takie jak połączenie serwera proxy ruchu wychodzącego lub konfiguracja zapory platformy Azure, konfiguracja routera wnioskowania (azureml-fe), kończenie żądań SSL/TLS i konfiguracja sieci wirtualnej.
  • Tworzenie typów wystąpień dla różnych scenariuszy obciążeń uczenia maszynowego i zarządzanie nimi oraz uzyskiwanie wydajnego wykorzystania zasobów obliczeniowych.
  • Problemy z tworzeniem problemów z obciążeniami związanymi z klastrem Kubernetes.

Zespół ds. nauki o danych. Gdy zespół ds. operacji IT zakończy konfigurację obliczeniową i obiekty docelowe obliczeń, zespół ds. nauki o danych może odnaleźć listę dostępnych celów obliczeniowych i typów wystąpień w obszarze roboczym usługi Azure Machine Edukacja. Te zasoby obliczeniowe mogą służyć do trenowania lub wnioskowania obciążenia. Nauka o danych określa nazwę docelową obliczeń i nazwę typu wystąpienia przy użyciu preferowanych narzędzi lub interfejsów API. Na przykład mogą to być nazwy interfejsu wiersza polecenia platformy Azure Edukacja w wersji 2, zestawu PYTHON SDK w wersji 2 lub interfejsu użytkownika programu Studio.

Scenariusze użycia platformy Kubernetes

Dzięki klastrowi Usługi Arc Kubernetes można tworzyć, trenować i wdrażać modele w dowolnej infrastrukturze lokalnej i w wielu chmurach przy użyciu platformy Kubernetes. Spowoduje to otwarcie niektórych nowych wzorców użycia, które wcześniej nie były możliwe w środowisku ustawień chmury. Poniższa tabela zawiera podsumowanie nowych wzorców użycia włączonych przez środowisko obliczeniowe usługi Azure Machine Edukacja Kubernetes:

Wzorzec użycia Lokalizacja danych Motywacja Konfiguracja infrastruktury i implementacja Edukacja maszyny platformy Azure
Trenowanie modelu w chmurze, wdrażanie modelu lokalnego Chmura Korzystaj z zasobów obliczeniowych w chmurze. Z powodu elastycznych potrzeb obliczeniowych lub specjalnego sprzętu, takiego jak procesor GPU.
Model musi być wdrożony lokalnie z powodu wymagań dotyczących zabezpieczeń, zgodności lub opóźnień
1. Zarządzane zasoby obliczeniowe platformy Azure w chmurze.
2. Lokalnie zarządzana przez klienta platforma Kubernetes.
3. W pełni zautomatyzowane metodyki MLOps w trybie hybrydowym, w tym kroki trenowania i wdrażania modelu bezproblemowo przechodzą z chmury do środowiska lokalnego i odwrotnie.
4. Powtarzalne, ze wszystkimi elementami zawartości śledzonym prawidłowo. W razie potrzeby model został ponownie wytrenowany, a wdrożenie modelu zostało automatycznie zaktualizowane po ponownym trenowaniu.
Trenowanie modelu lokalnego i w chmurze, wdrażanie zarówno w chmurze, jak i lokalnie Chmura Organizacje chcące połączyć inwestycje lokalne ze skalowalnością chmury. Korzystanie z chmury i zasobów obliczeniowych lokalnych w jednym okienku szkła. Jedno źródło prawdy dla danych znajduje się w chmurze, można replikować do środowiska lokalnego (czyli leniwie na użycie lub proaktywnie). Podstawowe użycie zasobów obliczeniowych w chmurze jest wtedy, gdy zasoby lokalne nie są dostępne (w użyciu, konserwacji) lub nie mają określonych wymagań sprzętowych (GPU). 1. Zarządzane zasoby obliczeniowe platformy Azure w chmurze.
2. Lokalnie zarządzana przez klienta platforma Kubernetes.
3. W pełni zautomatyzowane metodyki MLOps w trybie hybrydowym, w tym kroki trenowania i wdrażania modelu bezproblemowo przechodzą z chmury do środowiska lokalnego i odwrotnie.
4. Powtarzalne, ze wszystkimi elementami zawartości śledzonym prawidłowo. W razie potrzeby model został ponownie wytrenowany, a wdrożenie modelu zostało automatycznie zaktualizowane po ponownym trenowaniu.
Trenowanie modelu lokalnego, wdrażanie modelu w chmurze Lokalne Dane muszą pozostać w środowisku lokalnym ze względu na wymagania dotyczące rezydencji danych.
Wdrażanie modelu w chmurze na potrzeby dostępu do usług globalnych lub elastyczności obliczeniowej w celu skalowania i przepływności.
1. Zarządzane zasoby obliczeniowe platformy Azure w chmurze.
2. Lokalnie zarządzana przez klienta platforma Kubernetes.
3. W pełni zautomatyzowane metodyki MLOps w trybie hybrydowym, w tym kroki trenowania i wdrażania modelu bezproblemowo przechodzą z chmury do środowiska lokalnego i odwrotnie.
4. Powtarzalne, ze wszystkimi elementami zawartości śledzonym prawidłowo. W razie potrzeby model został ponownie wytrenowany, a wdrożenie modelu zostało automatycznie zaktualizowane po ponownym trenowaniu.
Korzystanie z własnej usługi AKS na platformie Azure Chmura Więcej zabezpieczeń i mechanizmów kontroli.
Wszystkie prywatne uczenie maszynowe IP, aby zapobiec eksfiltracji danych.
1. Klaster usługi AKS za siecią wirtualną platformy Azure.
2. Utwórz prywatne punkty końcowe w tej samej sieci wirtualnej dla obszaru roboczego usługi Azure Machine Edukacja i skojarzonych z nim zasobów.
3. W pełni zautomatyzowane metodyki MLOps.
Cały cykl życia uczenia maszynowego w środowisku lokalnym Lokalne Zabezpieczanie poufnych danych lub zastrzeżonych adresów IP, takich jak modele uczenia maszynowego i kod/skrypty. 1. Lokalne połączenie serwera proxy ruchu wychodzącego.
2. Prywatne połączenie usług Azure ExpressRoute i Azure Arc z zasobami platformy Azure.
3. Lokalnie zarządzana przez klienta platforma Kubernetes.
4. W pełni zautomatyzowane metodyki MLOps.

Ograniczenia

KubernetesComputeElement docelowy w obciążeniach usługi Azure Machine Edukacja (trenowanie i wnioskowanie modelu) ma następujące ograniczenia:

  • Dostępność funkcji w wersji zapoznawczej w usłudze Azure Machine Edukacja nie jest gwarantowana.
    • Zidentyfikowane ograniczenie: Modele (w tym podstawowy model) z katalogu modeli i rejestru nie są obsługiwane w punktach końcowych online platformy Kubernetes.

Rozdzielenie obowiązków między zespołem ds. operacji IT i zespołem nauki o danych. Jak wspomniano w poprzedniej sekcji, zarządzanie własnymi zasobami obliczeniowymi i infrastrukturą dla obciążenia uczenia maszynowego jest złożonym zadaniem. Najlepiej jest to zrobić przez zespół ds. operacji IT, aby zespół ds. nauki o danych mógł skupić się na modelach uczenia maszynowego pod kątem wydajności organizacyjnej.

Tworzenie typów wystąpień dla różnych scenariuszy obciążeń uczenia maszynowego i zarządzanie nimi. Każde obciążenie uczenia maszynowego używa różnych ilości zasobów obliczeniowych, takich jak procesor CPU/procesor GPU i pamięć. Usługa Azure Machine Edukacja implementuje typ wystąpienia jako niestandardową definicję zasobu platformy Kubernetes (CRD) z właściwościami nodeSelector i request/limit zasobu. Dzięki starannie wyselekcjonowanej liście typów wystąpień operacje IT mogą kierować obciążenie uczenia maszynowego na określonych węzłach i efektywnie zarządzać wykorzystaniem zasobów obliczeniowych.

Wiele obszarów roboczych usługi Azure Machine Edukacja współużytkuje ten sam klaster Kubernetes. Klaster Kubernetes można dołączać wiele razy do tego samego obszaru roboczego usługi Azure Machine Edukacja lub różnych obszarów roboczych usługi Azure Machine Edukacja, tworząc wiele obiektów docelowych obliczeniowych w jednym obszarze roboczym lub wielu obszarach roboczych. Ponieważ wielu klientów organizuje projekty nauki o danych w obszarze roboczym usługi Azure Machine Edukacja, wiele projektów nauki o danych może teraz współużytkować ten sam klaster Kubernetes. Znacznie zmniejsza to nakłady pracy związane z zarządzaniem infrastrukturą uczenia maszynowego i oszczędność kosztów IT.

Izolacja obciążenia zespołu/projektu przy użyciu przestrzeni nazw kubernetes. Po dołączeniu klastra Kubernetes do obszaru roboczego usługi Azure Machine Edukacja można określić przestrzeń nazw kubernetes dla docelowego obiektu obliczeniowego. Wszystkie obciążenia uruchamiane przez docelowy obiekt obliczeniowy są umieszczane w określonej przestrzeni nazw.

Platforma KubernetesCompute i starsze wersje AksCompute

Za pomocą zestawu Azure Machine Edukacja CLI/Python SDK w wersji 1 można wdrażać modele w usłudze AKS przy użyciu elementu docelowego usługi AksCompute. Zarówno docelowa platforma KubernetesCompute, jak i docelowa usługa AksCompute obsługują integrację usługi AKS, jednak obsługują ją inaczej. W poniższej tabeli przedstawiono ich kluczowe różnice:

Możliwości Integracja usługi AKS z obiektem AksCompute (starsza wersja) Integracja usługi AKS z obiektem KubernetesCompute
Interfejs wiersza polecenia/zestaw SDK w wersji 1 Tak Nie
Interfejs wiersza polecenia/zestaw SDK w wersji 2 Nie Tak
Szkolenie Nie Tak
Wnioskowanie w czasie rzeczywistym Tak Tak
Wnioskowanie wsadowe Nie Tak
Nowe funkcje wnioskowania w czasie rzeczywistym Brak nowych funkcji w opracowaniu Aktywne plany rozwoju

Z tymi kluczowymi różnicami i ogólną ewolucją usługi Azure Machine Edukacja do korzystania z zestawu SDK/interfejsu wiersza polecenia w wersji 2 usługa Azure Machine Edukacja zaleca użycie docelowego celu obliczeniowego platformy Kubernetes do wdrażania modeli, jeśli zdecydujesz się na użycie usługi AKS na potrzeby wdrażania modelu.

Inne zasoby

Przykłady

Wszystkie przykłady usługi Azure Machine Edukacja można znaleźć w temacie https://github.com/Azure/azureml-examples.git.

W przypadku dowolnego przykładu usługi Azure Machine Edukacja wystarczy zaktualizować nazwę docelową obliczeniową usługi Kubernetes tylko do docelowego obiektu obliczeniowego platformy Kubernetes, a następnie wszystko gotowe.

Następne kroki