Przepływ uczenia maszynowego i usługa Azure Machine Learning
DOTYCZY: Rozszerzenie interfejsu wiersza polecenia platformy Azure w wersji 2 (current)Zestaw PYTHON SDK azure-ai-ml v2 (bieżąca)
W tym artykule opisano możliwości platformy MLflow, struktury typu open source przeznaczonej do zarządzania pełnym cyklem życia uczenia maszynowego. Platforma MLflow używa spójnego zestawu narzędzi do trenowania i udostępniania modeli na różnych platformach. Możesz użyć platformy MLflow niezależnie od tego, czy eksperymenty działają lokalnie, czy na zdalnym obiekcie docelowym obliczeniowym, maszynie wirtualnej lub wystąpieniu obliczeniowym usługi Azure Machine Learning.
Obszary robocze usługi Azure Machine Learning są zgodne z platformą MLflow, co oznacza, że możesz użyć obszaru roboczego usługi Azure Machine Learning w taki sam sposób, jak w przypadku serwera MLflow. Ta zgodność ma następujące zalety:
- Usługa Azure Machine Learning nie hostuje wystąpień serwera MLflow, ale może bezpośrednio używać interfejsów API platformy MLflow.
- Obszar roboczy usługi Azure Machine Learning można użyć jako serwera śledzenia dla dowolnego kodu MLflow, niezależnie od tego, czy działa on w usłudze Azure Machine Learning. Wystarczy skonfigurować rozwiązanie MLflow tak, aby wskazywał obszar roboczy, w którym powinno nastąpić śledzenie.
- Możesz uruchomić dowolną procedurę szkoleniową, która używa biblioteki MLflow w usłudze Azure Machine Learning bez wprowadzania żadnych zmian.
Napiwek
W przeciwieństwie do zestawu Azure Machine Learning SDK w wersji 1 nie ma funkcji rejestrowania w zestawie SDK usługi Azure Machine Learning w wersji 2. Możesz użyć rejestrowania MLflow, aby upewnić się, że procedury trenowania są niezależne od chmury, przenośne i nie mają zależności od usługi Azure Machine Learning.
Co to jest śledzenie
Podczas pracy z zadaniami usługa Azure Machine Learning automatycznie śledzi niektóre informacje o eksperymentach, takich jak kod, środowisko i dane wejściowe i wyjściowe. Jednak modele, parametry i metryki są specyficzne dla scenariusza, więc konstruktorzy modeli muszą skonfigurować śledzenie.
Zapisane metadane śledzenia różnią się w zależności od eksperymentu i mogą obejmować:
- Kod
- Szczegóły środowiska, takie jak wersja systemu operacyjnego i pakiety języka Python
- Dane wejściowe
- Konfiguracje parametrów
- Modele
- Metryki oceny
- Wizualizacje oceny, takie jak macierze pomyłek i wykresy ważności
- Wyniki oceny, w tym niektóre przewidywania oceny
Zalety eksperymentów śledzenia
Niezależnie od tego, czy trenujesz modele z zadaniami w usłudze Azure Machine Learning, czy interaktywnie w notesach, śledzenie eksperymentów ułatwia:
- Organizuj wszystkie eksperymenty uczenia maszynowego w jednym miejscu. Następnie możesz wyszukiwać i filtrować eksperymenty oraz przechodzić do szczegółów, aby wyświetlić szczegółowe informacje o poprzednich eksperymentach.
- Łatwe porównywanie eksperymentów, analizowanie wyników i debugowanie trenowania modelu.
- Odtwórz lub ponownie uruchom eksperymenty, aby zweryfikować wyniki.
- Zwiększ współpracę, ponieważ możesz zobaczyć, co robią inni koledzy z zespołu, udostępniać wyniki eksperymentów i uzyskiwać dostęp do danych eksperymentu programowo.
Śledzenie za pomocą biblioteki MLflow
Obszary robocze usługi Azure Machine Learning są zgodne z platformą MLflow. Ta zgodność oznacza, że można używać biblioteki MLflow do śledzenia przebiegów, metryk, parametrów i artefaktów w obszarach roboczych bez konieczności zmieniania procedur trenowania ani wstrzykiwania dowolnej składni specyficznej dla chmury. Aby dowiedzieć się, jak używać biblioteki MLflow do śledzenia eksperymentów i przebiegów w obszarach roboczych usługi Azure Machine Learning, zobacz Śledzenie eksperymentów i modeli za pomocą biblioteki MLflow.
Usługa Azure Machine Learning używa śledzenia MLflow do rejestrowania metryk i przechowywania artefaktów dla eksperymentów. Po nawiązaniu połączenia z usługą Azure Machine Learning wszystkie śledzenie MLflow materializuje się w obszarze roboczym, w którym pracujesz.
Aby dowiedzieć się, jak włączyć rejestrowanie w celu monitorowania metryk uruchamiania w czasie rzeczywistym za pomocą biblioteki MLflow, zobacz Metryki dzienników, parametry i pliki za pomocą biblioteki MLflow. Możesz również wykonywać zapytania i porównywać eksperymenty i przebiegi za pomocą biblioteki MLflow.
Rozwiązanie MLflow w usłudze Azure Machine Learning umożliwia scentralizowanie śledzenia. Możesz połączyć platformę MLflow z obszarami roboczymi usługi Azure Machine Learning nawet wtedy, gdy pracujesz lokalnie lub w innej chmurze. Obszar roboczy usługi Azure Machine Learning zapewnia scentralizowaną, bezpieczną i skalowalną lokalizację do przechowywania metryk trenowania i modeli.
Rozwiązanie MLflow w usłudze Azure Machine Learning może wykonywać następujące czynności:
- Śledzenie eksperymentów i modeli uczenia maszynowego działających lokalnie lub w chmurze.
- Śledzenie eksperymentów uczenia maszynowego w usłudze Azure Databricks.
- Śledzenie eksperymentów uczenia maszynowego w usłudze Azure Synapse Analytics.
Śledzenie za pomocą biblioteki MLflow w języku R
Obsługa platformy MLflow w języku R ma następujące ograniczenia:
- Śledzenie platformy MLflow jest ograniczone do śledzenia metryk eksperymentów, parametrów i modeli w zadaniach usługi Azure Machine Learning.
- Interaktywne szkolenie w programie RStudio, Posit (dawniej RStudio Workbench) lub notesach Jupyter z jądrami języka R nie jest obsługiwane.
- Zarządzanie modelami i rejestracja nie są obsługiwane. Użyj interfejsu wiersza polecenia usługi Azure Machine Learning lub usługi Azure Machine Learning Studio do rejestracji modeli i zarządzania nimi.
Przykłady użycia klienta śledzenia MLflow z modelami języka R w usłudze Azure Machine Learning można znaleźć w temacie Trenowanie modeli języka R przy użyciu interfejsu wiersza polecenia usługi Azure Machine Learning (wersja 2).
Śledzenie za pomocą biblioteki MLflow w języku Java
Obsługa biblioteki MLflow w języku Java ma następujące ograniczenia:
- Śledzenie platformy MLflow jest ograniczone do śledzenia metryk i parametrów eksperymentu w zadaniach usługi Azure Machine Learning.
- Nie można śledzić artefaktów i modeli. Zamiast tego użyj
mlflow.save_model
metody z folderemoutputs
w zadaniach, aby zapisać modele lub artefakty, które chcesz przechwycić.
Aby zapoznać się z przykładem języka Java, który używa klienta śledzenia MLflow z serwerem śledzenia usługi Azure Machine Learning, zobacz azuremlflow-java.
Przykładowe notesy do śledzenia MLflow
- Trenowanie i śledzenie klasyfikatora XGBoost za pomocą biblioteki MLflow pokazuje, jak używać biblioteki MLflow do śledzenia eksperymentów, modeli dzienników i łączenia wielu smaków w potoki.
- Trenowanie i śledzenie klasyfikatora XGBoost za pomocą biblioteki MLflow przy użyciu uwierzytelniania jednostki usługi pokazuje, jak używać biblioteki MLflow do śledzenia eksperymentów z zasobów obliczeniowych uruchomionych poza usługą Azure Machine Learning. W przykładzie pokazano, jak uwierzytelniać się w usługach Azure Machine Learning przy użyciu jednostki usługi.
- Optymalizacja hiperparametrów przy użyciu funkcji HyperOpt i zagnieżdżonych przebiegów w MLflow pokazuje, jak używać przebiegów podrzędnych do optymalizacji hiperparametrów dla modeli przy użyciu popularnej biblioteki HyperOpt. W przykładzie pokazano, jak przesyłać metryki, parametry i artefakty z przebiegów podrzędnych do przebiegów nadrzędnych.
- Modele rejestrowania za pomocą platformy MLflow pokazują, jak używać koncepcji modeli zamiast artefaktów za pomocą biblioteki MLflow. W przykładzie pokazano również, jak tworzyć modele niestandardowe.
- Zarządzanie przebiegami i eksperymentami za pomocą platformy MLflow pokazuje, jak używać biblioteki MLflow do wykonywania zapytań dotyczących eksperymentów, przebiegów, metryk, parametrów i artefaktów z usługi Azure Machine Learning.
Rejestracja modelu za pomocą biblioteki MLflow
Usługa Azure Machine Learning obsługuje rozwiązanie MLflow do zarządzania modelami. Ta obsługa jest wygodnym sposobem dla użytkowników, którzy znają klienta MLflow do zarządzania całym cyklem życia modelu. Aby uzyskać więcej informacji na temat zarządzania modelami przy użyciu interfejsu API platformy MLflow w usłudze Azure Machine Learning, zobacz Manage model registries in Azure Machine Learning with MLflow (Zarządzanie rejestrami modeli w usłudze Azure Machine Learning przy użyciu biblioteki MLflow).
Przykładowy notes dotyczący rejestracji modelu MLflow
Zarządzanie modelami za pomocą biblioteki MLflow pokazuje, jak zarządzać modelami w rejestrach.
Wdrażanie modelu za pomocą biblioteki MLflow
Możesz wdrożyć modele MLflow w usłudze Azure Machine Learning, aby skorzystać z ulepszonego środowiska. Usługa Azure Machine Learning obsługuje wdrażanie modeli MLflow zarówno w czasie rzeczywistym, jak i wsadowych punktów końcowych bez konieczności określania środowiska lub skryptu oceniania.
Zestaw MLflow SDK, interfejs wiersza polecenia usługi Azure Machine Learning, zestaw AZURE Machine Learning SDK dla języka Python i usługa Azure Machine Learning Studio obsługują wdrażanie modelu MLflow. Aby uzyskać więcej informacji na temat wdrażania modeli MLflow w usłudze Azure Machine Learning na potrzeby wnioskowania w czasie rzeczywistym i wsadowego, zobacz Wytyczne dotyczące wdrażania modeli MLflow.
Przykładowe notesy dotyczące wdrażania modelu MLflow
- Wdrażanie biblioteki MLflow w punktach końcowych online pokazuje, jak wdrażać modele MLflow w punktach końcowych online przy użyciu zestawu MLflow SDK.
- Progresywne wdrażanie wdrożeń platformy MLflow pokazuje, jak wdrażać modele MLflow w punktach końcowych online przy użyciu zestawu MLflow SDK z postępowym wdrażaniem modelu. W przykładzie pokazano również wdrożenie wielu wersji modelu w tym samym punkcie końcowym.
- Wdrażanie modeli MLflow w starszych usługach internetowych pokazuje, jak wdrażać modele MLflow w starszych usługach internetowych (Azure Container Instances lub Azure Kubernetes Service w wersji 1) przy użyciu zestawu MLflow SDK.
- Trenowanie modeli w usłudze Azure Databricks i wdrażanie ich w usłudze Azure Machine Learning pokazuje, jak trenować modele w usłudze Azure Databricks i wdrażać je w usłudze Azure Machine Learning. W tym przykładzie omówiono również śledzenie eksperymentów z wystąpieniem platformy MLflow w usłudze Azure Databricks.
Trenowanie za pomocą projektów MLflow (wersja zapoznawcza)
Ostrzeżenie
MLproject
Obsługa plików (MLflow Projects) w usłudze Azure Machine Learning zostanie w pełni wycofana we wrześniu 2026 r. Biblioteka MLflow jest nadal w pełni obsługiwana i nadal jest zalecanym sposobem śledzenia obciążeń uczenia maszynowego w usłudze Azure Machine Learning.
W miarę kontynuowania korzystania z biblioteki MLflow zalecamy przejście z MLproject
plików do zadań usługi Azure Machine Learning przy użyciu interfejsu wiersza polecenia platformy Azure lub zestawu SDK usługi Azure Machine Learning dla języka Python (wersja 2). Aby uzyskać więcej informacji na temat zadań usługi Azure Machine Learning, zobacz Track ML experiments and models with MLflow (Śledzenie eksperymentów i modeli uczenia maszynowego za pomocą biblioteki MLflow).
Ważne
Ta funkcja jest obecnie w publicznej wersji zapoznawczej. Ta wersja zapoznawcza jest udostępniana bez umowy dotyczącej poziomu usług i nie zalecamy korzystania z niej w przypadku obciążeń produkcyjnych. Niektóre funkcje mogą być nieobsługiwane lub ograniczone.
Aby uzyskać więcej informacji, zobacz Uzupełniające warunki korzystania z wersji zapoznawczych platformy Microsoft Azure.
Zadania szkoleniowe można przesyłać do usługi Azure Machine Learning przy użyciu projektów MLflow. Zadania można przesyłać lokalnie za pomocą śledzenia usługi Azure Machine Learning lub migrować zadania do chmury za pośrednictwem zasobów obliczeniowych usługi Azure Machine Learning.
Aby dowiedzieć się, jak przesyłać zadania szkoleniowe korzystające z projektów MLflow do obszarów roboczych usługi Azure Machine Learning w celu śledzenia, zobacz Szkolenie za pomocą projektów MLflow w usłudze Azure Machine Learning (wersja zapoznawcza).
Przykładowe notesy dla projektów MLflow
- Trenowanie za pomocą projektów MLflow na obliczeniach lokalnych.
- Trenowanie za pomocą projektów MLflow w obliczeniach usługi Azure Machine Learning.
MLflow a możliwości narzędzi klienckich usługi Azure Machine Learning
W poniższej tabeli przedstawiono operacje cyklu życia uczenia maszynowego, które są możliwe przy użyciu zestawu MLflow SDK i narzędzi klienckich usługi Azure Machine Learning.
Funkcja | MLflow SDK | Interfejs wiersza polecenia usługi Azure Machine Learning/zestaw SDK w wersji 2 | Azure Machine Learning Studio |
---|---|---|---|
Śledzenie i rejestrowanie metryk, parametrów i modeli | ✓ | ||
Pobieranie metryk, parametrów i modeli | ✓ | Można pobrać tylko artefakty i modele. | ✓ |
Przesyłanie zadań szkoleniowych | Możliwe przy użyciu projektów MLflow (wersja zapoznawcza). | ✓ | ✓ |
Przesyłanie zadań szkoleniowych przy użyciu zasobów danych usługi Azure Machine Learning | ✓ | ✓ | |
Przesyłanie zadań szkoleniowych za pomocą potoków uczenia maszynowego | ✓ | ✓ | |
Zarządzanie eksperymentami i przebiegami | ✓ | ✓ | ✓ |
Zarządzanie modelami MLflow | Niektóre operacje mogą nie być obsługiwane.1 | ✓ | ✓ |
Zarządzanie modelami innych niż MLflow | ✓ | ✓ | |
Wdrażanie modeli MLflow w usłudze Azure Machine Learning (online i batch) | Wdrażanie modeli MLflow na potrzeby wnioskowania wsadowego nie jest obecnie obsługiwane.2 | ✓ | ✓ |
Wdrażanie modeli innych niż MLflow w usłudze Azure Machine Learning | ✓ | ✓ |
1 Aby uzyskać więcej informacji, zobacz Zarządzanie rejestrami modeli w usłudze Azure Machine Learning przy użyciu biblioteki MLflow.
2 Aby uzyskać alternatywę, zobacz Wdrażanie i uruchamianie modeli MLflow w zadaniach platformy Spark.