Uczenie maszynowe przy użyciu platformy Apache Spark

Platforma Apache Spark w usłudze Azure Synapse Analytics umożliwia uczenie maszynowe z danymi big data, zapewniając możliwość uzyskiwania cennych szczegółowych informacji z dużych ilości ustrukturyzowanych, nieustrukturyzowanych i szybko poruszających się danych.

Ta sekcja zawiera omówienie i samouczki dotyczące przepływów pracy uczenia maszynowego, w tym eksploracyjne analizy danych, inżynierię cech, trenowanie modelu, ocenianie modelu i wdrażanie.

Środowisko uruchomieniowe usługi Synapse

Środowisko Uruchomieniowe usługi Synapse to wyselekcjonowane środowisko zoptymalizowane pod kątem nauki o danych i uczenia maszynowego. Środowisko Uruchomieniowe usługi Synapse oferuje szereg popularnych bibliotek open source i kompilacji w zestawie AZURE Machine Edukacja SDK domyślnie. Środowisko Uruchomieniowe usługi Synapse obejmuje również wiele bibliotek zewnętrznych, w tym PyTorch, Scikit-Learn, XGBoost i nie tylko.

Dowiedz się więcej o dostępnych bibliotekach i powiązanych wersjach, wyświetlając opublikowane środowisko uruchomieniowe usługi Azure Synapse Analytics.

Eksploracyjna analiza danych

W przypadku korzystania z platformy Apache Spark w usłudze Azure Synapse Analytics dostępne są różne wbudowane opcje ułatwiające wizualizowanie danych, w tym opcje wykresu notesu usługi Synapse, dostęp do popularnych bibliotek typu open source, takich jak Seaborn i Matplotlib, a także integracja z usługami Synapse SQL i Power BI.

Dowiedz się więcej o opcjach wizualizacji danych i analizy danych, przeglądając artykuł dotyczący wizualizowania danych przy użyciu notesów usługi Azure Synapse Notebooks.

Inżynieria cech

Domyślnie środowisko Uruchomieniowe usługi Synapse zawiera zestaw bibliotek, które są często używane do inżynierii cech. W przypadku dużych zestawów danych można używać narzędzi Spark SQL, MLlib i Koalas do inżynierii cech. W przypadku mniejszych zestawów danych bibliotek innych firm, takich jak Numpy, Pandas i Scikit-learn, udostępniają również przydatne metody dla tych scenariuszy.

Szkolenie modeli

Istnieje kilka opcji trenowania modeli uczenia maszynowego przy użyciu platformy Azure Spark w usłudze Azure Synapse Analytics: Apache Spark MLlib, Azure Machine Edukacja i różnych innych bibliotek typu open source.

Dowiedz się więcej o możliwościach uczenia maszynowego, przeglądając artykuł dotyczący trenowania modeli w usłudze Azure Synapse Analytics.

SparkML i MLlib

Możliwości obliczeniowe rozproszone w pamięci platformy Spark sprawiają, że jest to dobry wybór dla algorytmów iteracyjnych używanych w obliczeniach uczenia maszynowego i grafów. spark.ml Udostępnia jednolity zestaw interfejsów API wysokiego poziomu, które ułatwiają użytkownikom tworzenie i dostrajanie potoków uczenia maszynowego. Aby dowiedzieć się więcej na temat spark.mlprogramu , możesz zapoznać się z przewodnikiem programowania apache Spark ML.

Usługa Azure Machine Edukacja zautomatyzowanego uczenia maszynowego (przestarzałe)

Usługa Azure Machine Edukacja zautomatyzowane uczenie maszynowe (zautomatyzowane uczenie maszynowe) pomaga zautomatyzować proces tworzenia modeli uczenia maszynowego. Umożliwia ona analitykom danych, analitykom i deweloperom tworzenie modeli uczenia maszynowego o wysokiej skali, wydajności i produktywności przy jednoczesnym utrzymaniu jakości modelu. Składniki do uruchamiania zestawu Azure Machine Edukacja zautomatyzowanego zestawu SDK uczenia maszynowego są wbudowane bezpośrednio w środowisko uruchomieniowe usługi Synapse.

