Co to jest Azure Machine Learning?

Azure Machine Learning to usługa w chmurze służąca do przyspieszania cyklu życia projektu uczenia maszynowego (ML) i zarządzania nim. Specjaliści ds. uczenia maszynowego, analitycy danych i inżynierowie mogą używać ich w codziennych przepływach pracy do trenowania i wdrażania modeli oraz zarządzania operacjami uczenia maszynowego (MLOps).

Model można utworzyć w usłudze Machine Learning lub użyć modelu utworzonego na podstawie platformy typu open source, takiej jak PyTorch, TensorFlow lub scikit-learn. Narzędzia MLOps ułatwiają monitorowanie, ponowne trenowanie i ponowne wdrażanie modeli.

Napiwek

Bezpłatna wersja próbna! Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto. Wypróbuj bezpłatną lub płatną wersję usługi Azure Machine Learning. Możesz uzyskać środki do wydania na usługi platformy Azure. Nawet po ich wyczerpaniu możesz zachować konto i korzystać z bezpłatnych usług platformy Azure. Karta kredytowa nie zostanie obciążona, chyba że jawnie zmienisz ustawienia i poprosisz o jej obciążenie.

Dla kogo jest usługa Azure Machine Learning?

Uczenie maszynowe jest przeznaczone dla osób i zespołów wdrażających metodykę MLOps w organizacji w celu wprowadzenia modeli uczenia maszynowego do środowiska produkcyjnego w bezpiecznym i podlegającym inspekcji środowisku produkcyjnym.

Analitycy danych i inżynierowie uczenia maszynowego mogą używać narzędzi do przyspieszania i automatyzowania codziennych przepływów pracy. Deweloperzy aplikacji mogą używać narzędzi do integrowania modeli z aplikacjami lub usługami. Deweloperzy platform mogą używać niezawodnego zestawu narzędzi wspieranych przez trwałe interfejsy API usługi Azure Resource Manager do tworzenia zaawansowanych narzędzi uczenia maszynowego.

Przedsiębiorstwa działające w chmurze platformy Microsoft Azure mogą używać znanych zabezpieczeń i kontroli dostępu opartej na rolach dla infrastruktury. Projekt można skonfigurować tak, aby uniemożliwić dostęp do chronionych danych i wybrać operacje.

Produktywność dla wszystkich użytkowników w zespole

Projekty uczenia maszynowego często wymagają zespołu z zróżnicowanym zestawem umiejętności do tworzenia i konserwacji. Usługa Machine Learning ma narzędzia, które ułatwiają:

  • Współpraca z zespołem za pośrednictwem udostępnionych notesów, zasobów obliczeniowych, bezserwerowych zasobów obliczeniowych, danych i środowisk

  • Opracowywanie modeli w celu zapewnienia sprawiedliwości i możliwości wyjaśnienia, śledzenia i inspekcji w celu spełnienia wymagań dotyczących pochodzenia i zgodności inspekcji

  • Szybkie i łatwe wdrażanie modeli uczenia maszynowego na dużą skalę oraz efektywne zarządzanie nimi za pomocą metodyki MLOps

  • Uruchamianie obciążeń uczenia maszynowego w dowolnym miejscu z wbudowanym ładem, zabezpieczeniami i zgodnością

Narzędzia platformy zgodne z wymaganiami

Każda osoba w zespole uczenia maszynowego może użyć swoich preferowanych narzędzi, aby wykonać zadanie. Niezależnie od tego, czy uruchamiasz szybkie eksperymenty, dostrajanie hiperparametrów, potoki konstrukcyjne, czy zarządzasz wnioskowaniami, możesz użyć znanych interfejsów, takich jak:

W miarę udoskonalania modelu i współpracy z innymi osobami w pozostałej części cyklu programowania usługi Machine Learning możesz udostępniać i znajdować zasoby, zasoby i metryki dla projektów w interfejsie użytkownika usługi Machine Learning Studio.

Studio

Usługa Machine Learning Studio oferuje wiele środowisk tworzenia w zależności od typu projektu i poziomu poprzedniego środowiska uczenia maszynowego bez konieczności instalowania niczego.

  • Notesy: pisanie i uruchamianie własnego kodu na zarządzanych serwerach Jupyter Notebook, które są bezpośrednio zintegrowane w programie Studio.

  • Wizualizowanie metryk uruchamiania: analizowanie i optymalizowanie eksperymentów za pomocą wizualizacji.

    Zrzut ekranu przedstawiający metryki przebiegu trenowania.

  • Projektant usługi Azure Machine Learning: użyj projektanta do trenowania i wdrażania modeli uczenia maszynowego bez konieczności pisania kodu. Przeciągnij i upuść zestawy danych i składniki, aby utworzyć potoki uczenia maszynowego.

  • Interfejs użytkownika zautomatyzowanego uczenia maszynowego: dowiedz się, jak tworzyć zautomatyzowane eksperymenty uczenia maszynowego za pomocą łatwego w użyciu interfejsu.

  • Etykietowanie danych: użyj etykietowania danych usługi Machine Learning, aby efektywnie koordynować projekty etykietowania obrazów lub etykietowania tekstu.

Gotowość i bezpieczeństwo przedsiębiorstwa

Usługa Machine Learning integruje się z platformą w chmurze platformy Azure w celu dodania zabezpieczeń do projektów uczenia maszynowego.

Integracje zabezpieczeń obejmują:

  • Sieci wirtualne platformy Azure z sieciowymi grupami zabezpieczeń.
  • Usługa Azure Key Vault, w której można zapisywać wpisy tajne zabezpieczeń, takie jak informacje o dostępie dla kont magazynu.
  • Usługa Azure Container Registry skonfigurowana za siecią wirtualną.

Aby uzyskać więcej informacji, zobacz Samouczek: konfigurowanie bezpiecznego obszaru roboczego.

Integracje platformy Azure dla kompletnych rozwiązań

Inne integracje z usługami platformy Azure obsługują projekt uczenia maszynowego od końca do końca. To na przykład:

  • Usługa Azure Synapse Analytics, która służy do przetwarzania i przesyłania strumieniowego danych za pomocą platformy Spark.
  • Usługa Azure Arc, w której można uruchamiać usługi platformy Azure w środowisku Kubernetes.
  • Opcje magazynu i bazy danych, takie jak Azure SQL Database i Azure Blob Storage.
  • aplikacja systemu Azure Service, której można użyć do wdrażania aplikacji opartych na uczeniu maszynowym i zarządzania nimi.
  • Usługa Microsoft Purview, która umożliwia odnajdywanie i katalogowania zasobów danych w całej organizacji.

Ważne

Usługa Azure Machine Learning nie przechowuje ani nie przetwarza danych poza regionem, w którym wdrażasz.

Przepływ pracy projektu uczenia maszynowego

Zazwyczaj modele są opracowywane w ramach projektu z celem i celami. Projekty często obejmują więcej niż jedną osobę. Podczas eksperymentowania z danymi, algorytmami i modelami programowanie jest iteracyjne.

Cykl życia projektu

Cykl życia projektu może się różnić w zależności od projektu, ale często wygląda jak ten diagram.

Diagram przedstawiający cykl życia projektu uczenia maszynowego

Obszar roboczy organizuje projekt i umożliwia współpracę wielu użytkowników pracujących w kierunku wspólnego celu. Użytkownicy w obszarze roboczym mogą łatwo udostępniać wyniki swoich przebiegów z eksperymentowania w interfejsie użytkownika programu Studio. Mogą też używać zasobów w wersji dla zadań, takich jak środowiska i odwołania do magazynu.

Aby uzyskać więcej informacji, zobacz Zarządzanie obszarami roboczymi usługi Azure Machine Learning.

Gdy projekt jest gotowy do operacji, praca użytkowników może zostać zautomatyzowana w potoku uczenia maszynowego i wyzwolona zgodnie z harmonogramem lub żądaniem HTTPS.

Modele można wdrażać w zarządzanym rozwiązaniu wnioskowania, zarówno w przypadku wdrożeń w czasie rzeczywistym, jak i wsadowych, abstrakcji zarządzania infrastrukturą zwykle wymaganego do wdrażania modeli.

Szkolenie modeli

W usłudze Azure Machine Learning możesz uruchomić skrypt szkoleniowy w chmurze lub utworzyć model od podstaw. Klienci często korzystają z modeli utworzonych i wytrenowanych w strukturach typu open source, aby umożliwić im operacjonalizacja w chmurze.

Otwartość i międzyoperacyjność

Analitycy danych mogą używać modeli w usłudze Azure Machine Learning utworzonych w typowych strukturach języka Python, takich jak:

  • PyTorch
  • TensorFlow
  • scikit-learn
  • XGBoost
  • LightGBM

Obsługiwane są również inne języki i struktury:

  • R
  • .NET

Aby uzyskać więcej informacji, zobacz Integracja typu open source z usługą Azure Machine Learning.

Automatyczne wybieranie cech i algorytmów

W powtarzalnym, czasochłonnym procesie, w klasycznym uczeniu maszynowym, analitycy danych używają wcześniejszego doświadczenia i intuicji do wybierania odpowiednich cech danych i algorytmu do trenowania. Zautomatyzowane uczenie maszynowe (AutoML) przyspiesza ten proces. Można go używać za pomocą interfejsu użytkownika usługi Machine Learning Studio lub zestawu SDK języka Python.

Aby uzyskać więcej informacji, zobacz Co to jest zautomatyzowane uczenie maszynowe?.

Optymalizacja hiperparametrów

Optymalizacja hiperparametrów lub dostrajanie hiperparametrów może być żmudnym zadaniem. Usługa Machine Learning może zautomatyzować to zadanie dla dowolnych sparametryzowanych poleceń z niewielką modyfikacją definicji zadania. Wyniki są wizualizowane w studio.

Aby uzyskać więcej informacji, zobacz Dostosowywanie hiperparametrów.

Trenowanie rozproszone z wieloma węzłami

Efektywność trenowania na potrzeby uczenia głębokiego, a czasami klasyczne zadania trenowania uczenia maszynowego mogą zostać znacząco ulepszone za pośrednictwem trenowania rozproszonego w wielu węzłach. Klastry obliczeniowe usługi Azure Machine Learning i bezserwerowe zasoby obliczeniowe oferują najnowsze opcje procesora GPU.

Obsługiwane za pośrednictwem usługi Azure Machine Learning Kubernetes, klastrów obliczeniowych usługi Azure Machine Learning i bezserwerowych obliczeń:

  • PyTorch
  • TensorFlow
  • MPI

Możesz użyć dystrybucji MPI dla struktury Horovod lub niestandardowej logiki wielowęźleowej. Platforma Apache Spark jest obsługiwana za pośrednictwem bezserwerowych obliczeń Spark i dołączonej puli platformy Spark usługi Synapse Spark, która korzysta z klastrów Spark usługi Azure Synapse Analytics.

Aby uzyskać więcej informacji, zobacz Trenowanie rozproszone za pomocą usługi Azure Machine Learning.

Żenujące trenowanie równoległe

Skalowanie projektu uczenia maszynowego może wymagać skalowania żenującego trenowania modelu równoległego. Ten wzorzec jest typowy dla scenariuszy, takich jak zapotrzebowanie na prognozowanie, gdzie model może być trenowany dla wielu sklepów.

Wdrażanie modeli

Aby przenieść model do środowiska produkcyjnego, należy wdrożyć model. Zarządzane punkty końcowe usługi Azure Machine Learning określają wymaganą infrastrukturę dla oceniania modelu wsadowego lub w czasie rzeczywistym (online) (wnioskowanie).

Ocenianie w czasie rzeczywistym i wsadowe (wnioskowanie)

Ocenianie wsadowe lub wnioskowanie wsadowe polega na wywołaniu punktu końcowego z odwołaniem do danych. Punkt końcowy wsadowy uruchamia zadania asynchronicznie w celu równoległego przetwarzania danych w klastrach obliczeniowych i przechowywania danych w celu dalszej analizy.

Ocenianie w czasie rzeczywistym lub wnioskowanie online polega na wywoływaniu punktu końcowego z co najmniej jednym wdrożeniem modelu i odbieraniu odpowiedzi niemal w czasie rzeczywistym za pośrednictwem protokołu HTTPS. Ruch może być podzielony na wiele wdrożeń, co pozwala na testowanie nowych wersji modelu przez przekierowanie pewnej ilości ruchu początkowo i zwiększenie po ustanowieniu nowego modelu.

Aby uzyskać więcej informacji, zobacz:

Metodyka MLOps: Metodyka DevOps na potrzeby uczenia maszynowego

Metodyka DevOps dla modeli uczenia maszynowego, często nazywana metodyką MLOps, to proces tworzenia modeli w środowisku produkcyjnym. Cykl życia modelu od trenowania do wdrożenia musi być możliwy do inspekcji, jeśli nie można go odtworzyć.

Cykl życia modelu uczenia maszynowego

Diagram przedstawiający cykl życia modelu uczenia maszynowego * MLOps.

Dowiedz się więcej o metodyce MLOps w usłudze Azure Machine Learning.

Integracje umożliwiające mlops

Uczenie maszynowe jest tworzone z myślą o cyklu życia modelu. Możesz przeprowadzić inspekcję cyklu życia modelu w dół do określonego zatwierdzenia i środowiska.

Oto niektóre kluczowe funkcje umożliwiające metodyce MLOps:

  • git integracja.
  • Integracja platformy MLflow.
  • Planowanie potoków uczenia maszynowego.
  • Integracja usługi Azure Event Grid dla wyzwalaczy niestandardowych.
  • Łatwość użycia z narzędziami ciągłej integracji/ciągłego wdrażania, takimi jak GitHub Actions lub Azure DevOps.

Usługa Machine Learning obejmuje również funkcje monitorowania i inspekcji:

  • Artefakty zadań, takie jak migawki kodu, dzienniki i inne dane wyjściowe.
  • Pochodzenie między zadaniami i zasobami, takimi jak kontenery, dane i zasoby obliczeniowe.

Jeśli używasz platformy Apache Airflow, pakiet airflow-provider-azure-machinelearning jest dostawcą, który umożliwia przesyłanie przepływów pracy do usługi Azure Machine Learning z platformy Apache AirFlow.

Następne kroki

Rozpocznij korzystanie z usługi Azure Machine Learning: