Udostępnij za pośrednictwem


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)

MLflow to platforma typu open source przeznaczona do zarządzania pełnym cyklem życia uczenia maszynowego. Możliwość trenowania i udostępniania modeli na różnych platformach umożliwia korzystanie ze spójnego zestawu narzędzi niezależnie od tego, gdzie eksperymenty są uruchomione: czy lokalnie na komputerze, na zdalnym obiekcie docelowym obliczeniowym, na maszynie wirtualnej, czy w wystąpieniu obliczeniowym usługi Azure Machine Learning.

Obszary robocze usługi Azure Machine Learning są zgodne z platformą MLflow, co oznacza, że można używać obszarów roboczych usługi Azure Machine Learning w taki sam sposób, jak w przypadku korzystania z serwera MLflow. Ta zgodność ma następujące zalety:

  • Usługa Azure Machine Learning nie hostuje wystąpień serwera MLflow pod maską; zamiast tego obszar roboczy może mówić o języku interfejsu API MLflow.
  • Obszary robocze usługi Azure Machine Learning można używać jako serwera śledzenia dla dowolnego kodu MLflow, niezależnie od tego, czy działa on w usłudze Azure Machine Learning, czy nie. 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 żadnych zmian.

Napiwek

W przeciwieństwie do zestawu Azure Machine Learning SDK w wersji 1 nie ma funkcji rejestrowania w zestawie SDK w wersji 2. Zalecamy używanie biblioteki MLflow do rejestrowania, aby procedury trenowania nie są niezależne od chmury i przenośne — usuwając wszelkie zależności, które twój kod ma w usłudze Azure Machine Learning.

Śledzenie 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 wykonywane przy użyciu biblioteki MLflow jest zmaterializowane w obszarze roboczym, nad którym pracujesz. Aby dowiedzieć się więcej na temat konfigurowania eksperymentów w celu używania biblioteki MLflow do śledzenia eksperymentów i procedur szkoleniowych, zobacz Log metrics, parameters i files with MLflow (Metryki dzienników, parametry i pliki za pomocą biblioteki MLflow). Możesz również użyć biblioteki MLflow do wykonywania zapytań i porównywania eksperymentów i przebiegów.

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 zapewnia scentralizowaną, bezpieczną i skalowalną lokalizację do przechowywania metryk trenowania i modeli.

Korzystanie z platformy MLflow w usłudze Azure Machine Learning obejmuje następujące możliwości:

Przykładowe notesy

Ś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 przy użyciu zestawu MLflow R SDK. Zamiast tego użyj interfejsu wiersza polecenia usługi Azure Machine Learning lub usługi Azure Machine Learning Studio do rejestracji modeli i zarządzania nimi.

Aby dowiedzieć się więcej na temat korzystania z klienta śledzenia MLflow w usłudze Azure Machine Learning, zapoznaj się z przykładami 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.
  • Artefakty i modele nie mogą być śledzone przy użyciu zestawu SDK języka Java MLflow. Zamiast tego użyj Outputs folderu w zadaniach wraz z mlflow.save_model metodą , aby zapisać modele (lub artefakty), które chcesz przechwycić.

Aby dowiedzieć się więcej na temat korzystania z klienta śledzenia MLflow w usłudze Azure Machine Learning, zapoznaj się z przykładem języka Java, który używa klienta śledzenia MLflow z usługą Azure Machine Learning.

Rejestry modeli za pomocą biblioteki MLflow

Usługa Azure Machine Learning obsługuje rozwiązanie MLflow do zarządzania modelami. Ta obsługa stanowi wygodny sposób obsługi całego cyklu życia modelu dla użytkowników, którzy znają klienta MLflow.

Aby dowiedzieć się więcej na temat zarządzania modelami przy użyciu interfejsu API platformy MLflow w usłudze Azure Machine Learning, zobacz Zarządzanie rejestrami modeli w usłudze Azure Machine Learning przy użyciu biblioteki MLflow.

Przykładowy notes

Wdrażanie modelu za pomocą biblioteki MLflow

Modele MLflow można wdrażać w usłudze Azure Machine Learning i korzystać z ulepszonego środowiska podczas korzystania z modeli MLflow. 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. Wdrażanie jest obsługiwane przy użyciu zestawu MLflow SDK, interfejsu wiersza polecenia usługi Azure Machine Learning, zestawu Azure Machine Learning SDK dla języka Python lub usługi Azure Machine Learning Studio.

Aby dowiedzieć się więcej 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

Trenowanie przy użyciu projektów MLflow (wersja zapoznawcza)

Ważne

Elementy oznaczone (wersja zapoznawcza) w tym artykule są obecnie dostępne w publicznej wersji zapoznawczej. Wersja zapoznawcza jest udostępniana bez umowy dotyczącej poziomu usług i nie jest zalecana 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 (wersja zapoznawcza). 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 za pomocą projektów MLflow korzystających z obszarów roboczych usługi Azure Machine Learning do śledzenia, zobacz Trenowanie modeli uczenia maszynowego przy użyciu projektów MLflow i usługi Azure Machine Learning.

Przykładowe notesy

Zestaw MLflow SDK, możliwości usługi Azure Machine Learning w wersji 2 i usługi Azure Machine Learning Studio

W poniższej tabeli przedstawiono operacje, które są możliwe, przy użyciu każdego z narzędzi klienckich dostępnych w cyklu życia uczenia maszynowego.

Funkcja MLflow SDK Interfejs wiersza polecenia/zestaw SDK usługi Azure Machine Learning Azure Machine Learning Studio
Śledzenie i rejestrowanie metryk, parametrów i modeli
Pobieranie metryk, parametrów i modeli 1
Przesyłanie zadań szkoleniowych 2
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 3
Zarządzanie modelami innych niż MLflow
Wdrażanie modeli MLflow w usłudze Azure Machine Learning (online i batch) 4
Wdrażanie modeli innych niż MLflow w usłudze Azure Machine Learning

Uwaga