Ostrzeżenie

  • Od 29 września 2023 r. usługa Azure Synapse przestanie obsługiwać oficjalne środowiska uruchomieniowe platformy Spark 2.4. Po 29 września 2023 r. nie będziemy zwracać się do żadnych biletów pomocy technicznej związanych z platformą Spark 2.4. W przypadku usterek lub poprawek zabezpieczeń platformy Spark 2.4 nie będzie dostępny potok wydania. Użycie platformy Spark 2.4 po dacie redukcji pomocy technicznej jest podejmowane na własne ryzyko. Zdecydowanie odradzamy jego dalsze wykorzystanie ze względu na potencjalne obawy dotyczące zabezpieczeń i funkcjonalności.
  • W ramach procesu wycofywania dla platformy Apache Spark 2.4 chcemy powiadomić Cię, że rozwiązanie AutoML w usłudze Azure Synapse Analytics również będzie przestarzałe. Obejmuje to zarówno interfejs niskiego kodu, jak i interfejsy API używane do tworzenia wersji próbnych rozwiązania AutoML za pomocą kodu.
  • Należy pamiętać, że funkcje rozwiązania AutoML były dostępne wyłącznie za pośrednictwem środowiska uruchomieniowego platformy Spark 2.4.
  • W przypadku klientów, którzy chcą nadal korzystać z funkcji automatycznego uczenia maszynowego, zalecamy zapisanie danych na koncie usługi Azure Data Lake Storage Gen2 (ADLSg2). Z tego miejsca możesz bezproblemowo uzyskać dostęp do środowiska rozwiązania AutoML za pośrednictwem usługi Azure Machine Edukacja (AzureML). Więcej informacji na temat tego obejścia jest dostępne tutaj.

Biblioteki open source

Każda pula platformy Apache Spark w usłudze Azure Synapse Analytics zawiera zestaw wstępnie załadowanych i popularnych bibliotek uczenia maszynowego. Niektóre z odpowiednich bibliotek uczenia maszynowego, które są domyślnie dołączone:

  • Scikit-learn to jedna z najpopularniejszych bibliotek uczenia maszynowego z jednym węzłem dla klasycznych algorytmów uczenia maszynowego. Biblioteka Scikit-learn obsługuje większość nadzorowanych i nienadzorowanych algorytmów uczenia, a także może być używana do wyszukiwania danych i analizy danych.

  • XGBoost to popularna biblioteka uczenia maszynowego zawierająca zoptymalizowane algorytmy do trenowania drzew decyzyjnych i lasów losowych.

  • Biblioteka PyTorch i TensorFlow to zaawansowane biblioteki uczenia głębokiego języka Python. W puli Platformy Apache Spark w usłudze Azure Synapse Analytics możesz użyć tych bibliotek do tworzenia modeli z jedną maszyną, ustawiając liczbę funkcji wykonawczych w puli na zero. Mimo że platforma Apache Spark nie działa w ramach tej konfiguracji, jest to prosty i ekonomiczny sposób tworzenia modeli z jedną maszyną.

Śledzenie opracowywania modeli

MLFlow to biblioteka typu open source do zarządzania cyklem życia eksperymentów uczenia maszynowego. MlFlow Tracking to składnik biblioteki MLflow, który rejestruje i śledzi metryki przebiegu trenowania i artefakty modelu. Aby dowiedzieć się więcej o tym, jak można używać rozwiązania MLFlow Tracking za pośrednictwem usług Azure Synapse Analytics i Azure Machine Edukacja, odwiedź ten samouczek, aby dowiedzieć się, jak używać rozwiązania MLFlow.

Ocenianie modelu

Ocenianie modelu (wnioskowanie) to faza, w której model jest używany do przewidywania. W przypadku oceniania modelu przy użyciu języka SparkML lub MLLib można użyć natywnych metod platformy Spark do wnioskowania bezpośrednio na ramce danych spark. W przypadku innych bibliotek i typów modeli typu open source można również utworzyć funkcję UDF platformy Spark, aby skalować wnioskowanie w poziomie na dużych zestawach danych. W przypadku mniejszych zestawów danych można również użyć metod wnioskowania modelu natywnego udostępnianych przez bibliotekę.

Rejestrowanie i obsługa modeli

Zarejestrowanie modelu umożliwia przechowywanie, przechowywanie wersji i śledzenie metadanych dotyczących modeli w obszarze roboczym. Po zakończeniu trenowania modelu możesz zarejestrować model w rejestrze modeli usługi Azure Machine Edukacja. Po zarejestrowaniu modele ONNX mogą również służyć do wzbogacania danych przechowywanych w dedykowanych pulach SQL.

Następne kroki

Aby rozpocząć pracę z uczeniem maszynowym w usłudze Azure Synapse Analytics, zapoznaj się z następującymi samouczkami: